debug : compile with minimal optimization and debug symbols
debugopt : compile with debug symbols
- xnp : compile for network programming
Programmer options:
dapa : (default) use parallel port programmer
mib510,<dev> : use MIB510/MIB520 serial port programming board at port <dev>
- eprb,<host> : use EPRB at hostname <host>
+ eprb,<host> : use EPRB (MIB600) at hostname <host>
avrisp,<dev> : use AVRISP serial programmer at port <dev>
The dev or host parameter for the programmer option need not be specified,
HELP += $(AVR_HELP)
ifdef MAKE_DEPUTY_FLAG
- NCC_SAFE_TINYOS_FLAG = -safe
+ NCC_SAFE_TINYOS_FLAGS = -DSAFE_TINYOS -I$(TOSDIR)/lib/safe -fnesc-deputy -fnesc-deputy-args='-I$(TOSDIR)/lib/safe/include --FLIDs=build/$(PLATFORM)/flids.txt --envmachine -DSAFE_TINYOS --nolib '
else
- NCC_SAFE_TINYOS_FLAG =
+ NCC_SAFE_TINYOS_FLAGS =
endif
OBJCOPY = avr-objcopy
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)
+# Use __ as the separator - requires nesC 1.2.9 or later
+ifneq ($(filter sim,$(GOALS)),sim)
+ifneq ($(filter sim-sf,$(GOALS)),sim-sf)
+ PFLAGS += -fnesc-separator=__
+endif
+endif
+AMADDR = ActiveMessageAddressC__addr
+BUILDDIR ?= build/$(PLATFORM)
MAIN_EXE = $(BUILDDIR)/main.exe
MAIN_SREC = $(BUILDDIR)/main.srec
MAIN_IHEX = $(BUILDDIR)/main.ihex
endif
ifeq ($(PROGRAMMER),avrdude)
+ ifeq ($(findstring darwin, $(OSTYPE)), darwin)
+ AVRDUDE_CONF ?= /opt/local/etc/avrdude.conf
+ endif
AVRDUDE_CONF ?= /etc/avrdude/avrdude.conf
ifeq ($(shell [ -f /bin/cygwin1.dll ] && echo cygwin),cygwin)
AVRDUDE_CONF := $(shell cygpath -m $(AVRDUDE_CONF))
# Build storage file if volumes.xml present
ifneq ($(wildcard $(VOLUMEFILE)), )
-exe0: $(BUILDDIR)/StorageVolumes.h
+build_storage: $(BUILDDIR)/StorageVolumes.h
+
+exe0: build_storage
+VOLUME_ALLOCATOR_FLAGS ?=
$(BUILDDIR)/StorageVolumes.h: $(VOLUMEFILE)
- $(VOLUME_ALLOCATOR) $(PLATFORMDIR) $(VOLUME_ALLOCATOR_FLAGS) <$(VOLUMEFILE) >$@ || rm -f $@
+ $(VOLUME_ALLOCATOR) $(VOLUME_ALLOCATOR_FLAGS) $(PLATFORMDIR) <$(VOLUMEFILE) >$@ || rm -f $@
PFLAGS += -I$(BUILDDIR)
+else
+
+build_storage:
+
endif
ifndef BUILD_DEPS
exe0: builddir $(BUILD_EXTRA_DEPS) FORCE
@echo " compiling $(COMPONENT) to a $(PLATFORM) binary"
- $(NCC) -o $(MAIN_EXE) $(NCC_SAFE_TINYOS_FLAG) $(OPTFLAGS) $(PFLAGS) $(CFLAGS) $(WIRING_CHECK_FLAGS) $(COMPONENT).nc $(LIBS) $(LDFLAGS)
+ $(NCC) -o $(MAIN_EXE) $(NCC_SAFE_TINYOS_FLAGS) $(OPTFLAGS) $(PFLAGS) $(CFLAGS) $(WIRING_CHECK_FLAGS) $(COMPONENT).nc $(LIBS) $(LDFLAGS)
ifdef WIRING_CHECK_FILE
@nescc-wiring $(WIRING_CHECK_FILE)
+endif
+ifdef STACK_CHECK
+ @echo
+ @-tos-ramsize $(PLATFORM) $(MAIN_EXE)
+ @echo
endif
@echo " compiled $(COMPONENT) to $(MAIN_EXE)"