#EXTRA_CXXFLAGS=-Wno-unused-parameter -Wno-self-assign-field
EXTRA_CXXFLAGS=-Wno-unused-parameter
CXXFLAGS=-Wall -W -Wno-unused-variable -Wno-empty-body $(EXTRA_CXXFLAGS) -g -O3 -std=c++98
CPPFLAGS=-I/opt/local/include -I..
LDFLAGS=-L/opt/local/lib
LOADLIBES=

04predict: CPPFLAGS=-I/opt/local/include -I/opt/local/include/boost-numeric-bindings -I..
04predict: LDFLAGS=-L/opt/local/lib -L$(HOME)/import/local/science/blas+lapack+atlas/clapack-3.2.1-CMAKE-yatihoko
04predict: LOADLIBES=-ltmglib -llapack -lblas -lf2c

04.1predict: CPPFLAGS=-I/opt/local/include -I/opt/local/include/boost-numeric-bindings -I..
04.1predict: LDFLAGS=-L/opt/local/lib -L$(HOME)/import/local/science/blas+lapack+atlas/clapack-3.2.1-CMAKE-yatihoko
04.1predict: LOADLIBES=-ltmglib -llapack -lblas -lf2c

EXES=\
00timeseries	\
01embed	\
02database	\
03predict	\
04predict	\
04.1predict	\
05predict	\
05.1predict	\

all: $(EXES)

clean:
	rm -f $(EXES)
	rm -rf $(EXES:%=%.dSYM)

examples:
	../generate-timeseries --lorenz -delta_t 0.02 -i 10000 > example.dat
	./00timeseries < example.dat > example.dat.io && diff example.dat example.dat.io
	./01embed < example.dat > example.dat.emb
	./02database < example.dat
	./03predict < example.dat > example.dat.emb.prd
	./04predict < example.dat > example.dat.emb.prd2
	./04.1predict < example.dat > example.dat.emb.prd2.1
	./05predict < example.dat > example.dat.emb.prd3
	./05.1predict < example.dat > example.dat.emb.prd3.1
	gnuplot -e 'set terminal postscript eps 16; set output "example.dat.eps"; set datafile separator ","; plot "example.dat" using 1:3 with lines;'
#	gnuplot -e 'set datafile separator ","; plot "example.dat" using 1:3 with lines; pause mouse keypress;'
	gnuplot -e 'set terminal postscript eps 16; set output "example.dat.emb.eps"; set datafile separator ","; splot "example.dat.emb" with lines;'
#	gnuplot -e 'set datafile separator ","; splot "example.dat.emb" with lines; pause mouse keypress;'
	gnuplot -e 'set terminal postscript eps 16; set output "example.dat.emb.prd.eps"; set datafile separator ","; plot "example.dat.emb.prd" with lines;'
#	gnuplot -e 'set datafile separator ","; plot "example.dat.emb.prd" with lines; pause mouse keypress;'
	gnuplot -e 'set terminal postscript eps 16; set output "example.dat.emb.prd2.eps"; set datafile separator ","; plot "example.dat.emb.prd2" with lines;'
#	gnuplot -e 'set datafile separator ","; plot "example.dat.emb.prd2" with lines; pause mouse keypress;'
	gnuplot -e 'set terminal postscript eps 16; set output "example.dat.emb.prd2.1.eps"; set datafile separator ","; plot "example.dat.emb.prd2.1" with lines;'
#	gnuplot -e 'set datafile separator ","; plot "example.dat.emb.prd2.1" with lines; pause mouse keypress;'
	gnuplot -e 'set terminal postscript eps 16; set output "example.dat.emb.prd3.eps"; set datafile separator ","; plot "example.dat.emb.prd3" with lines;'
#	gnuplot -e 'set datafile separator ","; plot "example.dat.emb.prd3" with lines; pause mouse keypress;'
	gnuplot -e 'set terminal postscript eps 16; set output "example.dat.emb.prd3.1.eps"; set datafile separator ","; plot "example.dat.emb.prd3.1" with lines;'
#	gnuplot -e 'set datafile separator ","; plot "example.dat.emb.prd3.1" with lines; pause mouse keypress;'

test: testclean
	sh test.sh
	sh test_2.sh

testclean:
	find -name 'lorenz.dat.*' -exec rm {} \;
	find -name 'lorenz_2.dat.*' -exec rm {} \;
