Programmer options:
dapa : (default) use parallel port programmer
- mib510,<dev> : use MIB510 serial port programming board at port <dev>
+ mib510,<dev> : use MIB510/MIB520 serial port programming board at port <dev>
eprb,<host> : use EPRB at hostname <host>
avrisp,<dev> : use AVRISP serial programmer at port <dev>
endef
HELP += $(AVR_HELP)
+ifdef MAKE_DEPUTY_FLAG
+ NCC_SAFE_TINYOS_FLAG = -safe
+else
+ NCC_SAFE_TINYOS_FLAG =
+endif
+
OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump
SET_ID = tos-set-symbols
-PROGRAMMER = uisp
+PROGRAMMER ?= uisp
NCC = ncc
LIBS = -lm
+
AMADDR = ActiveMessageAddressC\$$addr
+# Uncomment the next two lines if you have a toolchain without the dollar sign
+# patch. This needs nesc 1.2.8 or newer (1.2.9 is recommended).
+#PFLAGS += -fnesc-separator=__
+#AMADDR = ActiveMessageAddressC__addr
BUILDDIR = build/$(PLATFORM)
MAIN_EXE = $(BUILDDIR)/main.exe
MAIN_SREC = $(BUILDDIR)/main.srec
ifdef MSG_SIZE
PFLAGS += -DTOSH_DATA_LENGTH=$(MSG_SIZE)
endif
+ifdef DEFAULT_LOCAL_GROUP
+PFLAGS += -DDEFINED_TOS_AM_GROUP=$(DEFAULT_LOCAL_GROUP)
+endif
+
+AVRGCCMAJOR = $(shell avr-gcc -v 2>&1 | grep "gcc version" | sed -n 's/gcc version \([2-5]\)\.\([0-9]\)\.\([0-9]\).*/\1/p')
+ifeq ($(AVRGCCMAJOR),4)
+ PFLAGS += --param max-inline-insns-single=100000
+else
+ PFLAGS += -finline-limit=100000
+endif
-ifndef DEFAULT_PROGRAM
-DEFAULT_PROGRAM = dapa
+ifeq ($(PROGRAMMER),avrdude)
+ AVRDUDE_CONF ?= /etc/avrdude/avrdude.conf
+ ifeq ($(shell [ -f /bin/cygwin1.dll ] && echo cygwin),cygwin)
+ AVRDUDE_CONF := $(shell cygpath -m $(AVRDUDE_CONF))
+ endif
+ PROGRAMMER_EXTRA_FLAGS += -C$(AVRDUDE_CONF)
+# PROGRAMMER_EXTRA_FLAGS += -v -v
+endif
+
+ifdef DEFAULT_PROGRAM_AVR
+DEFAULT_PROGRAM = $(DEFAULT_PROGRAM_AVR)
endif
+DEFAULT_PROGRAM ?= dapa
+
+
BUILDLESS_DEPS += bytes
exe0: builddir $(BUILD_EXTRA_DEPS) FORCE
@echo " compiling $(COMPONENT) to a $(PLATFORM) binary"
- $(NCC) -o $(MAIN_EXE) $(OPTFLAGS) $(PFLAGS) $(CFLAGS) $(WIRING_CHECK_FLAGS) $(COMPONENT).nc $(LIBS) $(LDFLAGS)
+ifdef MAKE_DEPUTY_FLAG
+ @echo " ***** compiling Safe TinyOS *****"
+endif
+ $(NCC) -o $(MAIN_EXE) $(NCC_SAFE_TINYOS_FLAG) $(OPTFLAGS) $(PFLAGS) $(CFLAGS) $(WIRING_CHECK_FLAGS) $(COMPONENT).nc $(LIBS) $(LDFLAGS)
ifdef WIRING_CHECK_FILE
@nescc-wiring $(WIRING_CHECK_FILE)
endif