Fix compiler override: now each project can have its own CC flag.
authorbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 3 Dec 2008 11:22:54 +0000 (11:22 +0000)
committerbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 3 Dec 2008 11:22:54 +0000 (11:22 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1965 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/rules.mk
examples/demo/demo.mk

index ff8e7d674b72ecbc905e099a81c545ae28c731c6..eed0fe5093ea0aa32cb95186c281c6ab27562a8f 100644 (file)
@@ -140,12 +140,12 @@ ifeq ($$($(1)_DEBUG),1)
         $(1)_CXXFLAGS += -D_DEBUG
 endif
 
-$(1)_CC      = $$($(1)_CROSS)$$(CC)
-$(1)_CXX     = $$($(1)_CROSS)$$(CXX)
-$(1)_AS      = $$($(1)_CROSS)$$(AS)
-$(1)_AR      = $$($(1)_CROSS)$$(AR)
-$(1)_OBJCOPY = $$($(1)_CROSS)$$(OBJCOPY)
-$(1)_STRIP   = $$($(1)_CROSS)$$(STRIP)
+$(1)_CC      ?= $$($(1)_CROSS)$$(CC)
+$(1)_CXX     ?= $$($(1)_CROSS)$$(CXX)
+$(1)_AS      ?= $$($(1)_CROSS)$$(AS)
+$(1)_AR      ?= $$($(1)_CROSS)$$(AR)
+$(1)_OBJCOPY ?= $$($(1)_CROSS)$$(OBJCOPY)
+$(1)_STRIP   ?= $$($(1)_CROSS)$$(STRIP)
 
 $(1)_COBJ    = $$(foreach file,$$($(1)_CSRC:%.c=%.o),$$(OBJDIR)/$(1)/$$(file))
 $(1)_CXXOBJ  = $$(foreach file,$$($(1)_CXXSRC:%.cpp=%.o),$$(OBJDIR)/$(1)/$$(file))
@@ -166,16 +166,16 @@ endif
 # would whine if we passed it C-only flags.  Checking for the presence of
 # "++" in the name is a kludge that seems to work mostly.
 ifeq (++,$$(findstring ++,$$($(1)_CC)))
-        REAL_CFLAGS = $$(CXXFLAGS)
+        $(1)_REAL_CFLAGS = $$(CXXFLAGS)
 else
-        REAL_CFLAGS = $$(CFLAGS)
+       $(1)_REAL_CFLAGS = $$(CFLAGS)
 endif
 
 # Compile: instructions to create assembler and/or object files from C source
 $$($(1)_COBJ) : $$(OBJDIR)/$(1)/%.o : %.c
        $L "$(1): Compiling $$< (C)"
        @$$(MKDIR_P) $$(dir $$@)
-       $Q $$($(1)_CC) -c $$(REAL_CFLAGS) $$($(1)_CFLAGS) $$($(1)_CPPFLAGS) $$(CPPFLAGS) $$< -o $$@
+       $Q $$($(1)_CC) -c $$($(1)_REAL_CFLAGS) $$($(1)_CFLAGS) $$($(1)_CPPFLAGS) $$(CPPFLAGS) $$< -o $$@
 
 # Compile: instructions to create assembler and/or object files from C++ source
 $$($(1)_CXXOBJ) : $$(OBJDIR)/$(1)/%.o : %.cpp
index cef81a26eca0b6500e300c11dc0ed95751ff793a..cec05508b007dee30fef91314279b024f02df644 100644 (file)
@@ -17,9 +17,8 @@ demo_DEBUG = 1
 # Our target application
 TRG += demo
 
-# FIXME: we want to use g++ for C source too
-CC = g++
-CXX = g++
+#We want to use g++ for C source too
+demo_CC=g++
 
 demo_CXXSRC = \
        bertos/emul/emul.cpp \