# 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)
#
syntax highlighted by Code2HTML, v. 0.9.1