| uses CONFIG_SMP |
| uses CONFIG_PRECOMPRESSED_PAYLOAD |
| uses CONFIG_USE_INIT |
| uses HAVE_FAILOVER_BOOT |
| uses USE_FAILOVER_IMAGE |
| uses USE_FALLBACK_IMAGE |
| |
| init init/crt0.S.lb |
| |
| if HAVE_FAILOVER_BOOT |
| if USE_FAILOVER_IMAGE |
| ldscript init/ldscript_failover.lb |
| else |
| ldscript init/ldscript.lb |
| end |
| else |
| if USE_FALLBACK_IMAGE |
| ldscript init/ldscript_fallback.lb |
| else |
| ldscript init/ldscript.lb |
| end |
| end |
| |
| makerule all |
| depends "linuxbios.rom" |
| end |
| |
| makerule floppy |
| depends "all" |
| action "mcopy -o linuxbios.rom a:" |
| end |
| |
| makerule nrv2b |
| depends "$(TOP)/util/nrv2b/nrv2b.c" |
| action "$(HOSTCC) -O2 -DENCODE -DDECODE -DMAIN -DVERBOSE -DNDEBUG -DBITSIZE=32 -DENDIAN=0 $< -o $@" |
| end |
| |
| makerule payload |
| depends "$(PAYLOAD)" |
| action "cp $< $@" |
| end |
| |
| makerule payload.nrv2b |
| depends "$(PAYLOAD) nrv2b" |
| action "./nrv2b e $(PAYLOAD) $@" |
| end |
| |
| # unlike nrv2b, lzma is a huge build mess. If they want lzma, they have to have built it |
| makerule payload.lzma |
| depends "$(PAYLOAD) " |
| action "lzma e $(PAYLOAD) $@" |
| end |
| |
| |
| # this one example shows the mess that has occurred. People are now mixing |
| # conditional if in the make style with if in the config language style. |
| # The -1 is linux standard. |
| # I don't much like it but it is the mode nowadays. So linuxbios will change |
| # what a mess. -- RGM |
| # catch the case where there is no compression |
| makedefine PAYLOAD-1:=payload |
| |
| # match the case where a compression type is specified. |
| makedefine PAYLOAD-$(CONFIG_COMPRESSED_PAYLOAD_NRV2B):=payload.nrv2b |
| makedefine PAYLOAD-$(CONFIG_COMPRESSED_PAYLOAD_LZMA):=payload.lzma |
| |
| # catch the case where there is precompression. Yes, this bites. |
| if CONFIG_PRECOMPRESSED_PAYLOAD |
| makedefine PAYLOAD-1:=payload |
| end |
| |
| if USE_FAILOVER_IMAGE |
| makedefine LINUXBIOS_APC:= |
| makedefine LINUXBIOS_RAM_ROM:= |
| |
| makerule linuxbios.rom |
| depends "linuxbios.strip" |
| action "cp $< $@" |
| end |
| else |
| makerule linuxbios.rom |
| depends "linuxbios.strip buildrom $(PAYLOAD-1)" |
| action "./buildrom $< $@ $(PAYLOAD-1) $(ROM_IMAGE_SIZE) $(ROM_SECTION_SIZE)" |
| end |
| end |
| |
| makerule crt0.S |
| depends "$(CRT0)" |
| action "cp $< $@" |
| end |
| |
| addaction clean "rm -f romimage payload.*" |
| |
| if CONFIG_USE_INIT |
| makerule init.o |
| depends "$(INIT-OBJECTS)" |
| action "$(LD) -melf_i386 -r -o init.pre.o $(INIT-OBJECTS)" |
| action "$(OBJCOPY) --rename-section .text=.init.text --rename-section .data=.init.data --rename-section .rodata=.init.rodata --rename-section .rodata.str1.1=.init.rodata.str1.1 init.pre.o init.o" |
| end |
| |
| makerule linuxbios |
| depends "crt0.o init.o $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld" |
| action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o init.o" |
| action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map" |
| end |
| |
| end |
| |
| dir lib |
| dir boot |
| if CONFIG_SMP |
| dir smp |
| end |