diff --git a/makefiles/Makefile.java.mk b/makefiles/Makefile.java.mk index 0001e23da5..1a918cad8c 100755 --- a/makefiles/Makefile.java.mk +++ b/makefiles/Makefile.java.mk @@ -364,8 +364,6 @@ compile_MultiThreadIntegerProgramming: $(OBJ_DIR)/com/google/ortools/samples/Mul $(OBJ_DIR)/com/google/ortools/samples/MultiThreadTest.class: javaortools $(EX_DIR)/com/google/ortools/samples/MultiThreadTest.java $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar $(EX_DIR)$Scom$Sgoogle$Sortools$Ssamples$SMultiThreadTest.java - - # Compile and Run CP java example: $(OBJ_DIR)/com/google/ortools/samples/$(EX).class: javaortools $(EX_DIR)/com/google/ortools/samples/$(EX).java diff --git a/tools/Makefile.cc b/tools/Makefile.cc index d47f92418d..88febf2408 100644 --- a/tools/Makefile.cc +++ b/tools/Makefile.cc @@ -26,11 +26,15 @@ else endif # Useful directories. -BIN_DIR = $(OR_ROOT)bin +CPP_BIN_DIR = $(OR_ROOT)bin$Scpp +CS_BIN_DIR = $(OR_ROOT)bin$Scsharp OBJ_DIR = $(OR_ROOT)objs -EX_DIR = $(OR_ROOT)examples$Scpp +CPP_EX_DIR = $(OR_ROOT)examples$Scpp +JAVA_EX_DIR = $(OR_ROOL)examples$Scom +CS_EX_DIR = $(OR_ROOT)examples$Scsharp INC_EX_DIR = $(OR_ROOT)examples INC_DIR = $(OR_ROOT)include +LIB_DIR = $(OR_ROOT)lib # Unix specific part. ifeq ("$(SYSTEM)","unix") @@ -48,9 +52,13 @@ ifeq ("$(SYSTEM)","unix") ifeq ($(LBITS),64) PORT = Linux64 ARCH = -DARCH_K8 + NETPLATFORM = anycpu else PORT = Linux32 + NETPLATFORM = x86 endif + CSC = mcs + MONO = LD_LIBRARY_PATH=$(LIB_DIR):$(LD_LIBRARY_PATH) mono endif ifeq ($(OS),Darwin) # Assume Mac Os X CCC = clang++ -fPIC -std=c++11 @@ -60,6 +68,9 @@ ifeq ("$(SYSTEM)","unix") DIMACS_LIBS = -L$(OR_ROOT)lib -ldimacs -lortools ARCH = -DARCH_K8 PORT = MacOsX64 + CSC = mcs + MONO = DYLD_FALLBACK_LIBRARY_PATH=$(LIB_DIR):$(DYLD_LIBRARY_PATH) mono64 + NETPLATFORM = x64 endif O = o E = @@ -67,6 +78,7 @@ ifeq ("$(SYSTEM)","unix") EXE_OUT = -o # DEL = rm -f S = / + CPSEP = : CLP_INC = -DUSE_CLP CBC_INC = -DUSE_CBC GLOP_INC = -DUSE_GLOP @@ -86,8 +98,10 @@ ifeq ("$(SYSTEM)","win") endif ifeq ("$(PLATFORM)", "Win64") PORT = VisualStudio$(VISUAL_STUDIO)-64b + NETPLATFORM = x64 else PORT = VisualStudio$(VISUAL_STUDIO)-32b + NETPLATFORM = x86 endif CLP_INC = -DUSE_CLP CBC_INC = -DUSE_CBC @@ -107,236 +121,257 @@ ifeq ("$(SYSTEM)","win") EXE_OUT = /Fe DEL = del S = \\ + CPSEP = ; DEBUG=/O2 -DNDEBUG CCC=cl /EHsc /MD /nologo + CSC=csc + MONO= endif .PHONY: all clean all: \ - $(BIN_DIR)/cpp/costas_array$E\ - $(BIN_DIR)/cpp/cryptarithm$E\ - $(BIN_DIR)/cpp/cvrp_disjoint_tw$E\ - $(BIN_DIR)/cpp/cvrptw$E\ - $(BIN_DIR)/cpp/cvrptw_with_refueling$E\ - $(BIN_DIR)/cpp/cvrptw_with_resources$E\ - $(BIN_DIR)/cpp/cvrptw_with_stop_times_and_resources$E\ - $(BIN_DIR)/cpp/dimacs_assignment$E\ - $(BIN_DIR)/cpp/dobble_ls$E\ - $(BIN_DIR)/cpp/flexible_jobshop$E\ - $(BIN_DIR)/cpp/golomb$E\ - $(BIN_DIR)/cpp/jobshop$E\ - $(BIN_DIR)/cpp/jobshop_ls$E\ - $(BIN_DIR)/cpp/jobshop_earlytardy$E\ - $(BIN_DIR)/cpp/magic_square$E\ - $(BIN_DIR)/cpp/model_util$E\ - $(BIN_DIR)/cpp/multidim_knapsack$E\ - $(BIN_DIR)/cpp/network_routing$E\ - $(BIN_DIR)/cpp/nqueens$E\ - $(BIN_DIR)/cpp/pdptw$E\ - $(BIN_DIR)/cpp/sports_scheduling$E\ - $(BIN_DIR)/cpp/tsp$E\ - $(BIN_DIR)/cpp/linear_assignment_api$E\ - $(BIN_DIR)/cpp/strawberry_fields_with_column_generation$E\ - $(BIN_DIR)/cpp/linear_programming$E\ - $(BIN_DIR)/cpp/linear_solver_protocol_buffers$E\ - $(BIN_DIR)/cpp/integer_programming$E \ - $(BIN_DIR)/cpp/flow_api$E + $(CPP_BIN_DIR)$Scostas_array$E\ + $(CPP_BIN_DIR)$Scryptarithm$E\ + $(CPP_BIN_DIR)$Scvrp_disjoint_tw$E\ + $(CPP_BIN_DIR)$Scvrptw$E\ + $(CPP_BIN_DIR)$Scvrptw_with_refueling$E\ + $(CPP_BIN_DIR)$Scvrptw_with_resources$E\ + $(CPP_BIN_DIR)$Scvrptw_with_stop_times_and_resources$E\ + $(CPP_BIN_DIR)$Sdimacs_assignment$E\ + $(CPP_BIN_DIR)$Sdobble_ls$E\ + $(CPP_BIN_DIR)$Sflexible_jobshop$E\ + $(CPP_BIN_DIR)$Sgolomb$E\ + $(CPP_BIN_DIR)$Sjobshop$E\ + $(CPP_BIN_DIR)$Sjobshop_ls$E\ + $(CPP_BIN_DIR)$Sjobshop_earlytardy$E\ + $(CPP_BIN_DIR)$Smagic_square$E\ + $(CPP_BIN_DIR)$Smodel_util$E\ + $(CPP_BIN_DIR)$Smultidim_knapsack$E\ + $(CPP_BIN_DIR)$Snetwork_routing$E\ + $(CPP_BIN_DIR)$Snqueens$E\ + $(CPP_BIN_DIR)$Spdptw$E\ + $(CPP_BIN_DIR)$Ssports_scheduling$E\ + $(CPP_BIN_DIR)$Stsp$E\ + $(CPP_BIN_DIR)$Slinear_assignment_api$E\ + $(CPP_BIN_DIR)$Sstrawberry_fields_with_column_generation$E\ + $(CPP_BIN_DIR)$Slinear_programming$E\ + $(CPP_BIN_DIR)$Slinear_solver_protocol_buffers$E\ + $(CPP_BIN_DIR)$Sinteger_programming$E \ + $(CPP_BIN_DIR)$Sflow_api$E clean: - $(DEL) $(BIN_DIR)$Scpp$S* + $(DEL) $(CPP_BIN_DIR)$S* $(DEL) $(OBJ_DIR)$S*$O test: - $(BIN_DIR)$Scpp$Scostas_array$E - $(BIN_DIR)$Scpp$Scryptarithm$E - $(BIN_DIR)$Scpp$Scvrp_disjoint_tw$E - $(BIN_DIR)$Scpp$Scvrptw$E - $(BIN_DIR)$Scpp$Sgolomb$E - $(BIN_DIR)$Scpp$Sjobshop$E --data_file examples$Sdata$Syn1.txt - $(BIN_DIR)$Scpp$Smagic_square$E - $(BIN_DIR)$Scpp$Snqueens$E - $(BIN_DIR)$Scpp$Stsp$E - $(BIN_DIR)$Scpp$Slinear_assignment_api$E - $(BIN_DIR)$Scpp$Slinear_programming$E - $(BIN_DIR)$Scpp$Slinear_solver_protocol_buffers$E - $(BIN_DIR)$Scpp$Sinteger_programming$E - $(BIN_DIR)$Scpp$Sflow_api$E + $(CPP_BIN_DIR)$Scostas_array$E + $(CPP_BIN_DIR)$Scryptarithm$E + $(CPP_BIN_DIR)$Scvrp_disjoint_tw$E + $(CPP_BIN_DIR)$Scvrptw$E + $(CPP_BIN_DIR)$Sgolomb$E + $(CPP_BIN_DIR)$Sjobshop$E --data_file examples$Sdata$Syn1.txt + $(CPP_BIN_DIR)$Smagic_square$E + $(CPP_BIN_DIR)$Snqueens$E + $(CPP_BIN_DIR)$Stsp$E + $(CPP_BIN_DIR)$Slinear_assignment_api$E + $(CPP_BIN_DIR)$Slinear_programming$E + $(CPP_BIN_DIR)$Slinear_solver_protocol_buffers$E + $(CPP_BIN_DIR)$Sinteger_programming$E + $(CPP_BIN_DIR)$Sflow_api$E # Constraint Programming and Routing examples. -$(OBJ_DIR)/costas_array.$O: $(EX_DIR)/costas_array.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Scostas_array.cc $(OBJ_OUT)$(OBJ_DIR)$Scostas_array.$O +$(OBJ_DIR)$Scostas_array.$O: $(CPP_EX_DIR)$Scostas_array.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Scostas_array.cc $(OBJ_OUT)$(OBJ_DIR)$Scostas_array.$O -$(BIN_DIR)/cpp/costas_array$E: $(OBJ_DIR)/costas_array.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/costas_array.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Scostas_array$E +$(CPP_BIN_DIR)$Scostas_array$E: $(OBJ_DIR)$Scostas_array.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Scostas_array.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Scostas_array$E -$(OBJ_DIR)/cryptarithm.$O:$(EX_DIR)/cryptarithm.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Scryptarithm.cc $(OBJ_OUT)$(OBJ_DIR)$Scryptarithm.$O +$(OBJ_DIR)$Scryptarithm.$O:$(CPP_EX_DIR)$Scryptarithm.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Scryptarithm.cc $(OBJ_OUT)$(OBJ_DIR)$Scryptarithm.$O -$(BIN_DIR)/cpp/cryptarithm$E: $(OBJ_DIR)/cryptarithm.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/cryptarithm.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Scryptarithm$E +$(CPP_BIN_DIR)$Scryptarithm$E: $(OBJ_DIR)$Scryptarithm.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Scryptarithm.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Scryptarithm$E -$(OBJ_DIR)/cvrp_disjoint_tw.$O: $(EX_DIR)/cvrp_disjoint_tw.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Scvrp_disjoint_tw.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrp_disjoint_tw.$O +$(OBJ_DIR)$Scvrp_disjoint_tw.$O: $(CPP_EX_DIR)$Scvrp_disjoint_tw.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Scvrp_disjoint_tw.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrp_disjoint_tw.$O -$(BIN_DIR)/cpp/cvrp_disjoint_tw$E: $(OBJ_DIR)/cvrp_disjoint_tw.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/cvrp_disjoint_tw.$O $(CVRPTW_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Scvrp_disjoint_tw$E +$(CPP_BIN_DIR)$Scvrp_disjoint_tw$E: $(OBJ_DIR)$Scvrp_disjoint_tw.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Scvrp_disjoint_tw.$O $(CVRPTW_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Scvrp_disjoint_tw$E -$(OBJ_DIR)/cvrptw.$O: $(EX_DIR)/cvrptw.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Scvrptw.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrptw.$O +$(OBJ_DIR)$Scvrptw.$O: $(CPP_EX_DIR)$Scvrptw.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Scvrptw.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrptw.$O -$(BIN_DIR)/cpp/cvrptw$E: $(OBJ_DIR)/cvrptw.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/cvrptw.$O $(CVRPTW_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Scvrptw$E +$(CPP_BIN_DIR)$Scvrptw$E: $(OBJ_DIR)$Scvrptw.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Scvrptw.$O $(CVRPTW_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Scvrptw$E -$(OBJ_DIR)/cvrptw_with_refueling.$O: $(EX_DIR)/cvrptw_with_refueling.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Scvrptw_with_refueling.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrptw_with_refueling.$O +$(OBJ_DIR)$Scvrptw_with_refueling.$O: $(CPP_EX_DIR)$Scvrptw_with_refueling.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Scvrptw_with_refueling.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrptw_with_refueling.$O -$(BIN_DIR)/cpp/cvrptw_with_refueling$E: $(OBJ_DIR)/cvrptw_with_refueling.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/cvrptw_with_refueling.$O $(CVRPTW_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Scvrptw_with_refueling$E +$(CPP_BIN_DIR)$Scvrptw_with_refueling$E: $(OBJ_DIR)$Scvrptw_with_refueling.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Scvrptw_with_refueling.$O $(CVRPTW_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Scvrptw_with_refueling$E -$(OBJ_DIR)/cvrptw_with_resources.$O: $(EX_DIR)/cvrptw_with_resources.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Scvrptw_with_resources.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrptw_with_resources.$O +$(OBJ_DIR)$Scvrptw_with_resources.$O: $(CPP_EX_DIR)$Scvrptw_with_resources.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Scvrptw_with_resources.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrptw_with_resources.$O -$(BIN_DIR)/cpp/cvrptw_with_resources$E: $(OBJ_DIR)/cvrptw_with_resources.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/cvrptw_with_resources.$O $(CVRPTW_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Scvrptw_with_resources$E +$(CPP_BIN_DIR)$Scvrptw_with_resources$E: $(OBJ_DIR)$Scvrptw_with_resources.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Scvrptw_with_resources.$O $(CVRPTW_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Scvrptw_with_resources$E -$(OBJ_DIR)/cvrptw_with_stop_times_and_resources.$O: $(EX_DIR)/cvrptw_with_stop_times_and_resources.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Scvrptw_with_stop_times_and_resources.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrptw_with_stop_times_and_resources.$O +$(OBJ_DIR)$Scvrptw_with_stop_times_and_resources.$O: $(CPP_EX_DIR)$Scvrptw_with_stop_times_and_resources.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Scvrptw_with_stop_times_and_resources.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrptw_with_stop_times_and_resources.$O -$(BIN_DIR)/cpp/cvrptw_with_stop_times_and_resources$E: $(OBJ_DIR)/cvrptw_with_stop_times_and_resources.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/cvrptw_with_stop_times_and_resources.$O $(CVRPTW_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Scvrptw_with_stop_times_and_resources$E +$(CPP_BIN_DIR)$Scvrptw_with_stop_times_and_resources$E: $(OBJ_DIR)$Scvrptw_with_stop_times_and_resources.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Scvrptw_with_stop_times_and_resources.$O $(CVRPTW_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Scvrptw_with_stop_times_and_resources$E -$(OBJ_DIR)/dimacs_assignment.$O:$(EX_DIR)/dimacs_assignment.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Sdimacs_assignment.cc $(OBJ_OUT)$(OBJ_DIR)$Sdimacs_assignment.$O +$(OBJ_DIR)$Sdimacs_assignment.$O:$(CPP_EX_DIR)$Sdimacs_assignment.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Sdimacs_assignment.cc $(OBJ_OUT)$(OBJ_DIR)$Sdimacs_assignment.$O -$(BIN_DIR)/cpp/dimacs_assignment$E: $(OBJ_DIR)/dimacs_assignment.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/dimacs_assignment.$O $(DIMACS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Sdimacs_assignment$E +$(CPP_BIN_DIR)$Sdimacs_assignment$E: $(OBJ_DIR)$Sdimacs_assignment.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Sdimacs_assignment.$O $(DIMACS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Sdimacs_assignment$E -$(OBJ_DIR)/dobble_ls.$O:$(EX_DIR)/dobble_ls.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Sdobble_ls.cc $(OBJ_OUT)$(OBJ_DIR)$Sdobble_ls.$O +$(OBJ_DIR)$Sdobble_ls.$O:$(CPP_EX_DIR)$Sdobble_ls.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Sdobble_ls.cc $(OBJ_OUT)$(OBJ_DIR)$Sdobble_ls.$O -$(BIN_DIR)/cpp/dobble_ls$E: $(OBJ_DIR)/dobble_ls.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/dobble_ls.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Sdobble_ls$E +$(CPP_BIN_DIR)$Sdobble_ls$E: $(OBJ_DIR)$Sdobble_ls.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Sdobble_ls.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Sdobble_ls$E -$(OBJ_DIR)/flexible_jobshop.$O:$(EX_DIR)/flexible_jobshop.cc $(INC_DIR)/constraint_solver/constraint_solver.h $(EX_DIR)/flexible_jobshop.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Sflexible_jobshop.cc $(OBJ_OUT)$(OBJ_DIR)$Sflexible_jobshop.$O +$(OBJ_DIR)$Sflexible_jobshop.$O:$(CPP_EX_DIR)$Sflexible_jobshop.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h $(CPP_EX_DIR)$Sflexible_jobshop.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Sflexible_jobshop.cc $(OBJ_OUT)$(OBJ_DIR)$Sflexible_jobshop.$O -$(BIN_DIR)/cpp/flexible_jobshop$E: $(OBJ_DIR)/flexible_jobshop.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/flexible_jobshop.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Sflexible_jobshop$E +$(CPP_BIN_DIR)$Sflexible_jobshop$E: $(OBJ_DIR)$Sflexible_jobshop.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Sflexible_jobshop.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Sflexible_jobshop$E -$(OBJ_DIR)/golomb.$O:$(EX_DIR)/golomb.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Sgolomb.cc $(OBJ_OUT)$(OBJ_DIR)$Sgolomb.$O +$(OBJ_DIR)$Sgolomb.$O:$(CPP_EX_DIR)$Sgolomb.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Sgolomb.cc $(OBJ_OUT)$(OBJ_DIR)$Sgolomb.$O -$(BIN_DIR)/cpp/golomb$E: $(OBJ_DIR)/golomb.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/golomb.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Sgolomb$E +$(CPP_BIN_DIR)$Sgolomb$E: $(OBJ_DIR)$Sgolomb.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Sgolomb.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Sgolomb$E -$(OBJ_DIR)/jobshop.$O:$(EX_DIR)/jobshop.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Sjobshop.cc $(OBJ_OUT)$(OBJ_DIR)$Sjobshop.$O +$(OBJ_DIR)$Sjobshop.$O:$(CPP_EX_DIR)$Sjobshop.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Sjobshop.cc $(OBJ_OUT)$(OBJ_DIR)$Sjobshop.$O -$(BIN_DIR)/cpp/jobshop$E: $(OBJ_DIR)/jobshop.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/jobshop.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Sjobshop$E +$(CPP_BIN_DIR)$Sjobshop$E: $(OBJ_DIR)$Sjobshop.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Sjobshop.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Sjobshop$E -$(OBJ_DIR)/jobshop_ls.$O:$(EX_DIR)/jobshop_ls.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Sjobshop_ls.cc $(OBJ_OUT)$(OBJ_DIR)$Sjobshop_ls.$O +$(OBJ_DIR)$Sjobshop_ls.$O:$(CPP_EX_DIR)$Sjobshop_ls.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Sjobshop_ls.cc $(OBJ_OUT)$(OBJ_DIR)$Sjobshop_ls.$O -$(BIN_DIR)/cpp/jobshop_ls$E: $(OBJ_DIR)/jobshop_ls.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/jobshop_ls.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Sjobshop_ls$E +$(CPP_BIN_DIR)$Sjobshop_ls$E: $(OBJ_DIR)$Sjobshop_ls.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Sjobshop_ls.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Sjobshop_ls$E -$(OBJ_DIR)/jobshop_earlytardy.$O:$(EX_DIR)/jobshop_earlytardy.cc $(INC_DIR)/constraint_solver/constraint_solver.h $(EX_DIR)/jobshop_earlytardy.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Sjobshop_earlytardy.cc $(OBJ_OUT)$(OBJ_DIR)$Sjobshop_earlytardy.$O +$(OBJ_DIR)$Sjobshop_earlytardy.$O:$(CPP_EX_DIR)$Sjobshop_earlytardy.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h $(CPP_EX_DIR)$Sjobshop_earlytardy.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Sjobshop_earlytardy.cc $(OBJ_OUT)$(OBJ_DIR)$Sjobshop_earlytardy.$O -$(BIN_DIR)/cpp/jobshop_earlytardy$E: $(OBJ_DIR)/jobshop_earlytardy.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/jobshop_earlytardy.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Sjobshop_earlytardy$E +$(CPP_BIN_DIR)$Sjobshop_earlytardy$E: $(OBJ_DIR)$Sjobshop_earlytardy.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Sjobshop_earlytardy.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Sjobshop_earlytardy$E -$(OBJ_DIR)/magic_square.$O:$(EX_DIR)/magic_square.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Smagic_square.cc $(OBJ_OUT)$(OBJ_DIR)$Smagic_square.$O +$(OBJ_DIR)$Smagic_square.$O:$(CPP_EX_DIR)$Smagic_square.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Smagic_square.cc $(OBJ_OUT)$(OBJ_DIR)$Smagic_square.$O -$(BIN_DIR)/cpp/magic_square$E: $(OBJ_DIR)/magic_square.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/magic_square.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Smagic_square$E +$(CPP_BIN_DIR)$Smagic_square$E: $(OBJ_DIR)$Smagic_square.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Smagic_square.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Smagic_square$E -$(OBJ_DIR)/model_util.$O:$(EX_DIR)/model_util.cc $(INC_DIR)/constraint_solver/model.pb.h $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Smodel_util.cc $(OBJ_OUT)$(OBJ_DIR)$Smodel_util.$O +$(OBJ_DIR)$Smodel_util.$O:$(CPP_EX_DIR)$Smodel_util.cc $(INC_DIR)$Sconstraint_solver$Smodel.pb.h $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Smodel_util.cc $(OBJ_OUT)$(OBJ_DIR)$Smodel_util.$O -$(BIN_DIR)/cpp/model_util$E: $(OBJ_DIR)/model_util.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/model_util.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Smodel_util$E +$(CPP_BIN_DIR)$Smodel_util$E: $(OBJ_DIR)$Smodel_util.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Smodel_util.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Smodel_util$E -$(OBJ_DIR)/multidim_knapsack.$O:$(EX_DIR)/multidim_knapsack.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Smultidim_knapsack.cc $(OBJ_OUT)$(OBJ_DIR)$Smultidim_knapsack.$O +$(OBJ_DIR)$Smultidim_knapsack.$O:$(CPP_EX_DIR)$Smultidim_knapsack.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Smultidim_knapsack.cc $(OBJ_OUT)$(OBJ_DIR)$Smultidim_knapsack.$O -$(BIN_DIR)/cpp/multidim_knapsack$E: $(OBJ_DIR)/multidim_knapsack.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/multidim_knapsack.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Smultidim_knapsack$E +$(CPP_BIN_DIR)$Smultidim_knapsack$E: $(OBJ_DIR)$Smultidim_knapsack.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Smultidim_knapsack.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Smultidim_knapsack$E -$(OBJ_DIR)/network_routing.$O:$(EX_DIR)/network_routing.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Snetwork_routing.cc $(OBJ_OUT)$(OBJ_DIR)$Snetwork_routing.$O +$(OBJ_DIR)$Snetwork_routing.$O:$(CPP_EX_DIR)$Snetwork_routing.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Snetwork_routing.cc $(OBJ_OUT)$(OBJ_DIR)$Snetwork_routing.$O -$(BIN_DIR)/cpp/network_routing$E: $(GRAPH_DEPS) $(OBJ_DIR)/network_routing.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/network_routing.$O $(OR_TOOLS_LIBS) $(GRAPH_LNK) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Snetwork_routing$E +$(CPP_BIN_DIR)$Snetwork_routing$E: $(GRAPH_DEPS) $(OBJ_DIR)$Snetwork_routing.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Snetwork_routing.$O $(OR_TOOLS_LIBS) $(GRAPH_LNK) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Snetwork_routing$E -$(OBJ_DIR)/nqueens.$O: $(EX_DIR)/nqueens.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Snqueens.cc $(OBJ_OUT)$(OBJ_DIR)$Snqueens.$O +$(OBJ_DIR)$Snqueens.$O: $(CPP_EX_DIR)$Snqueens.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Snqueens.cc $(OBJ_OUT)$(OBJ_DIR)$Snqueens.$O -$(BIN_DIR)/cpp/nqueens$E: $(OBJ_DIR)/nqueens.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/nqueens.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Snqueens$E +$(CPP_BIN_DIR)$Snqueens$E: $(OBJ_DIR)$Snqueens.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Snqueens.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Snqueens$E -$(OBJ_DIR)/pdptw.$O: $(EX_DIR)/pdptw.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Spdptw.cc $(OBJ_OUT)$(OBJ_DIR)$Spdptw.$O +$(OBJ_DIR)$Spdptw.$O: $(CPP_EX_DIR)$Spdptw.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Spdptw.cc $(OBJ_OUT)$(OBJ_DIR)$Spdptw.$O -$(BIN_DIR)/cpp/pdptw$E: $(OBJ_DIR)/pdptw.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/pdptw.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Spdptw$E +$(CPP_BIN_DIR)$Spdptw$E: $(OBJ_DIR)$Spdptw.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Spdptw.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Spdptw$E -$(OBJ_DIR)/sports_scheduling.$O:$(EX_DIR)/sports_scheduling.cc $(INC_DIR)/constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Ssports_scheduling.cc $(OBJ_OUT)$(OBJ_DIR)$Ssports_scheduling.$O +$(OBJ_DIR)$Ssports_scheduling.$O:$(CPP_EX_DIR)$Ssports_scheduling.cc $(INC_DIR)$Sconstraint_solver$Sconstraint_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Ssports_scheduling.cc $(OBJ_OUT)$(OBJ_DIR)$Ssports_scheduling.$O -$(BIN_DIR)/cpp/sports_scheduling$E: $(OBJ_DIR)/sports_scheduling.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/sports_scheduling.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Ssports_scheduling$E +$(CPP_BIN_DIR)$Ssports_scheduling$E: $(OBJ_DIR)$Ssports_scheduling.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Ssports_scheduling.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Ssports_scheduling$E -$(OBJ_DIR)/tsp.$O: $(EX_DIR)/tsp.cc $(INC_DIR)/constraint_solver/routing.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Stsp.cc $(OBJ_OUT)$(OBJ_DIR)$Stsp.$O +$(OBJ_DIR)$Stsp.$O: $(CPP_EX_DIR)$Stsp.cc $(INC_DIR)$Sconstraint_solver$Srouting.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Stsp.cc $(OBJ_OUT)$(OBJ_DIR)$Stsp.$O -$(BIN_DIR)/cpp/tsp$E: $(OBJ_DIR)/tsp.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/tsp.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Stsp$E +$(CPP_BIN_DIR)$Stsp$E: $(OBJ_DIR)$Stsp.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Stsp.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Stsp$E # Flow and linear assignment cpp -$(OBJ_DIR)/linear_assignment_api.$O:$(EX_DIR)/linear_assignment_api.cc - $(CCC) $(CFLAGS) -c $(EX_DIR)$Slinear_assignment_api.cc $(OBJ_OUT)$(OBJ_DIR)$Slinear_assignment_api.$O +$(OBJ_DIR)$Slinear_assignment_api.$O:$(CPP_EX_DIR)$Slinear_assignment_api.cc + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Slinear_assignment_api.cc $(OBJ_OUT)$(OBJ_DIR)$Slinear_assignment_api.$O -$(BIN_DIR)/cpp/linear_assignment_api$E: $(OBJ_DIR)/linear_assignment_api.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/linear_assignment_api.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Slinear_assignment_api$E +$(CPP_BIN_DIR)$Slinear_assignment_api$E: $(OBJ_DIR)$Slinear_assignment_api.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Slinear_assignment_api.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Slinear_assignment_api$E -$(OBJ_DIR)/flow_api.$O:$(EX_DIR)/flow_api.cc - $(CCC) $(CFLAGS) -c $(EX_DIR)$Sflow_api.cc $(OBJ_OUT)$(OBJ_DIR)$Sflow_api.$O +$(OBJ_DIR)$Sflow_api.$O:$(CPP_EX_DIR)$Sflow_api.cc + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Sflow_api.cc $(OBJ_OUT)$(OBJ_DIR)$Sflow_api.$O -$(BIN_DIR)/cpp/flow_api$E: $(OBJ_DIR)/flow_api.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/flow_api.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Sflow_api$E +$(CPP_BIN_DIR)$Sflow_api$E: $(OBJ_DIR)$Sflow_api.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Sflow_api.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Sflow_api$E # Linear Programming Examples -$(OBJ_DIR)/strawberry_fields_with_column_generation.$O: $(EX_DIR)/strawberry_fields_with_column_generation.cc $(INC_DIR)/linear_solver/linear_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Sstrawberry_fields_with_column_generation.cc $(OBJ_OUT)$(OBJ_DIR)$Sstrawberry_fields_with_column_generation.$O +$(OBJ_DIR)$Sstrawberry_fields_with_column_generation.$O: $(CPP_EX_DIR)$Sstrawberry_fields_with_column_generation.cc $(INC_DIR)$Slinear_solver$Slinear_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Sstrawberry_fields_with_column_generation.cc $(OBJ_OUT)$(OBJ_DIR)$Sstrawberry_fields_with_column_generation.$O -$(BIN_DIR)/cpp/strawberry_fields_with_column_generation$E: $(OBJ_DIR)/strawberry_fields_with_column_generation.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/strawberry_fields_with_column_generation.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Sstrawberry_fields_with_column_generation$E +$(CPP_BIN_DIR)$Sstrawberry_fields_with_column_generation$E: $(OBJ_DIR)$Sstrawberry_fields_with_column_generation.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Sstrawberry_fields_with_column_generation.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Sstrawberry_fields_with_column_generation$E -$(OBJ_DIR)/linear_programming.$O: $(EX_DIR)/linear_programming.cc $(INC_DIR)/linear_solver/linear_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Slinear_programming.cc $(OBJ_OUT)$(OBJ_DIR)$Slinear_programming.$O +$(OBJ_DIR)$Slinear_programming.$O: $(CPP_EX_DIR)$Slinear_programming.cc $(INC_DIR)$Slinear_solver$Slinear_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Slinear_programming.cc $(OBJ_OUT)$(OBJ_DIR)$Slinear_programming.$O -$(BIN_DIR)/cpp/linear_programming$E: $(OBJ_DIR)/linear_programming.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/linear_programming.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Slinear_programming$E +$(CPP_BIN_DIR)$Slinear_programming$E: $(OBJ_DIR)$Slinear_programming.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Slinear_programming.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Slinear_programming$E -$(OBJ_DIR)/linear_solver_protocol_buffers.$O: $(EX_DIR)/linear_solver_protocol_buffers.cc $(INC_DIR)/linear_solver/linear_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Slinear_solver_protocol_buffers.cc $(OBJ_OUT)$(OBJ_DIR)$Slinear_solver_protocol_buffers.$O +$(OBJ_DIR)$Slinear_solver_protocol_buffers.$O: $(CPP_EX_DIR)$Slinear_solver_protocol_buffers.cc $(INC_DIR)$Slinear_solver$Slinear_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Slinear_solver_protocol_buffers.cc $(OBJ_OUT)$(OBJ_DIR)$Slinear_solver_protocol_buffers.$O -$(BIN_DIR)/cpp/linear_solver_protocol_buffers$E: $(OBJ_DIR)/linear_solver_protocol_buffers.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/linear_solver_protocol_buffers.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Slinear_solver_protocol_buffers$E +$(CPP_BIN_DIR)$Slinear_solver_protocol_buffers$E: $(OBJ_DIR)$Slinear_solver_protocol_buffers.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Slinear_solver_protocol_buffers.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Slinear_solver_protocol_buffers$E -$(OBJ_DIR)/integer_programming.$O: $(EX_DIR)/integer_programming.cc $(INC_DIR)/linear_solver/linear_solver.h - $(CCC) $(CFLAGS) -c $(EX_DIR)$Sinteger_programming.cc $(OBJ_OUT)$(OBJ_DIR)$Sinteger_programming.$O +$(OBJ_DIR)$Sinteger_programming.$O: $(CPP_EX_DIR)$Sinteger_programming.cc $(INC_DIR)$Slinear_solver$Slinear_solver.h + $(CCC) $(CFLAGS) -c $(CPP_EX_DIR)$Sinteger_programming.cc $(OBJ_OUT)$(OBJ_DIR)$Sinteger_programming.$O -$(BIN_DIR)/cpp/integer_programming$E: $(OBJ_DIR)/integer_programming.$O - $(CCC) $(CFLAGS) $(OBJ_DIR)/integer_programming.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(BIN_DIR)$Scpp$Sinteger_programming$E +$(CPP_BIN_DIR)$Sinteger_programming$E: $(OBJ_DIR)$Sinteger_programming.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)$Sinteger_programming.$O $(OR_TOOLS_LIBS) $(LD_FLAGS) $(EXE_OUT)$(CPP_BIN_DIR)$Sinteger_programming$E + +# Java generic compilation command. + +$(OBJ_DIR)$Scom$Sgoogle$Sortools$Ssamples$S$(EX).class: $(JAVA_EX_DIR)$Sgoogle$Sortools$Ssamples$S$(EX).java + javac -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar $(JAVA_EX_DIR)$Sgoogle$Sortools$Ssamples$S$(EX).java + +cjava: $(OBJ_DIR)$Scom$Sgoogle$Sortools$Ssamples$S$(EX).class + +rjava: $(OBJ_DIR)$Scom$Sgoogle$Sortools$Ssamples$S$(EX).class + java -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar com.google.ortools.samples.$(EX) $(ARGS) + +# .NET generic compilation command. + +ccs: $(CS_EX_DIR)$S$(EX).cs + $(CSC) $Starget:exe $Sout:$(CS_BIN_DIR)$S$(EX).exe /platform:$(NETPLATFORM) /lib:$(CPP_BIN_DIR)$Scsharp /r:Google.OrTools.dll /r:Google.Protobuf.dll $(CS_EX_DIR)$S$(EX).cs + +rcs: ccs + $(MONO) $(CS_BIN_DIR)$S$(EX)$(CLR_EXE_SUFFIX).exe $(ARGS) # Debug diff --git a/tools/README.cc.java.csharp b/tools/README.cc.java.csharp index fa526fbd31..e751da9601 100644 --- a/tools/README.cc.java.csharp +++ b/tools/README.cc.java.csharp @@ -22,13 +22,27 @@ or-tools/ ########################## C++ ########################### - Use Makefile +Use Makefile: + + - on unix: +make bin/cpp/golomb +./bin/cpp/golomb + + - on windows: +make bin\\cpp\\golomb.exe +bin\\cpp\golomb.exe + ########################## java ########################## Running the examples will involve compiling them, then running them. +We have provided a makefile target to help you. You need to have the +java and javac tools accessible from the command line. -Let's compile and run examples/com/google/ortools/samples/RabbitsPheasants.java: +make rjava EX=RabbitsPheasants + +This is equivalent to compiling and running +examples/com/google/ortools/samples/RabbitsPheasants.java: - on unix: javac -d objs -cp lib/com.google.ortools.jar:lib/protobuf.jar examples/com/google/ortools/samples/RabbitsPheasants.java @@ -42,8 +56,12 @@ java -Djava.library.path=lib -cp objs;lib/com.google.ortools.jar com.google.orto ########################## .Net ########################## Running the examples will involve compiling them, then running them. +We have provided a makefile target to help you. You need to have the +compiler tools accessible from the command line. -Let's compile examples/csflow.cs and run it: +make rcs EX=csflow + +This is equivalent to compiling and running examples/csflow.cs and running it: - on windows 32 bit: csc /target:exe /out:bin\csharp\csflow.exe /platform:x86 /lib:bin\csharp /r:Google.OrTools.dll examples\csharp\csflow.cs