# 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.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.
-#
-# Revision 1.9 2006/09/20 14:28:42 marco
-# Add MOC. Changed OPTCFLAGS.
-#
-# 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.
-#
+# Based on: GCC-AVR standard Makefile part 1, Volker Oth 1/2000
#
#
-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 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
+# 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-
-CC = $(CROSS)gcc
-CXX = $(CROSS)g++
+#CROSS = avr-
+CC = gcc
+CXX = g++
AS = $(CC) -x assembler-with-cpp
LD = $(CC)
-OBJCOPY = $(CROSS)objcopy
-STRIP = $(CROSS)strip
+LDXX = $(CXX)
+OBJCOPY = objcopy
+STRIP = strip
INSTALL = cp -a
RM = rm -f
RM_R = rm -rf
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.
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 = \