summaryrefslogtreecommitdiffstats
path: root/config.mk
diff options
context:
space:
mode:
authorPeter Tyser <ptyser@xes-inc.com>2010-04-12 22:28:03 -0500
committerWolfgang Denk <wd@denx.de>2010-04-13 09:13:00 +0200
commit89f39e177e7b0152aa1d3152baa25d986e36cdcf (patch)
tree038889f28a7a52528dbf1d73c5394b98e6773709 /config.mk
parent03b7004ddafc70d83904d790abaa50843868130e (diff)
downloadbootable_bootloader_goldelico_gta04-89f39e177e7b0152aa1d3152baa25d986e36cdcf.zip
bootable_bootloader_goldelico_gta04-89f39e177e7b0152aa1d3152baa25d986e36cdcf.tar.gz
bootable_bootloader_goldelico_gta04-89f39e177e7b0152aa1d3152baa25d986e36cdcf.tar.bz2
Change directory-specific CFLAGS to use full path
Previously, a specific file or directory could be compiled with custom CFLAGS by adding a Makefile variable such as: CFLAGS_dlmalloc.o = <custom flags for common/dlmalloc.c> or CFLAGS_lib = <custom flags for lib directory> This method breaks down once multiple files or directories share the same path. Eg FLAGS_fileA = <custom flags> would incorrectly result in both dir1/fileA.c and dir2/fileA.c being compiled with <custom flags>. This change allows finer grained control which we need once we move lib_$ARCH to arch/$ARCH/lib/ and lib_generic/ to lib/. Without this change all lib/ directories would share the same custom CFLAGS. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Diffstat (limited to 'config.mk')
-rw-r--r--config.mk17
1 files changed, 11 insertions, 6 deletions
diff --git a/config.mk b/config.mk
index c82cb63..1a61dbb 100644
--- a/config.mk
+++ b/config.mk
@@ -236,16 +236,21 @@ export TEXT_BASE PLATFORM_CPPFLAGS PLATFORM_RELFLAGS CPPFLAGS CFLAGS AFLAGS
#########################################################################
# Allow boards to use custom optimize flags on a per dir/file basis
-BCURDIR := $(notdir $(CURDIR))
+BCURDIR = $(subst $(SRCTREE)/,,$(CURDIR:$(obj)%=%))
$(obj)%.s: %.S
- $(CPP) $(AFLAGS) $(AFLAGS_$(@F)) $(AFLAGS_$(BCURDIR)) -o $@ $<
+ $(CPP) $(AFLAGS) $(AFLAGS_$(BCURDIR)/$(@F)) $(AFLAGS_$(BCURDIR)) \
+ -o $@ $<
$(obj)%.o: %.S
- $(CC) $(AFLAGS) $(AFLAGS_$(@F)) $(AFLAGS_$(BCURDIR)) -o $@ $< -c
+ $(CC) $(AFLAGS) $(AFLAGS_$(BCURDIR)/$(@F)) $(AFLAGS_$(BCURDIR)) \
+ -o $@ $< -c
$(obj)%.o: %.c
- $(CC) $(CFLAGS) $(CFLAGS_$(@F)) $(CFLAGS_$(BCURDIR)) -o $@ $< -c
+ $(CC) $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
+ -o $@ $< -c
$(obj)%.i: %.c
- $(CPP) $(CFLAGS) $(CFLAGS_$(@F)) $(CFLAGS_$(BCURDIR)) -o $@ $< -c
+ $(CPP) $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
+ -o $@ $< -c
$(obj)%.s: %.c
- $(CC) $(CFLAGS) $(CFLAGS_$(@F)) $(CFLAGS_$(BCURDIR)) -o $@ $< -c -S
+ $(CC) $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
+ -o $@ $< -c -S
#########################################################################