srcs=$(wildcard *.cpp)
exes=$(srcs:.cpp=)
dots=$(srcs:.cpp=.dot)
pngs=$(srcs:.cpp=.png)
nets=$(srcs:.cpp=.net)

flags=-g -O3 -I./libnnHeaders -L./libnn -lnn

all: libnn $(exes) 
#$(nets) $(dots) $(pngs)

./libnn/libnn.a:
	cd libnn && make

%: %.cpp ./libnn/libnn.a 
	g++ $< -o $@ $(flags)

%.dot: % %.net
	./$<

%.png: %.dot
	dot -Tpng $< -o $@

%.net: %
	./$< train

clean:
	cd libnn && make clean
	rm -f $(exes) $(nets) $(dots) $(pngs)