Makefile: define build result directories
Final build results (.elf, .debug, .map) are to be placed under directory $(objcbfs), the default is: $(obj)/cbfs/$(CONFIG_CBFS_PREFIX)/ Intermediate build results (.o, .s, .S, .inc, .ld) that do not have a clear one-to-one relation to a file under src/ are to be placed under directory $(objgenerated), the default is: $(obj)/generated Also defines implicit rules for final build results: .debug -> .elf and .map .elf -> .bin Change-Id: I448c6b7c9a952e54170df42091d7db438025a795 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/858 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
committed by
Patrick Georgi
parent
93b4ed91f6
commit
0db2ae3ac4
@@ -138,6 +138,21 @@ $(obj)/cmos_layout.bin: $(NVRAMTOOL) $(top)/src/mainboard/$(MAINBOARDDIR)/cmos.l
|
||||
@printf " OPTION $(subst $(obj)/,,$(@))\n"
|
||||
$(NVRAMTOOL) -y $(top)/src/mainboard/$(MAINBOARDDIR)/cmos.layout -L $@
|
||||
|
||||
#######################################################################
|
||||
# Common recipes for all stages
|
||||
|
||||
$(objcbfs)/%.bin: $(objcbfs)/%.elf
|
||||
@printf " OBJCOPY $(subst $(obj)/,,$(@))\n"
|
||||
$(OBJCOPY) -O binary $< $@
|
||||
|
||||
$(objcbfs)/%.elf: $(objcbfs)/%.debug
|
||||
@printf " OBJCOPY $(subst $(obj)/,,$(@))\n"
|
||||
cp $< $@.tmp
|
||||
$(NM) -n $@.tmp | sort > $(basename $@).map
|
||||
$(OBJCOPY) --strip-debug $@.tmp
|
||||
$(OBJCOPY) --add-gnu-debuglink=$< $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
#######################################################################
|
||||
# Build the coreboot_ram (stage 2)
|
||||
|
||||
|
Reference in New Issue
Block a user