]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - support/make/null/null.rules
Fixed some bugs with the tinyos-tools that have crept in due to incompatibilities...
[tinyos-2.x.git] / support / make / null / null.rules
index 1fe3f3b7c8193c75ac4fb4d54f4e5a7a7008b407..0682c26b97eab8f3eb97565415d9c5b38aff7ddb 100644 (file)
@@ -10,35 +10,51 @@ define NULL_HELP
 endef
 HELP += $(NULL_HELP)
 
+export GCC=gcc
 OBJCOPY = objcopy
 OBJDUMP = objdump
 NCC = ncc
 LIBS = -lm
 
-BUILDDIR = build/$(PLATFORM)
+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
 
-PFLAGS += -Wall -Wshadow -DDEF_TOS_AM_GROUP=$(DEFAULT_LOCAL_GROUP) $(NESC_FLAGS)
+PFLAGS += -Wall -Wshadow -fnesc-gcc=$(GCC) $(NESC_FLAGS)
 PFLAGS += -target=$(PLATFORM) -fnesc-cfile=$(BUILDDIR)/app.c
 ifdef MSG_SIZE
 PFLAGS += -DTOSH_DATA_LENGTH=$(MSG_SIZE)
 endif
+ifdef DEFAULT_LOCAL_GROUP
+PFLAGS += -DDEFINED_TOS_AM_GROUP=$(DEFAULT_LOCAL_GROUP)
+endif
+ifeq ($(findstring Darwin, $(shell uname)), Darwin)
+  CFLAGS += -D_FORTIFY_SOURCE=0
+  OBJCOPY = /usr/bin/true
+  OBJDUMP = /usr/bin/true
+endif
 
 BUILDLESS_DEPS += bytes
 
 # Build storage file if volumes.xml present
 # We "steal" the at45db storage spec
 ifneq ($(wildcard $(VOLUMEFILE)), )
-exe0: $(BUILDDIR)/StorageVolumes.h
+build_storage: $(BUILDDIR)/StorageVolumes.h
+
+exe0: build_storage 
 
 $(BUILDDIR)/StorageVolumes.h: $(VOLUMEFILE)
-       tos-storage-at45db <$(VOLUMEFILE) >$@
+       $(VOLUME_ALLOCATOR) $(VOLUME_ALLOCATOR_FLAGS) <$(VOLUMEFILE) >$@
 
 PFLAGS += -I$(BUILDDIR)
+else
+
+build_storage: 
+
 endif
 
 ifndef BUILD_DEPS
@@ -50,7 +66,7 @@ endif
 exe: exe0 bytes FORCE
        @:
 
-exe0: builddir $(BUILD_EXTRA_DEPS) FORCE
+exe0: builddir $(BUILD_EXTRA_DEPS) $(COMPONENT).nc FORCE
        @echo "    compiling $(COMPONENT) to a $(PLATFORM) binary"
        $(NCC) -o $(MAIN_EXE) $(OPTFLAGS) $(PFLAGS) $(CFLAGS) $(COMPONENT).nc $(LIBS) $(LDFLAGS)
        @echo "    compiled $(COMPONENT) to $(MAIN_EXE)"
@@ -59,5 +75,5 @@ builddir: FORCE
        mkdir -p $(BUILDDIR)
 
 bytes: FORCE
-       @objdump -h $(MAIN_EXE) | perl -ne '$$b{$$1}=hex $$2 if /^\s*\d+\s*\.(text|data|bss)\s+(\S+)/; END { printf("%16d bytes in ROM\n%16d bytes in RAM\n",$$b{text}+$$b{data},$$b{data}+$$b{bss}); }'
+       @$(OBJDUMP) -h $(MAIN_EXE) | perl -ne '$$b{$$1}=hex $$2 if /^\s*\d+\s*\.(text|data|bss)\s+(\S+)/; END { printf("%16d bytes in ROM\n%16d bytes in RAM\n",$$b{text}+$$b{data},$$b{data}+$$b{bss}); }'