GUROBI_DIR=/opt/gurobi650/linux64 CPP=g++ -O2 -D_GLIBCXX_USE_CXX11_ABI=0 -m64 -g INC=-I$(GUROBI_DIR)/include LIBS=-L $(GUROBI_DIR)/lib -lgurobi_c++ -lgurobi65 -lpthread -lm SOURCES=instance.cpp main.cpp SOURCES_GUROBI=gurobi.cpp all: source.zip bd.out moaw.out red.out bd.out: main ./main < ../busy_day.in > /tmp/hashcode wc -l /tmp/hashcode | cut -d' ' -f1 > bd.out cat /tmp/hashcode >> bd.out moaw.out: main ./main < ../mother_of_all_warehouses.in > /tmp/hashcode wc -l /tmp/hashcode | cut -d' ' -f1 > moaw.out cat /tmp/hashcode >> moaw.out red.out: main ./main < ../redundancy.in > /tmp/hashcode wc -l /tmp/hashcode | cut -d' ' -f1 > red.out cat /tmp/hashcode >> red.out source.zip: $(SOURCES) zip source.zip $(wildcard *.cpp) $(wildcard *.h) main: $(SOURCES:.cpp=.o) $(CPP) -o $@ $^ $(INC) $(LIBS) gurobi: $(SOURCES_GUROBI:.cpp=.o) $(CPP) -o $@ $^ $(INC) $(LIBS) %.o: %.cpp $(CPP) -o $@ -c $< $(INC) .PHONY: all clean mrproper init init: @echo '# please run the following command' @echo '# source /dev/stdin <<< "$$(make init)"' @echo 'export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(GUROBI_DIR)/lib' clean: rm -f $(SOURCES:.cpp=.o) $(SOURCES_GUROBI:.cpp=.o) mrproper: clean rm -f main gurobi *.out