Disk size is computed by driver.
[bertos.git] / config.mk
old mode 100755 (executable)
new mode 100644 (file)
index 9e6b18d..8c857e4
--- a/config.mk
+++ b/config.mk
 # Author: Bernardo Innocenti <bernie@develer.com>
 #
 # $Log$
-# Revision 1.4  2006/05/27 22:41:46  bernie
-# Tweak optimization flags for loops.
-#
-# Revision 1.3  2006/05/18 00:40:10  bernie
-# Setup for AVR development.
-#
-# Revision 1.2  2006/03/27 04:48:33  bernie
-# Add CXXFLAGS; Add recursive targets.
-#
-# Revision 1.1  2006/03/22 09:51:53  bernie
-# Add build infrastructure.
-#
 #
 
 #
 # Programmer type
-#
+# see local pgm_config.mk for programmer customization.
+-include pgm_config.mk
+DPROG ?= -V -c stk500 -P /dev/ttyS0
+
 # AVR ISP dongle that blows up easily
-DPROG = -V -c stk500 -P /dev/ttyS0
+#DPROG = -V -c stk500 -P /dev/ttyS0
+#DPROG = -V -c jtag2slow
+#-P /dev/ttyUSB0
 
 # STK200 parallel cable
 #DPROG = -c stk200 -E noreset
 
+# JTAG ICE mkII
+#DPROG = avarice --mkII -j usb -l
+
 # PonyProg serial programmer
 #DPROG = -c dasa2
 
-OPTCFLAGS = -ffunction-sections -fdata-sections -funsafe-loop-optimizations
+# 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
 
 # For AVRStudio
 #DEBUGCFLAGS = -gdwarf-2
@@ -47,16 +49,23 @@ DEBUGCFLAGS = -ggdb
 #
 # define some variables based on the AVR base path in $(AVR)
 #
-CROSS   = 
-CC      = $(CROSS)gcc
+#CROSS   = avr-
+CC      = gcc
+CXX     = g++
 AS      = $(CC) -x assembler-with-cpp
 LD      = $(CC)
-OBJCOPY = $(CROSS)objcopy
+OBJCOPY = objcopy
+STRIP   = strip
 INSTALL = cp -a
 RM      = rm -f
 RM_R    = rm -rf
 RN      = mv
 MKDIR_P = mkdir -p
+SHELL   = /bin/sh
+CHECKER = sparse
+DOXYGEN = doxygen
+AVRDUDE = avrdude
+FLEXCAT = $(top_srcdir)/tools/flexcat/flexcat
 
 # For conversion from ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
 COFFCONVERT=$(OBJCOPY) \
@@ -70,11 +79,6 @@ INCDIR  = -I. -Ihw
 LIBDIR  = lib
 OBJDIR  = obj
 OUTDIR  = images
-SHELL   = /bin/sh
-DOXYGEN = doxygen
-UISP    = uisp
-AVRDUDE = avrdude
-FLEXCAT = $(top_srcdir)/tools/flexcat/flexcat
 
 # output format can be srec, ihex (avrobj is always created)
 FORMAT = srec
@@ -87,26 +91,33 @@ DEP_FLAGS = -MMD -MP
 LIST_FLAGS = -Wa,-anhlmsd=$(@:.o=.lst)
 
 # Linker flags for generating map files
+ifeq ($(EMBEDDED_TARGET), 1)
 MAP_FLAGS = -Wl,-Map=$(@:%.elf=%.map),--cref
+else
+MAP_FLAGS =
+endif
 
 # Compiler warning flags for both C and C++
 WARNFLAGS = \
        -W -Wformat -Wall -Wundef -Wpointer-arith -Wcast-qual \
        -Wcast-align -Wwrite-strings -Wsign-compare \
-       -Wmissing-prototypes -Wmissing-noreturn \
+       -Wmissing-noreturn \
        -Wextra -Wstrict-aliasing=2 \
-       -Wunsafe-loop-optimizations
+#      -Wunsafe-loop-optimizations
 
 # Compiler warning flags for C only
 C_WARNFLAGS = \
        -Wmissing-prototypes -Wstrict-prototypes
 
+# Default C preprocessor flags (for C, C++ and cpp+as)
+CPPFLAGS = $(INCDIR)
+
 # Default C compiler flags
-CFLAGS = $(INCDIR) $(OPTCFLAGS) $(DEBUGCFLAGS) $(WARNFLAGS) $(C_WARNFLAGS) \
+CFLAGS = $(OPTCFLAGS) $(DEBUGCFLAGS) $(WARNFLAGS) $(C_WARNFLAGS) \
        $(DEP_FLAGS) $(LIST_FLAGS) -std=gnu99
 
 # Default C++ compiler flags
-CXXFLAGS = $(INCDIR) $(OPTCFLAGS) $(DEBUGCFLAGS) $(WARNFLAGS) \
+CXXFLAGS = $(OPTCFLAGS) $(DEBUGCFLAGS) $(WARNFLAGS) \
        $(DEP_FLAGS) $(LIST_FLAGS)
 
 # Default compiler assembly flags
@@ -119,7 +130,7 @@ ASFLAGS     = $(DEBUGCFLAGS)
 #LDFLAGS = $(MAP_FLAGS)
 
 #bernie: does not complain for missing symbols!
-#LDFLAGS = $(MAP_FLAGS) -Wl,--gc-sections
+LDFLAGS = $(MAP_FLAGS) -Wl,--gc-sections
 
 # Flags for avrdude
 AVRDUDEFLAGS = $(DPROG)