CPPFLAGS=-std=c++11 -O2 -Wall -l pthread
# CPPFLAGS=-std=c++11 -O0 -g -ggdb3 -Wall -lpthread # debug

all: maxcut preproc revmax ba

maxcut: src/main.cpp src/mygraph.cpp src/algs.cpp src/binheap.cpp src/logger.cpp
	g++ src/main.cpp src/mygraph.cpp src/algs.cpp src/binheap.cpp src/logger.cpp -o maxcut -fopenmp ${CPPFLAGS} -DMAXCUT
revmax: src/main.cpp src/mygraph.cpp src/algs.cpp src/binheap.cpp src/logger.cpp
	g++ src/main.cpp src/mygraph.cpp src/algs.cpp src/binheap.cpp src/logger.cpp -o revmax -fopenmp ${CPPFLAGS} -DREVMAX
debug: src/main.cpp src/mygraph.cpp src/algs.cpp src/binheap.cpp src/logger.cpp
	g++ src/main.cpp src/mygraph.cpp src/algs.cpp src/binheap.cpp src/logger.cpp -o maxcut_debug ${CPPFLAGS} -DENABLE_DEBUG
preproc: src/preprocess.cpp src/mygraph.cpp src/binheap.cpp src/logger.cpp
	g++ src/preprocess.cpp src/mygraph.cpp src/binheap.cpp src/logger.cpp -o preproc  ${CPPFLAGS}
er: src/gen_er.cpp src/mygraph.cpp
	g++ -std=c++11 src/gen_er.cpp -o er
ba: src/gen_ba.cpp src/mygraph.cpp src/logger.cpp src/binheap.cpp 
	g++ -std=c++11 src/gen_ba.cpp src/mygraph.cpp src/logger.cpp src/binheap.cpp  -o ba
clean:
	rm ba maxcut preproc revmax maxcut_debug img
