X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=support%2Fmake%2Fnull%2Fnull.rules;h=6514cec517a410a14bff1d9f179648a4c5cc5606;hb=e9bfab607e051bae6afb47b44892ce37541d1b44;hp=685ed65762dfd28ccdeed04e44b458df616283dd;hpb=5c6a127eb0cad10e45e2cad8cd245f85469994aa;p=tinyos-2.x.git diff --git a/support/make/null/null.rules b/support/make/null/null.rules index 685ed657..6514cec5 100644 --- a/support/make/null/null.rules +++ b/support/make/null/null.rules @@ -10,6 +10,7 @@ define NULL_HELP endef HELP += $(NULL_HELP) +export GCC=gcc OBJCOPY = objcopy OBJDUMP = objdump NCC = ncc @@ -23,7 +24,7 @@ INSTALL_SREC = $(MAIN_SREC).out$(if $(NODEID),-$(NODEID),) VOLUMEFILE = volumes-at45db.xml VOLUME_ALLOCATOR ?= tos-storage-at45db -PFLAGS += -Wall -Wshadow $(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) @@ -31,18 +32,29 @@ 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) $(VOLUME_ALLOCATOR) $(VOLUME_ALLOCATOR_FLAGS) <$(VOLUMEFILE) >$@ PFLAGS += -I$(BUILDDIR) +else + +build_storage: + endif ifndef BUILD_DEPS @@ -63,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}); }'