With our Blackfin boards, we like to build the compression routines with
-O2 as our tests show a pretty good size/speed tradeoff.  For the rest of
U-Boot though, we want to stick with the default -Os as that is mostly
control code.  So in our case, we would add a line like so to the board
specific config.mk file:
        CFLAGS_lib_generic += -O2

Now all files under lib_generic/ will have -O2 appended to their build.

Signed-off-by: Mike Frysinger <vap...@gentoo.org>
---
v2
        - dont require dir_ since the naming is already unique (all objects
          have a ".o" suffix while dirs do not)

 config.mk |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/config.mk b/config.mk
index b1254e9..c3a787a 100644
--- a/config.mk
+++ b/config.mk
@@ -206,23 +206,30 @@ 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))
+cmd_compile.s.S = $(CPP) $(AFLAGS) $(AFLAGS_$(@F)) $(AFLAGS_$(BCURDIR)) -o $@ 
$<
+cmd_compile.o.S = $(CC)  $(AFLAGS) $(AFLAGS_$(@F)) $(AFLAGS_$(BCURDIR)) -o $@ 
$< -c
+cmd_compile.o.c = $(CC)  $(CFLAGS) $(CFLAGS_$(@F)) $(CFLAGS_$(BCURDIR)) -o $@ 
$< -c
+
 ifndef REMOTE_BUILD
 
 %.s:   %.S
-       $(CPP) $(AFLAGS) -o $@ $<
+       $(cmd_compile.s.S)
 %.o:   %.S
-       $(CC) $(AFLAGS) -c -o $@ $<
+       $(cmd_compile.o.S)
 %.o:   %.c
-       $(CC) $(CFLAGS) -c -o $@ $<
+       $(cmd_compile.o.c)
 
 else
 
 $(obj)%.s:     %.S
-       $(CPP) $(AFLAGS) -o $@ $<
+       $(cmd_compile.s.S)
 $(obj)%.o:     %.S
-       $(CC) $(AFLAGS) -c -o $@ $<
+       $(cmd_compile.o.S)
 $(obj)%.o:     %.c
-       $(CC) $(CFLAGS) -c -o $@ $<
+       $(cmd_compile.o.c)
+
 endif
 
 #########################################################################
-- 
1.6.3

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to