CXX	= clang++
CXXFLAGS	= -march=native -Wall -Wextra -Wshadow -pedantic -std=c++11 -pthread -I../include
CXX_RELEASE_FLAGS = -O2
CXX_DEBUG_FLAGS= -g 


all:	example bench
debug: example-debug bench-debug

example: example.cpp
	$(CXX) example.cpp -o example-clang $(CXXFLAGS) $(CXX_RELEASE_FLAGS)

bench: bench.cpp
	$(CXX) bench.cpp -o bench-clang $(CXXFLAGS) $(CXX_RELEASE_FLAGS)
	

example-debug: example.cpp
	$(CXX) example.cpp -o example-clang-debug $(CXXFLAGS) $(CXX_DEBUG_FLAGS)
	
bench-debug: bench.cpp
	$(CXX) bench.cpp -o bench-clang-debug $(CXXFLAGS) $(CXX_DEBUG_FLAGS)	



clean:
	rm -f *.o logs/*.txt example-clang example-clang-debug bench-clang bench-clang-debug 


rebuild: clean all
rebuild-debug: clean debug