# Author: Bernardo Innocenti <bernie@develer.com>
#
# $Log$
+# Revision 1.12 2007/09/29 16:57:39 bernie
+# Better sparse support.
+#
+# Revision 1.11 2007/09/29 15:54:14 bernie
+# Make demo Qt emulator compile again.
+#
# Revision 1.10 2007/09/18 10:17:00 batt
# Merge from triface.
#
# 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
#
# define some variables based on the AVR base path in $(AVR)
#
-CROSS = avr-
+CROSS = arm-elf-
CC = $(CROSS)gcc
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
-MOC = moc
+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) \
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
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