X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=support%2Fmake%2Fsim-cygwin.extra;fp=support%2Fmake%2Fsim-cygwin.extra;h=d4ef781384faa90b0aa295119ef909d5e761f3a5;hb=1ba974b83d19fc41bf80acd52726f36f7f1df297;hp=0000000000000000000000000000000000000000;hpb=4db69a460ad5d18d33cbf5c3ef74ad584d9e2886;p=tinyos-2.x.git diff --git a/support/make/sim-cygwin.extra b/support/make/sim-cygwin.extra new file mode 100644 index 00000000..d4ef7813 --- /dev/null +++ b/support/make/sim-cygwin.extra @@ -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. " +