[df49c60] | 1 | ## |
---|
[4e36a2f] | 2 | ## $Id$ |
---|
[df49c60] | 3 | ## |
---|
[4e36a2f] | 4 | |
---|
[d497b74] | 5 | ## NOTE: This Makefile.am applies automake compilation rules and does not |
---|
[1ea5087] | 6 | ## apply RTEMS's compilation rules. |
---|
[4e36a2f] | 7 | |
---|
[6d3d6a0e] | 8 | AUTOMAKE_OPTIONS = no-exeext |
---|
[4e36a2f] | 9 | |
---|
[1ea5087] | 10 | VPATH = @srcdir@:@srcdir@/../../shared/bootloader:@srcdir@/../../shared/console |
---|
[0589f0b] | 11 | |
---|
[2dd806a6] | 12 | noinst_PROGRAMS = bootloader |
---|
[4e36a2f] | 13 | |
---|
[58507208] | 14 | ## IMPORTANT: head.S must be first, T. Straumann 12/17/2001 |
---|
[2dd806a6] | 15 | bootloader_SOURCES = head.S exception.S em86real.S |
---|
| 16 | bootloader_SOURCES += misc.c pci.c zlib.c mm.c em86.c polled_io.c lib.c |
---|
| 17 | bootloader_SOURCES += bootldr.h zlib.h pci.h keyboard.h |
---|
[4e36a2f] | 18 | |
---|
[1ea5087] | 19 | NM = @NM@ |
---|
| 20 | LD = @LD@ |
---|
| 21 | |
---|
| 22 | # ---- |
---|
| 23 | DEFAULT_INCLUDES = |
---|
| 24 | |
---|
[edd688e] | 25 | # Remove references to EABI when compiling bootloader |
---|
| 26 | BOOTLOADER_CPU_FLAGS=$(subst -msdata=eabi,,$(subst -meabi,,$(CPU_CFLAGS))) |
---|
[1ea5087] | 27 | AM_CPPFLAGS = -D__BOOT__ -DDEBUG |
---|
[f42a7891] | 28 | AM_CFLAGS = $(GCC_SPECS) -specs bsp_specs -qrtems -mrelocatable -msoft-float \ |
---|
| 29 | -mstrict-align -fno-builtin -Wall -mmultiple -mstring -O2 \ |
---|
| 30 | -fomit-frame-pointer -ffixed-r13 -mno-sdata $(BOOTLOADER_CPU_CFLAGS) |
---|
| 31 | AM_CCASFLAGS = $(AM_CPPFLAGS) $(GCC_SPECS) -specs bsp_specs -qrtems \ |
---|
| 32 | -mrelocatable -DASM $(BOOTLOADER_CPU_CFLAGS) |
---|
[4e36a2f] | 33 | |
---|
| 34 | # |
---|
| 35 | # CAUTION : |
---|
| 36 | # |
---|
| 37 | # As we use very specific compilation options in this directory |
---|
| 38 | # we shall not use any other code. This includes the newlib libc.a |
---|
[dc17e8ed] | 39 | # as well as other code located in .$(OBJEXT) files in mcp750 directory. |
---|
[4e36a2f] | 40 | # |
---|
| 41 | # NEVER remove lib.c. You have been warned... |
---|
| 42 | # |
---|
[2dd806a6] | 43 | bootloader$(EXEEXT): $(bootloader_OBJECTS) |
---|
| 44 | $(LD) -r -o $@ $(bootloader_OBJECTS) |
---|
[1ea5087] | 45 | $(NM) $@ | grep ' U ' |
---|
| 46 | @echo "Every symbol listed should be defined in @srcdir@/ppcboot.lds" |
---|
[2dd806a6] | 47 | bootloader.$(OBJEXT): bootloader$(EXEEXT) |
---|
| 48 | cp $< $@ |
---|
[1ea5087] | 49 | |
---|
[84f0cfb] | 50 | project_lib_DATA = bootloader.$(OBJEXT) |
---|
| 51 | project_lib_DATA += ../../shared/bootloader/ppcboot.lds |
---|
[1ea5087] | 52 | |
---|
| 53 | # FIXME: Tmp-install stuff to make mcp750.cfg's make-exe happy. |
---|
[d497b74] | 54 | # As mcp750.cfg's make-exe doesn't work outside of the source-tree. |
---|
| 55 | # We might consider to use this directory directly for in-source-tree |
---|
[1ea5087] | 56 | # building, instead. |
---|
[4e36a2f] | 57 | |
---|
[1ea5087] | 58 | all-local: $(TMPINSTALL_FILES) |
---|
[4e36a2f] | 59 | |
---|
[84f0cfb] | 60 | TMPINSTALL_FILES = |
---|
| 61 | |
---|
[f2bd16e] | 62 | ${PROJECT_RELEASE}/lib/$(dirstamp): |
---|
| 63 | @$(mkdir_p) ${PROJECT_RELEASE}/lib |
---|
| 64 | @: > ${PROJECT_RELEASE}/lib/$(dirstamp) |
---|
| 65 | |
---|
[84f0cfb] | 66 | ${PROJECT_RELEASE}/lib/bootloader.$(OBJEXT): bootloader.$(OBJEXT) ${PROJECT_RELEASE}/lib/$(dirstamp) |
---|
| 67 | $(INSTALL_DATA) $< ${PROJECT_RELEASE}/lib/bootloader.$(OBJEXT) |
---|
| 68 | TMPINSTALL_FILES += ${PROJECT_RELEASE}/lib/bootloader.$(OBJEXT) |
---|
| 69 | |
---|
| 70 | ${PROJECT_RELEASE}/lib/ppcboot.lds: ../../shared/bootloader/ppcboot.lds ${PROJECT_RELEASE}/lib/$(dirstamp) |
---|
| 71 | $(INSTALL_DATA) $< ${PROJECT_RELEASE}/lib/ppcboot.lds |
---|
| 72 | TMPINSTALL_FILES += ${PROJECT_RELEASE}/lib/ppcboot.lds |
---|
| 73 | |
---|
[6badcc2] | 74 | include $(top_srcdir)/../../../../automake/local.am |
---|