Add EMBEDDED_TARGET flag to choose beetween different target policies.
authorbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 18 Oct 2007 10:24:53 +0000 (10:24 +0000)
committerbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 18 Oct 2007 10:24:53 +0000 (10:24 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@897 38d2e660-2303-0410-9eaa-f027e97ec537

config.mk
rules.mk

index 604cd639b6d23374bf2d24a59547a7c58b9a427f..c0473a157967ec98b33fce8a110ccac7b1277eba 100644 (file)
--- a/config.mk
+++ b/config.mk
@@ -65,6 +65,11 @@ DPROG ?= -V -c stk500 -P /dev/ttyS0
 # PonyProg serial programmer
 #DPROG = -c dasa2
 
+# Set to 1 to build for embedded devices.
+# e.g. produce target.elf instead of target and target_nostrip
+EMBEDDED_TARGET = 1
+#EMBEDDED_TARGET = 0
+
 OPTCFLAGS = -ffunction-sections -fdata-sections
 #OPTCFLAGS = -funsafe-loop-optimizations
 
@@ -119,8 +124,11 @@ DEP_FLAGS = -MMD -MP
 LIST_FLAGS = -Wa,-anhlmsd=$(@:.o=.lst)
 
 # Linker flags for generating map files
-#bernie: bogus binutils from Fedora 6 can't cope with this
-#MAP_FLAGS = -Wl,-Map=$(@:%.elf=%.map),--cref
+ifeq ($(EMBEDDED_TARGET), 1)
+MAP_FLAGS = -Wl,-Map=$(@:%.elf=%.map),--cref
+else
+MAP_FLAGS = 
+endif
 
 # Compiler warning flags for both C and C++
 WARNFLAGS = \
index 0fe37a0f8f98c0c967d2595a7be7d54653653750..6870cfab7c63a6e5f0afc7f38cd42259a2451f34 100644 (file)
--- a/rules.mk
+++ b/rules.mk
@@ -46,7 +46,11 @@ RECURSIVE_TARGETS = all-recursive install-recursive clean-recursive
 
 # The default target
 .PHONY: all
-all:: all-recursive $(TRG_S19) $(TRG_HEX)
+ifeq ($(EMBEDDED_TARGET),1)
+all:: all-recursive $(TRG_S19) $(TRG_HEX) $(TRG_BIN)
+else
+all:: all-recursive $(TRG_ELF)
+endif
 
 # Generate project documentation
 .PHONY: docs
@@ -118,14 +122,19 @@ $$($(1)_CPPAOBJ): $$(OBJDIR)/$(1)/%.o : %.S
        $L "$(1): Assembling with CPP $$<"
        @$$(MKDIR_P) $$(dir $$@)
        $Q $$(CC) -c $$(CPPAFLAGS) $$($(1)_CPPAFLAGS) $$($(1)_CPPFLAGS) $$(CPPFLAGS) $$< -o $$@
+       
 
 # Link: instructions to create elf output file from object files
 $$(OUTDIR)/$(1).elf: bumprev $$($(1)_OBJ) $$($(1)_LDSCRIPT)
        $L "$(1): Linking $$(OUTDIR)/$(1)"
        @$$(MKDIR_P) $$(dir $$@)
+ifeq ($(EMBEDDED_TARGET), 1)
+       $Q $$(LD) $$($(1)_OBJ) $$(LIB) $$(LDFLAGS) $$($(1)_LDFLAGS) -o $$@
+else
        $Q $$(LD) $$($(1)_OBJ) $$(LIB) $$(LDFLAGS) $$($(1)_LDFLAGS) -o $$(OUTDIR)/$(1)_nostrip
        $Q $$(STRIP) -o $$(OUTDIR)/$(1) $$(OUTDIR)/$(1)_nostrip
-
+endif
 # Compile and link (program-at-a-time)
 $$(OUTDIR)/$(1)_whole.elf: bumprev $$($(1)_SRC) $$($(1)_LDSCRIPT)
        $L "$(1): Compiling and Linking whole program $$@"