Test for ticket system, bug #3
[bertos.git] / config.mk
old mode 100755 (executable)
new mode 100644 (file)
index 762a0c3..4528017
--- a/config.mk
+++ b/config.mk
@@ -3,55 +3,51 @@
 # Copyright 2002,2003, 2004, 2006 Develer S.r.l. (http://www.develer.com/)
 # All rights reserved.
 #
-# Based on:
-#   GCC-AVR standard Makefile part 1
-#   Volker Oth 1/2000
-#
 # Author: Bernardo Innocenti <bernie@develer.com>
-#
-# $Log$
-# 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.
-#
+# Based on: GCC-AVR standard Makefile part 1, Volker Oth 1/2000
 #
 
 #
 # Programmer type
-#
-# AVR ISP dongle that blows up easily
-DPROG = -V -c stk500 -P /dev/ttyS0
-
-# STK200 parallel cable
-#DPROG = -c stk200 -E noreset
+# see local pgm_config.mk for programmer customization.
+-include pgm_config.mk
+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 = -O3 # DANGER - DO NOT USE - DOESN'T WORK WITH 3.4.1 & 3.5 (HEAD)
-OPTCFLAGS = -ffunction-sections -fdata-sections 
+OPTCFLAGS = -ffunction-sections -fdata-sections
+#OPTCFLAGS = -funsafe-loop-optimizations
 
 # For AVRStudio
 #DEBUGCFLAGS = -gdwarf-2
 
 # For GDB
-DEBUGCFLAGS = -g
+DEBUGCFLAGS = -ggdb
 
 #
 # define some variables based on the AVR base path in $(AVR)
 #
-CROSS   = 
+CROSS   = avr-
 CC      = $(CROSS)gcc
-AS      = $(CROSS)$(CC) -x assembler-with-cpp
-LD      = $(CROSS)$(CC)
+CXX     = $(CROSS)g++
+AS      = $(CC) -x assembler-with-cpp
+LD      = $(CC)
 OBJCOPY = $(CROSS)objcopy
+STRIP   = $(CROSS)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
+MOC     = moc-qt4
+FLEXCAT = $(top_srcdir)/tools/flexcat/flexcat
 
 # For conversion from ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
 COFFCONVERT=$(OBJCOPY) \
@@ -65,11 +61,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
@@ -82,25 +73,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 \
-       -Wextra -Wstrict-aliasing=2
+       -Wextra -Wstrict-aliasing=2 \
+#      -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
@@ -110,8 +109,10 @@ CPPAFLAGS = $(DEBUGCFLAGS) -MMD
 ASFLAGS        = $(DEBUGCFLAGS)
 
 # Default linker flags
-#LDFLAGS = $(MAP_FLAGS) -Wl,--reduce-memory-overheads
-LDFLAGS        = $(MAP_FLAGS) -Wl,--gc-sections
+#LDFLAGS = $(MAP_FLAGS)
+
+#bernie: does not complain for missing symbols!
+LDFLAGS = $(MAP_FLAGS) -Wl,--gc-sections
 
 # Flags for avrdude
 AVRDUDEFLAGS = $(DPROG)