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