EX=reflex2q3
CC=g++
CFLAGS=-std=c++11 -I"include" -I"lib/Catch/single_include" -I"lib/cxxopts/include" -I"/usr/include/eigen3"
TESTEX=bin/runtests

all: main test

main: planes.o brushdef.o oopless-parser.o EntityConverter.o
	$(CC) $^ src/main.cpp $(CFLAGS) -o $(EX) 

test:  planes.o brushdef.o oopless-parser.o EntityConverter.o catch.o
	$(CC) $^ $(CFLAGS) -o $(TESTEX)
	 cp runtests .git/hooks/pre-commit

catch.o: test/catch.cpp
	$(CC) -c $^ $(CFLAGS)

oopless-parser.o: src/oopless-parser.cpp
	$(CC) -c $^ $(CFLAGS)

brushdef.o: src/brushdef.cpp
	$(CC) -c $^ $(CFLAGS)

planes.o: src/planes.cpp
	$(CC) -c $^ $(CFLAGS)

EntityConverter.o: src/EntityConverter.cpp
	$(CC) -c $^ $(CFLAGS)

clean:
	rm *.o *.log $(EX)