X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=config.mk;h=8c857e4372402a2cedffa1f4954ec1e2cbac0b3c;hb=99fafc49f3b2d50abb2d7b8b4cbbd3be8e107bef;hp=0200fe1c9aeac86dadc63b93f2fa8452a9eba0ca;hpb=9f8402d19a3f058257171fe878facebab7017ba8;p=bertos.git diff --git a/config.mk b/config.mk old mode 100755 new mode 100644 index 0200fe1c..8c857e43 --- a/config.mk +++ b/config.mk @@ -10,34 +10,18 @@ # Author: Bernardo Innocenti # # $Log$ -# Revision 1.8 2006/09/19 17:50:56 bernie -# Make native build the default. -# -# Revision 1.7 2006/07/19 12:56:24 bernie -# Convert to new Doxygen style. -# -# Revision 1.6 2006/06/12 22:05:09 marco -# Bring back config wrongly commited -# -# 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 @@ -48,7 +32,13 @@ DPROG = -V -c stk500 -P /dev/ttyS0 # 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 @@ -59,18 +49,23 @@ DEBUGCFLAGS = -ggdb # # define some variables based on the AVR base path in $(AVR) # -CROSS = #CROSS = avr- -CC = $(CROSS)gcc -CXX = $(CROSS)g++ +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) \ @@ -84,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 @@ -101,16 +91,19 @@ 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 = \ -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 = \ @@ -134,10 +127,10 @@ CPPAFLAGS = $(DEBUGCFLAGS) -MMD ASFLAGS = $(DEBUGCFLAGS) # Default linker flags -LDFLAGS = $(MAP_FLAGS) +#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)