update archive supplied readme and makefile: add support for C# and Java compilation

This commit is contained in:
Laurent Perron
2016-07-22 14:47:23 -07:00
parent 8de2f76c26
commit 330d5915d9
3 changed files with 213 additions and 162 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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