X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=support%2Fmake%2Fmsp%2Fmsp.rules;h=0bab085a81954165c4f39898ddd819c51846fef6;hb=e9bfab607e051bae6afb47b44892ce37541d1b44;hp=0c98cf45e247fc91b009c2f7ac057ba12001ddb4;hpb=f8dc84c9b4ed9490662d0e46f9c44277380fd5be;p=tinyos-2.x.git diff --git a/support/make/msp/msp.rules b/support/make/msp/msp.rules index 0c98cf45..0bab085a 100644 --- a/support/make/msp/msp.rules +++ b/support/make/msp/msp.rules @@ -7,7 +7,6 @@ define MSP_HELP debug : compile with minimal optimization and debug symbols debugopt : compile with debug symbols - xnp : compile for network programming Programmer options: @@ -22,6 +21,12 @@ define MSP_HELP endef HELP += $(MSP_HELP) +ifdef MAKE_DEPUTY_FLAG + 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_FLAGS = +endif + #MSP_NESC_TARGET ?= msp430 #MSP_GCC ?= msp430-gcc #MSP_MCU ?= msp430x149 @@ -33,17 +38,25 @@ SET_ID = tos-set-symbols NCC = ncc LIBS = -lm -AMADDR = ActiveMessageAddressC\$$addr -BUILDDIR = build/$(PLATFORM) +# Use __ as the separator - requires nesC 1.2.9 or later +ifneq ($(filter sim,$(GOALS)),sim) + PFLAGS += -fnesc-separator=__ +endif + +AMADDR = ActiveMessageAddressC__addr +BUILDDIR ?= build/$(PLATFORM) MAIN_EXE = $(BUILDDIR)/main.exe MAIN_IHEX = $(BUILDDIR)/main.ihex INSTALL_IHEX = $(MAIN_IHEX).out$(if $(NODEID),-$(NODEID),) -PFLAGS += -Wall -Wshadow -DDEF_TOS_AM_GROUP=$(DEFAULT_LOCAL_GROUP) $(NESC_FLAGS) +PFLAGS += -Wall -Wshadow $(NESC_FLAGS) PFLAGS += -target=$(PLATFORM) -fnesc-cfile=$(BUILDDIR)/app.c -board=$(SENSORBOARD) ifdef MSG_SIZE PFLAGS += -DTOSH_DATA_LENGTH=$(MSG_SIZE) endif +ifdef DEFAULT_LOCAL_GROUP +PFLAGS += -DDEFINED_TOS_AM_GROUP=$(DEFAULT_LOCAL_GROUP) +endif DEFAULT_PROGRAM ?= bsl @@ -55,12 +68,19 @@ $(if $(PROGRAM),,$(call TOSMake_include,msp/$(DEFAULT_PROGRAM).extra)) # Build storage file if volumes.xml present ifneq ($(wildcard $(VOLUME_FILE)), ) -exe0: $(BUILDDIR)/StorageVolumes.h +build_storage: $(BUILDDIR)/StorageVolumes.h + +exe0: build_storage +VOLUME_ALLOCATOR_FLAGS ?= $(BUILDDIR)/StorageVolumes.h: $(VOLUME_FILE) - $(VOLUME_ALLOCATOR) $(PLATFORMDIR) <$(VOLUME_FILE) >$@ || rm -f $@ + $(VOLUME_ALLOCATOR) $(VOLUME_ALLOCATOR_FLAGS) $(PLATFORMDIR) <$(VOLUME_FILE) >$@ || rm -f $@ PFLAGS += -I$(BUILDDIR) +else + +build_storage: + endif ifndef BUILD_DEPS @@ -72,6 +92,9 @@ endif setid: FORCE @cmd () { echo "$$@"; $$@; }; if [ x = x$(NODEID) ]; then cmd cp $(MAIN_IHEX) $(INSTALL_IHEX); else cmd $(SET_ID) --objcopy $(OBJCOPY) --objdump $(OBJDUMP) --target ihex $(MAIN_IHEX) $(INSTALL_IHEX) TOS_NODE_ID=$(NODEID) $(AMADDR)=$(NODEID); fi +tos_buildinfo: ihex build_buildinfo FORCE + @: + tosimage: ihex build_tosimage FORCE @: @@ -83,7 +106,7 @@ exe: exe0 bytes FORCE 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) + $(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