Makefile 976 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. GUROBI_DIR=/opt/gurobi650/linux64
  2. CPP=g++ -D_GLIBCXX_USE_CXX11_ABI=0 -m64 -g
  3. INC=-I$(GUROBI_DIR)/include
  4. LIBS=-L $(GUROBI_DIR)/lib -lgurobi_c++ -lgurobi65 -lpthread -lm
  5. SOURCES=instance.cpp main.cpp
  6. SOURCES_GUROBI=gurobi.cpp
  7. all: source.zip bd.out moaw.out red.out
  8. bd.out: main
  9. ./main < ../busy_day.in > bd.out
  10. moaw.out: main
  11. ./main < ../mother_of_all_warehouses.in > moaw.out
  12. red.out: main
  13. ./main < ../redundancy.in > red.out
  14. source.zip: $(SOURCES)
  15. zip source.zip $(wildcard *.cpp) $(wildcard *.h)
  16. main: $(SOURCES:.cpp=.o)
  17. $(CPP) -o $@ $^ $(INC) $(LIBS)
  18. gurobi: $(SOURCES_GUROBI:.cpp=.o)
  19. $(CPP) -o $@ $^ $(INC) $(LIBS)
  20. %.o: %.cpp
  21. $(CPP) -o $@ -c $< $(INC)
  22. .PHONY: all clean mrproper init
  23. init:
  24. @echo '# please run the following command'
  25. @echo '# source /dev/stdin <<< "$$(make init)"'
  26. @echo 'export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(GUROBI_DIR)/lib'
  27. clean:
  28. rm -f $(SOURCES:.cpp=.o) $(SOURCES_GUROBI:.cpp=.o)
  29. mrproper: clean
  30. rm -f main gurobi *.out