]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - support/make/sim-cygwin.extra
Merge devel code into the trunk.
[tinyos-2.x.git] / support / make / sim-cygwin.extra
diff --git a/support/make/sim-cygwin.extra b/support/make/sim-cygwin.extra
new file mode 100644 (file)
index 0000000..d4ef781
--- /dev/null
@@ -0,0 +1,42 @@
+#-*-Makefile-*- vim:syntax=make
+#$Id$
+
+GCC=gcc
+GPP=g++
+OPTFLAGS = -g -O0
+LIBS = -lm -lstdc++ 
+PFLAGS += -tossim -fnesc-nido-tosnodes=1000 -fnesc-simulate -fnesc-nido-motenumber=sim_node\(\)  
+WFLAGS = -Wno-nesc-data-race
+
+BUILDDIR   = simbuild/$(PLATFORM)
+CFILE    = $(BUILDDIR)/sim.c
+OBJFILE    = $(BUILDDIR)/sim.o
+CXXFILE    = $(TOSDIR)/lib/tossim/tossim.c
+CXXOBJFILE = $(BUILDDIR)/tossim.o
+PYFILE     = $(TOSDIR)/lib/tossim/tossim_wrap.cxx
+PYOBJFILE  = $(BUILDDIR)/pytossim.o
+PYDIR      =/usr/include/python2.3
+SIMDIR     =$(TOSDIR)/lib/tossim
+XML        = app.xml
+DUMPTYPES = -fnesc-dump=components -fnesc-dump=variables -fnesc-dump=constants -fnesc-dump=typedefs -fnesc-dump=interfacedefs -fnesc-dump=tags
+BUILD_DEPS = sim-exe
+
+# lib/tossim has to come at the end in order to ensure basic TOSSIM
+# implementations are the last resort, so put it directly in the call
+
+sim-exe: builddir $(BUILD_EXTRA_DEPS) FORCE
+       @echo "  placing object files in $(BUILDDIR)"
+       @echo "  writing XML schema to $(XML)"
+       @echo "  compiling $(COMPONENT) to object file sim.o"
+       $(NCC) -c -DUSE_DL_IMPORT -fpic -o $(OBJFILE) $(OPTFLAGS) $(PFLAGS) $(CFLAGS) $(WFLAGS) $(COMPONENT).nc $(LDFLAGS)  $(DUMPTYPES) -fnesc-dumpfile=$(XML)
+
+       @echo "  compiling Python support into pytossim.o and tossim.o"
+       $(GPP) -c -DUSE_DL_IMPORT -shared -fpic -o $(PYOBJFILE) $(OPTFLAGS) $(CFLAGS) $(PYFILE) -I$(PYDIR) -I$(SIMDIR) -DHAVE_CONFIG_H 
+       $(GPP) -c -DUSE_DL_IMPORT -shared -fpic -o $(CXXOBJFILE) $(OPTFLAGS) $(CFLAGS) $(CXXFILE) -I$(PYDIR) -I$(SIMDIR)
+       @echo "  linking into shared object ./_TOSSIM.dll"
+       $(GPP) -fpic -shared -W1,--enable-auto-image-base  $(PYOBJFILE) $(OBJFILE) $(CXXOBJFILE) -L/usr/lib/python2.3/config -lpython2.3 -lstdc++ -o _TOSSIM.dll
+       @echo "  copying Python script interface TOSSIM.py from lib/tossim to local directory"
+       @cp $(TOSDIR)/lib/tossim/TOSSIM.py .
+       @echo " "
+       @echo "*** Successfully built $(PLATFORM) TOSSIM library. "
+