diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2012-04-19 12:00:06 +0300 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2012-04-21 09:43:32 +0200 |
commit | 0db2ae3ac44ceb05e96973e6101d472dbef164a0 (patch) | |
tree | 94f0234b1007563a0037bba353d1c7c2a574dc18 /Makefile.inc | |
parent | 93b4ed91f6b1027c370da9bdd6d86664dcda671b (diff) |
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>
Diffstat (limited to 'Makefile.inc')
-rw-r--r-- | Makefile.inc | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/Makefile.inc b/Makefile.inc index b5e8811370..4d25dd528b 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -27,14 +27,25 @@ ARCHDIR-$(CONFIG_ARCH_X86) := x86 MAINBOARDDIR=$(call strip_quotes,$(CONFIG_MAINBOARD_DIR)) export MAINBOARDDIR +## Final build results, which CBFSTOOL uses to create the final +## rom image file, are placed under $(objcbfs). +## These typically have suffixes .debug .elf .bin and .map +export objcbfs := $(obj)/cbfs/$(CONFIG_CBFS_PREFIX) + +## Based on the active configuration, Makefile conditionally collects +## the required assembly includes and saves them in a file. +## Such files that do not have a clear one-to-one relation to a source +## file under src/ are placed and built under $(objgenerated) +export objgenerated := $(obj)/generated + ####################################################################### # root rule to resolve if in build mode (ie. configuration exists) real-target: $(obj)/config.h coreboot -coreboot: $(obj)/coreboot.rom +coreboot: build-dirs $(obj)/coreboot.rom ####################################################################### # our phony targets -PHONY+= clean-abuild coreboot lint lint-stable +PHONY+= clean-abuild coreboot lint lint-stable build-dirs ####################################################################### # root source directories of coreboot @@ -168,6 +179,9 @@ $(obj)/build.h: .xcompile $(obj)/ldoptions: $(obj)/config.h awk '/^#define ([^"])* ([^"])*$$/ {gsub("\\r","",$$3); print $$2 " = " $$3 ";";}' $< > $@ +build-dirs: + mkdir -p $(objcbfs) $(objgenerated) + ####################################################################### # Build the tools CBFSTOOL:=$(obj)/cbfstool |