INC := -I include
STD := -std=c++11

main: compile link

compile:
	g++ $(INC) $(STD) -c -o build/main.o src/main.cpp
	g++ $(INC) $(STD) -c -o build/sort_controller.o src/sort_controller.cpp
	g++ $(INC) $(STD) -c -o build/basic_sorts.o src/basic_sorts.cpp
	g++ $(INC) $(STD) -c -o build/trees.o src/trees.cpp

link:
	g++ -o bin/main.out build/*.o

test: main
	bin/main.out -a > test/SortTimes.txt
	test/CheckSortedOutputs.sh

clean:
	rm build/*.o bin/*.out test/OUTPUT/*.txt
