LIBS = -lm -lstdc++
PFLAGS += -tossim -fnesc-nido-tosnodes=1000 -fnesc-simulate -fnesc-nido-motenumber=sim_node\(\)
WFLAGS = -Wno-nesc-data-race
-PYTHON_VERSION=2.3
+PYTHON_VERSION=2.5
BUILDDIR = simbuild/$(PLATFORM)
CFILE = $(BUILDDIR)/sim.c
XML = app.xml
DUMPTYPES = -fnesc-dump=components -fnesc-dump=variables -fnesc-dump=constants -fnesc-dump=typedefs -fnesc-dump=interfacedefs -fnesc-dump=tags
-ifeq ($(OSTYPE), cygwin)
+ifeq ($(findstring cygwin, $(OSTYPE)),cygwin)
PLATFORM_FLAGS=-DUSE_DL_IMPORT -fpic
SHARED_OBJECT=_TOSSIM.dll
PLATFORM_BUILD_FLAGS= -fpic -W1,--enabled-auto-image-base
- PLATFORM_LIB_FLAGS = -L/$(PYDIR)/config -lstdc++ -lpython$(PYTHON_VERSION)
+ PLATFORM_LIB_FLAGS = -L/usr/lib/python$(PYTHON_VERSION)/config -L/$(PYDIR)/config -lstdc++ -lpython$(PYTHON_VERSION)
else
-ifeq ($(OSTYPE), darwin)
- PLATFORM_FLAGS=-fPIC
- PLATFORM_CC_FLAGS=-bundle
- SHARED_OBJECT=_TOSSIMmodule.so
- PLATFORM_BUILD_FLAGS=-flat_namespace -undefined suppress
- PLATFORM_LIB_FLAGS = -lstdc++
+ifeq ($(OS), Windows_NT) # Some TinyOS installs are like this
+ PLATFORM_FLAGS=-DUSE_DL_IMPORT -fpic
+ SHARED_OBJECT=_TOSSIM.dll
+ PLATFORM_BUILD_FLAGS= -fpic -W1,--enabled-auto-image-base
+ PLATFORM_LIB_FLAGS =-shared -L/usr/lib/python$(PYTHON_VERSION)/config -L/$(PYDIR)/config -lstdc++ -lpython$(PYTHON_VERSION)
+else
+ifeq ($(findstring darwin, $(OSTYPE)), darwin)
+ SIM_DARWIN=TRUE
+else
+ifeq ($(findstring Darwin, $(shell uname)), Darwin)
+ SIM_DARWIN = TRUE
else # linux
PLATFORM_FLAGS=-shared -fPIC
SHARED_OBJECT=_TOSSIMmodule.so
PLATFORM_BUILD_FLAGS= -shared -fPIC
endif
endif
-
+endif
+endif
+ifdef SIM_DARWIN
+ PLATFORM_FLAGS=-fPIC
+ PLATFORM_CC_FLAGS=-bundle
+ SHARED_OBJECT=_TOSSIMmodule.so
+ PLATFORM_BUILD_FLAGS=-flat_namespace -undefined suppress
+ PLATFORM_LIB_FLAGS = -lstdc++
+endif
+
BUILD_DEPS = sim-exe
# lib/tossim has to come at the end in order to ensure basic TOSSIM