X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=support%2Fmake%2Favr%2Favr.rules;h=a8c5d025884e010d877fcdd857d93649df303bba;hb=e9bfab607e051bae6afb47b44892ce37541d1b44;hp=67d0a47f68486f64072ca7ca41cdfe0e232a0a2f;hpb=8b9ae404078ab797dc61c54ffb15771775ed2ad1;p=tinyos-2.x.git diff --git a/support/make/avr/avr.rules b/support/make/avr/avr.rules index 67d0a47f..a8c5d025 100644 --- a/support/make/avr/avr.rules +++ b/support/make/avr/avr.rules @@ -7,13 +7,12 @@ define AVR_HELP 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, : use MIB510/MIB520 serial port programming board at port - eprb, : use EPRB at hostname + eprb, : use EPRB (MIB600) at hostname avrisp, : use AVRISP serial programmer at port The dev or host parameter for the programmer option need not be specified, @@ -24,9 +23,9 @@ endef 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 @@ -36,18 +35,21 @@ 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) +# 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 INSTALL_SREC = $(MAIN_SREC).out$(if $(NODEID),-$(NODEID),) VOLUMEFILE = volumes-at45db.xml +VOLUME_ALLOCATOR ?= tos-storage-at45db +VOLUME_ALLOCATOR_FLAGS ?= PFLAGS += -Wall -Wshadow $(NESC_FLAGS) PFLAGS += -target=$(PLATFORM) -fnesc-cfile=$(BUILDDIR)/app.c -board=$(SENSORBOARD) @@ -66,6 +68,9 @@ else endif ifeq ($(PROGRAMMER),avrdude) + ifeq ($(findstring Darwin, $(shell uname)), 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)) @@ -93,12 +98,19 @@ $(if $(PROGRAM),,$(call TOSMake_include,avr/$(DEFAULT_PROGRAM).extra)) # 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) - tos-storage-at45db $(PLATFORMDIR) <$(VOLUMEFILE) >$@ || rm -f $@ + $(VOLUME_ALLOCATOR) $(VOLUME_ALLOCATOR_FLAGS) $(PLATFORMDIR) <$(VOLUMEFILE) >$@ || rm -f $@ PFLAGS += -I$(BUILDDIR) +else + +build_storage: + endif ifndef BUILD_DEPS @@ -130,9 +142,14 @@ exe: exe0 bytes FORCE 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)"