# makefile for basic SIMLIB examples
# Linux

# installed library home:
SIMLIB_DIR=..

# dependencies:
SIMLIB_DEPEND=$(SIMLIB_DIR)/simlib-c.a $(SIMLIB_DIR)/simlib.h
SIMLIB_DEPEND2D=$(SIMLIB_DEPEND) $(SIMLIB_DIR)/simlib2D.h
SIMLIB_DEPEND3D=$(SIMLIB_DEPEND) $(SIMLIB_DIR)/simlib3D.h

# compiler:
CXX=g++

# options:
# PRODUCTION CODE:
CXXFLAGS=-O2 -static -I$(SIMLIB_DIR) $(SIMLIB_DIR)/simlib-c.a -lm
# profiling support:
#CXXFLAGS=-O2 -pg -static -I$(SIMLIB_DIR) $(SIMLIB_DIR)/simlib.a -lm_p

# Implicit Rule to compile modules
% : %.cc
#	$(CXX) $(CXXFLAGS) -o $@  $< 
	$(CXX) $(CXXFLAGS) -o $@  $< $(SIMLIB_DIR)/simlib-c.a -lm

# models
ALL_MODELS= bessel ctest kolo kolo2 lorenz micek micek2 test3D topeni

# 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

pack:
	cp Makefile Makefile.Linux
	tar czf examples.tar.gz *.cc *.plt Makefile.*

#


syntax highlighted by Code2HTML, v. 0.9.1