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