diff options
author | Nico Huber <nico.h@gmx.de> | 2016-01-23 01:24:33 +0100 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2016-01-28 00:31:32 +0100 |
commit | 98fc426a98db7e4dd5fea334edec720721d2a89c (patch) | |
tree | 16a143c645ccf8bdc13ef38ef700bcc8ae101199 /Makefile | |
parent | 81b09f40087d1a00afe30e379d2e8460203b1c5c (diff) |
Move object files to $(obj)/<class>/
Instead of tagging object files with .<class>, move them to a <class>
directory below $(obj)/. This way we can keep a 1:1 mapping between
source- and object-file names.
The 1:1 mapping is a prerequisite for Ada, where the compiler refuses
any other object-file name.
Tested by verifying that the resulting coreboot.rom files didn't change
for all of Jenkins' abuild configurations.
Change-Id: Idb7a8abec4ea0a37021d9fc24cc8583c4d3bf67c
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/13181
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -184,7 +184,13 @@ add-special-class= \ # Only .c and .S get converted to .o, other files (like .ld) keep their name. # $1 stage name # $2 file path (list) -src-to-obj=$(foreach file,$(2),$(subst .$(1),,$(basename $(patsubst src/%,$(obj)/%,$(file)))).$(1)$(patsubst %.c,%.o,$(patsubst %.S,%.o,$(suffix $(file))))) +src-to-obj=\ + $(patsubst $(obj)/%,$(obj)/$(1)/%,\ + $(patsubst $(obj)/$(1)/%,$(obj)/%,\ + $(patsubst src/%,$(obj)/%,\ + $(patsubst %.c,%.o,\ + $(patsubst %.S,%.o,\ + $(subst .$(1),,$(2))))))) # Clean -y variables, include Makefile.inc # Add paths to files in X-y to X-srcs |