summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/mcp750/bootloader/Makefile.in
blob: 170539cfa3b5585eab2137f9cf64b2aba8bd6ce6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#
#  $Id$
#

@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = ../../../..
subdir = libbsp/powerpc/mcp750/bootloader

RTEMS_ROOT = @RTEMS_ROOT@
PROJECT_ROOT = @PROJECT_ROOT@

VPATH = @srcdir@:@srcdir@/../../../shared:@srcdir@/../console

# C source names, if any, go here -- minus the .c
C_PIECES = misc pci zlib mm em86 polled_io lib
C_FILES = $(C_PIECES:%=%.c)
C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)

H_FILES = bootldr.h zlib.h pci.h

# Assembly source names, if any, go here -- minus the .s
S_PIECES = head exception em86real
S_FILES = $(S_PIECES:%=%.S)
S_O_FILES = $(S_FILES:%.S=${ARCH}/%.o)

SRCS = $(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
OBJS = $(S_O_FILES) $(C_O_FILES)

include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg

INSTALL_CHANGE = @INSTALL_CHANGE@

CC_PIECES =
CC_FILES = $(CC_PIECES:%=%.cc)
CC_O_FILES = $(CC_PIECES:%=${ARCH}/%.o)

#
# (OPTIONAL) Add local stuff here using +=
#

DEFINES +=
CPPFLAGS += -D__BOOT__ -DDEBUG
CFLAGS += -msoft-float -mstrict-align -fno-builtin -Wall -mmultiple -mstring \
    -O2 -fomit-frame-pointer -mrelocatable -ffixed-r13 -mno-sdata -D__BOOT__ \
    -DDEBUG

ASFLAGS += -mrelocatable

LD_PATHS +=
LD_LIBS +=
LDFLAGS +=

IMAGES : = rtems.gz

#
# Add your list of files to delete here.  The config files
#  already know how to delete some stuff, so you may want

#  to just run 'make clean' first to see what gets missed.
#  'make clobber' already includes 'make clean'
#

CLEAN_ADDITIONS += bootloader reloc.O
CLOBBER_ADDITIONS += $(IMAGES)

#
# CAUTION :
#
# As we use very specific compilation options in this directory
# we shall not use any other code. This includes the newlib libc.a
# as well as other code located in .o files in mcp750 directory.
#
# NEVER remove lib.c. You have been warned...
#
bootloader : ${OBJS} $(IMAGES) $(BINARY_LOADED) ppcboot.lds
	$(LD) -o bootloader $(OBJS) --just-symbols=$(BINARY_LOADED) \
	-b binary $(IMAGES) -T @srcdir@/ppcboot.lds \
	 -Map bootloader.map

check_unresolved : ${OBJS}
	$(LD) -r -o reloc.O ${OBJS}
	$(NM) reloc.O |grep ' U '
	echo "Every symbol listed should be defined in @srcdir@/ppcboot.lds"

rtems.gz: $(BINARY_LOADED)
	$(OBJCOPY)  $(BINARY_LOADED) rtems -O binary -R .comment -S 
	gzip -vf9 rtems
	rm -f rtems

all: ${ARCH} $(SRCS) ${OBJ}

Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
	cd $(top_builddir) \
	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status