# makefile for basic SIMLIB examples # expects simlib.so in .. # Linux # installed library home: SIMLIB_DIR=.. # dependencies: SIMLIB_DEPEND=$(SIMLIB_DIR)/simlib.so $(SIMLIB_DIR)/simlib.h SIMLIB_DEPEND2D=$(SIMLIB_DEPEND) $(SIMLIB_DIR)/simlib2D.h SIMLIB_DEPEND3D=$(SIMLIB_DEPEND) $(SIMLIB_DIR)/simlib3D.h # compiler: CXX=g++ # options: # Warning: -- should be with optimization (problem with Process-switching) CXXFLAGS=-g -O2 -I$(SIMLIB_DIR) # Debian GCC 3.4.2 & 2.3.2.ds1 is O.K. #CXXFLAGS=-g -I$(SIMLIB_DIR) # profiling support: #CXXFLAGS=-O2 -pg -static -I$(SIMLIB_DIR) # Implicit Rule to compile modules % : %.cc $(CXX) $(CXXFLAGS) -o $@ $< $(SIMLIB_DIR)/simlib.so -lm # models ALL_MODELS= bessel centrala ctest kolo kolo2 kostky kostky2 lorenz micek micek2 \ model2 model3 model4 model5 multiexp pocsit procesor test3D topeni \ model2-timeout # rules: all: $(ALL_MODELS) # bessel: bessel.cc $(SIMLIB_DEPEND) centrala: centrala.cc $(SIMLIB_DEPEND) ctest: ctest.cc $(SIMLIB_DEPEND) kolo: kolo.cc $(SIMLIB_DEPEND) kolo2: kolo2.cc $(SIMLIB_DEPEND) kostky: kostky.cc $(SIMLIB_DEPEND) kostky2: kostky2.cc $(SIMLIB_DEPEND) lorenz: lorenz.cc $(SIMLIB_DEPEND) micek: micek.cc $(SIMLIB_DEPEND) micek2: micek2.cc $(SIMLIB_DEPEND) model2: model2.cc $(SIMLIB_DEPEND) model2-timeout: model2-timeout.cc $(SIMLIB_DEPEND) model3: model3.cc $(SIMLIB_DEPEND) model4: model4.cc $(SIMLIB_DEPEND) model5: model5.cc $(SIMLIB_DEPEND) multiexp: multiexp.cc $(SIMLIB_DEPEND) pocsit: pocsit.cc $(SIMLIB_DEPEND) procesor: procesor.cc $(SIMLIB_DEPEND) test3D: test3D.cc $(SIMLIB_DEPEND3D) topeni: topeni.cc $(SIMLIB_DEPEND) # run: all @echo "Running all examples..." @echo "echo" $(ALL_MODELS) | sed -e "s/ /;.\//g" | sh plot: run if [ "$(DISPLAY)"="" ]; then open -sw gnuplot all.plt; else gnuplot all.plt; fi clean: @echo "Deleting all executable examples..." rm -f $(ALL_MODELS) *~ clean-data: @echo "Deleting all simulation results..." rm -f *.dat *.out clean-all: clean clean-data REFOUT=reference-outputs/*.dat reference-outputs/*.out reference-outputs/*.sh pack: cp Makefile Makefile.Linux tar czf examples.tar.gz *.cc *.plt *.txt Makefile.* $(REFOUT) #