CXX ?= g++ CXXFLAGS = CXX_FLAGS = -Wall -Wshadow -Wextra -pedantic -std=c++11 -pthread -I../include CXX_RELEASE_FLAGS = -O3 -march=native CXX_DEBUG_FLAGS= -g all: example bench debug: example-debug bench-debug example: example.cpp $(CXX) example.cpp -o example $(CXX_FLAGS) $(CXX_RELEASE_FLAGS) $(CXXFLAGS) bench: bench.cpp $(CXX) bench.cpp -o bench $(CXX_FLAGS) $(CXX_RELEASE_FLAGS) $(CXXFLAGS) example-debug: example.cpp $(CXX) example.cpp -o example-debug $(CXX_FLAGS) $(CXX_DEBUG_FLAGS) $(CXXFLAGS) bench-debug: bench.cpp $(CXX) bench.cpp -o bench-debug $(CXX_FLAGS) $(CXX_DEBUG_FLAGS) $(CXXFLAGS) clean: rm -f *.o logs/*.txt example example-debug bench bench-debug rebuild: clean all rebuild-debug: clean debug