compile library both as static and dynamic, will allow delivering python/java/.net on unix, **WARNING** Will break unix build

This commit is contained in:
laurent.perron@gmail.com
2012-09-01 20:12:38 +00:00
parent 191c847018
commit 40539dc0a5
7 changed files with 430 additions and 251 deletions

View File

@@ -1,75 +1,163 @@
#### DYNAMIC link and libs ####
# List libraries by module.
BASE_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)util.$(LIBSUFFIX) \
$(LIB_DIR)/$(LIBPREFIX)base.$(LIBSUFFIX)
DYNAMIC_BASE_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)util.$(DYNAMIC_LIB_SUFFIX) \
$(LIB_DIR)/$(LIBPREFIX)base.$(DYNAMIC_LIB_SUFFIX)
LP_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)linear_solver.$(LIBSUFFIX)
DYNAMIC_LP_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)linear_solver.$(DYNAMIC_LIB_SUFFIX)
ALGORITHMS_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)algorithms.$(LIBSUFFIX)
DYNAMIC_ALGORITHMS_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)algorithms.$(DYNAMIC_LIB_SUFFIX)
CP_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)constraint_solver.$(LIBSUFFIX)
DYNAMIC_CP_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)constraint_solver.$(DYNAMIC_LIB_SUFFIX)
GRAPH_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)graph.$(LIBSUFFIX) \
$(LIB_DIR)/$(LIBPREFIX)shortestpaths.$(LIBSUFFIX)
DYNAMIC_GRAPH_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)graph.$(DYNAMIC_LIB_SUFFIX) \
$(LIB_DIR)/$(LIBPREFIX)shortestpaths.$(DYNAMIC_LIB_SUFFIX)
ROUTING_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)routing.$(LIBSUFFIX)
DYNAMIC_ROUTING_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)routing.$(DYNAMIC_LIB_SUFFIX)
FLATZINC_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)fz.$(LIBSUFFIX)
DYNAMIC_FLATZINC_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)fz.$(DYNAMIC_LIB_SUFFIX)
DYNAMIC_DIMACS_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)dimacs.$(DYNAMIC_LIB_SUFFIX)
# Lib dependencies.
BASE_DEPS = $(BASE_LIBS)
DYNAMIC_BASE_DEPS = $(DYNAMIC_BASE_LIBS)
LP_DEPS = $(LP_LIBS) $(BASE_LIBS)
DYNAMIC_LP_DEPS = $(DYNAMIC_LP_LIBS) $(DYNAMIC_BASE_LIBS)
ALGORITHMS_DEPS = $(ALGORITHMS_LIBS) $(LP_LIBS) $(BASE_LIBS)
DYNAMIC_ALGORITHMS_DEPS = $(DYNAMIC_ALGORITHMS_LIBS) $(DYNAMIC_LP_LIBS) $(DYNAMIC_BASE_LIBS)
CP_DEPS = $(CP_LIBS) $(LP_LIBS) $(BASE_LIBS)
DYNAMIC_CP_DEPS = $(DYNAMIC_CP_LIBS) $(DYNAMIC_LP_LIBS) $(DYNAMIC_BASE_LIBS)
GRAPH_DEPS = $(GRAPH_LIBS) $(BASE_LIBS)
DYNAMIC_GRAPH_DEPS = $(DYNAMIC_GRAPH_LIBS) $(DYNAMIC_BASE_LIBS)
ROUTING_DEPS = $(ROUTING_LIBS) $(CP_LIBS) $(LP_LIBS) $(GRAPH_LIBS) $(BASE_LIBS)
DYNAMIC_ROUTING_DEPS = $(DYNAMIC_ROUTING_LIBS) $(DYNAMIC_CP_LIBS) $(DYNAMIC_LP_LIBS) $(DYNAMIC_GRAPH_LIBS) $(DYNAMIC_BASE_LIBS)
FLATZINC_DEPS = $(FLATZINC_LIBS) $(CP_LIBS) $(LP_LIBS) $(BASE_LIBS)
DYNAMIC_FLATZINC_DEPS = $(DYNAMIC_FLATZINC_LIBS) $(DYNAMIC_CP_LIBS) $(DYNAMIC_LP_LIBS) $(DYNAMIC_BASE_LIBS)
DYNAMIC_DIMACS_DEPS = $(DYNAMIC_DIMACS_LIBS) $(DYNAMIC_GRAPH_LIBS) $(DYNAMIC_ALGORITHMS_LIBS) $(DYNAMIC_BASE_LIBS)
# Create link commands.
BASE_LNK = \
$(PRE_LIB)util$(POST_LIB) \
$(PRE_LIB)base$(POST_LIB)
DYNAMIC_BASE_LNK = \
$(DYNAMIC_PRE_LIB)util$(DYNAMIC_POST_LIB) \
$(DYNAMIC_PRE_LIB)base$(DYNAMIC_POST_LIB)
LP_LNK = \
$(PRE_LIB)linear_solver$(POST_LIB) \
$(BASE_LNK) \
$(LDLPDEPS) # Third party linear solvers.
DYNAMIC_LP_LNK = \
$(DYNAMIC_PRE_LIB)linear_solver$(DYNAMIC_POST_LIB) \
$(DYNAMIC_BASE_LNK) \
$(DYNAMIC_LD_LP_DEPS) # Third party linear solvers.
ALGORITHMS_LNK = \
$(PRE_LIB)algorithms$(POST_LIB) \
$(LP_LNK)
DYNAMIC_ALGORITHMS_LNK = \
$(DYNAMIC_PRE_LIB)algorithms$(DYNAMIC_POST_LIB) \
$(DYNAMIC_LP_LNK)
CP_LNK = \
$(PRE_LIB)constraint_solver$(POST_LIB) \
$(LP_LNK)
DYNAMIC_CP_LNK = \
$(DYNAMIC_PRE_LIB)constraint_solver$(DYNAMIC_POST_LIB) \
$(DYNAMIC_LP_LNK)
ROUTING_LNK = \
$(PRE_LIB)routing$(POST_LIB) \
$(PRE_LIB)graph$(POST_LIB) \
$(PRE_LIB)shortestpaths$(POST_LIB) \
$(CP_LNK)
DYNAMIC_ROUTING_LNK = \
$(DYNAMIC_PRE_LIB)routing$(DYNAMIC_POST_LIB) \
$(DYNAMIC_PRE_LIB)graph$(DYNAMIC_POST_LIB) \
$(DYNAMIC_PRE_LIB)shortestpaths$(DYNAMIC_POST_LIB) \
$(DYNAMIC_CP_LNK)
GRAPH_LNK = \
$(PRE_LIB)graph$(POST_LIB) \
$(PRE_LIB)shortestpaths$(POST_LIB) \
$(BASE_LNK)
DYNAMIC_GRAPH_LNK = \
$(DYNAMIC_PRE_LIB)graph$(DYNAMIC_POST_LIB) \
$(DYNAMIC_PRE_LIB)shortestpaths$(DYNAMIC_POST_LIB) \
$(DYNAMIC_BASE_LNK)
FLATZINC_LNK = \
$(PRE_LIB)fz$(POST_LIB)\
$(CP_LNK)
DYNAMIC_FLATZINC_LNK = \
$(DYNAMIC_PRE_LIB)fz$(DYNAMIC_POST_LIB)\
$(DYNAMIC_CP_LNK)
DYNAMIC_DIMACS_LNK = \
$(DYNAMIC_PRE_LIB)graph$(DYNAMIC_POST_LIB) \
$(DYNAMIC_PRE_LIB)shortestpaths$(DYNAMIC_POST_LIB) \
$(DYNAMIC_PRE_LIB)dimacs$(DYNAMIC_POST_LIB) \
$(DYNAMIC_ALGORITHMS_LNK)
#### STATIC link and libs ####
# List libraries by module.
STATIC_BASE_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)util.$(STATIC_LIB_SUFFIX) \
$(LIB_DIR)/$(LIBPREFIX)base.$(STATIC_LIB_SUFFIX)
STATIC_LP_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)linear_solver.$(STATIC_LIB_SUFFIX)
STATIC_ALGORITHMS_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)algorithms.$(STATIC_LIB_SUFFIX)
STATIC_CP_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)constraint_solver.$(STATIC_LIB_SUFFIX)
STATIC_GRAPH_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)graph.$(STATIC_LIB_SUFFIX) \
$(LIB_DIR)/$(LIBPREFIX)shortestpaths.$(STATIC_LIB_SUFFIX)
STATIC_ROUTING_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)routing.$(STATIC_LIB_SUFFIX)
STATIC_FLATZINC_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)fz.$(STATIC_LIB_SUFFIX)
# Lib dependencies.
STATIC_BASE_DEPS = $(STATIC_BASE_LIBS)
STATIC_LP_DEPS = $(STATIC_LP_LIBS) $(STATIC_BASE_LIBS)
STATIC_ALGORITHMS_DEPS = $(STATIC_ALGORITHMS_LIBS) $(STATIC_LP_LIBS) $(STATIC_BASE_LIBS)
STATIC_CP_DEPS = $(STATIC_CP_LIBS) $(STATIC_LP_LIBS) $(STATIC_BASE_LIBS)
STATIC_GRAPH_DEPS = $(STATIC_GRAPH_LIBS) $(STATIC_BASE_LIBS)
STATIC_ROUTING_DEPS = $(STATIC_ROUTING_LIBS) $(STATIC_CP_LIBS) $(STATIC_LP_LIBS) $(STATIC_GRAPH_LIBS) $(STATIC_BASE_LIBS)
STATIC_FLATZINC_DEPS = $(STATIC_FLATZINC_LIBS) $(STATIC_CP_LIBS) $(STATIC_LP_LIBS) $(STATIC_BASE_LIBS)
# Create link commands.
STATIC_BASE_LNK = \
$(STATIC_PRE_LIB)util$(STATIC_POST_LIB) \
$(STATIC_PRE_LIB)base$(STATIC_POST_LIB)
STATIC_LP_LNK = \
$(STATIC_PRE_LIB)linear_solver$(STATIC_POST_LIB) \
$(STATIC_BASE_LNK) \
$(STATIC_LD_LP_DEPS) # Third party linear solvers.
STATIC_ALGORITHMS_LNK = \
$(STATIC_PRE_LIB)algorithms$(STATIC_POST_LIB) \
$(STATIC_LP_LNK)
STATIC_CP_LNK = \
$(STATIC_PRE_LIB)constraint_solver$(STATIC_POST_LIB) \
$(STATIC_LP_LNK)
STATIC_ROUTING_LNK = \
$(STATIC_PRE_LIB)routing$(STATIC_POST_LIB) \
$(STATIC_PRE_LIB)graph$(STATIC_POST_LIB) \
$(STATIC_PRE_LIB)shortestpaths$(STATIC_POST_LIB) \
$(STATIC_CP_LNK)
STATIC_GRAPH_LNK = \
$(STATIC_PRE_LIB)graph$(STATIC_POST_LIB) \
$(STATIC_PRE_LIB)shortestpaths$(STATIC_POST_LIB) \
$(STATIC_BASE_LNK)
STATIC_FLATZINC_LNK = \
$(STATIC_PRE_LIB)fz$(STATIC_POST_LIB)\
$(STATIC_CP_LNK)
# Binaries
@@ -102,11 +190,6 @@ LPBINARIES = \
# Special dimacs example.
DIMACS_LIBS = \
$(LIB_DIR)/$(LIBPREFIX)dimacs.$(LIBSUFFIX)
DIMACS_LNK = $(PRE_LIB)dimacs$(POST_LIB)
# Makefile targets.
# Main target
@@ -115,17 +198,28 @@ cc: cplibs cpexe algorithmslibs graphlibs lplibs lpexe
# Clean target
clean_cc:
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)base.$(LIBSUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)util.$(LIBSUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)constraint_solver.$(LIBSUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)linear_solver.$(LIBSUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)graph.$(LIBSUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)routing.$(LIBSUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)algorithms.$(LIBSUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)dimacs.$(LIBSUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)shortestpaths.$(LIBSUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)base.$(DYNAMIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)util.$(DYNAMIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)constraint_solver.$(DYNAMIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)linear_solver.$(DYNAMIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)graph.$(DYNAMIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)routing.$(DYNAMIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)algorithms.$(DYNAMIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)dimacs.$(DYNAMIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)fz.$(DYNAMIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)shortestpaths.$(DYNAMIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)base.$(STATIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)util.$(STATIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)constraint_solver.$(STATIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)linear_solver.$(STATIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)graph.$(STATIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)routing.$(STATIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)algorithms.$(STATIC_LIB_SUFFIX)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)shortestpaths.$(STATIC_LIB_SUFFIX)
-$(DEL) $(OBJ_DIR)$S*.$O
-$(DEL) $(CPBINARIES)
-$(DEL) $(BIN_DIR)$Sfz$E
-$(DEL) $(BIN_DIR)$Smtsearch_test$E
-$(DEL) $(LPBINARIES)
-$(DEL) $(GEN_DIR)$Sconstraint_solver$S*.pb.*
-$(DEL) $(GEN_DIR)$Slinear_solver$S*.pb.*
@@ -140,19 +234,19 @@ clean_compat:
# Individual targets.
algorithmslibs: $(ALGORITHMS_DEPS)
algorithmslibs: $(DYNAMIC_ALGORITHMS_DEPS) $(STATIC_ALGORITHMS_DEPS)
cpexe: $(CPBINARIES)
cplibs: $(CP_DEPS)
cplibs: $(DYNAMIC_CP_DEPS) $(STATIC_CP_DEPS)
lpexe: $(LPBINARIES)
lplibs: $(LP_DEPS)
lplibs: $(DYNAMIC_LP_DEPS) $(STATIC_LP_DEPS)
graphlibs: $(GRAPH_DEPS)
graphlibs: $(DYNAMIC_GRAPH_DEPS) $(STATIC_GRAPH_DEPS)
dimacslibs: $(DIMACS_LIBS)
dimacslibs: $(DYNAMIC_DIMACS_LIBS)
# Constraint Solver Lib.
@@ -346,8 +440,13 @@ $(OBJ_DIR)/utilities.$O:$(SRC_DIR)/constraint_solver/utilities.cc
$(OBJ_DIR)/visitor.$O:$(SRC_DIR)/constraint_solver/visitor.cc
$(CCC) $(CFLAGS) -c $(SRC_DIR)/constraint_solver/visitor.cc $(OBJ_OUT)visitor.$O
$(LIB_DIR)/$(LIBPREFIX)constraint_solver.$(LIBSUFFIX): $(CONSTRAINT_SOLVER_LIB_OBJS)
$(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)constraint_solver.$(LIBSUFFIX) $(CONSTRAINT_SOLVER_LIB_OBJS)
$(LIB_DIR)/$(LIBPREFIX)constraint_solver.$(DYNAMIC_LIB_SUFFIX): $(CONSTRAINT_SOLVER_LIB_OBJS)
$(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)constraint_solver.$(DYNAMIC_LIB_SUFFIX) $(CONSTRAINT_SOLVER_LIB_OBJS)
ifneq ($(SYSTEM),win)
$(LIB_DIR)/$(LIBPREFIX)constraint_solver.$(STATIC_LIB_SUFFIX): $(CONSTRAINT_SOLVER_LIB_OBJS)
$(STATIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)constraint_solver.$(STATIC_LIB_SUFFIX) $(CONSTRAINT_SOLVER_LIB_OBJS)
endif
# Linear Solver Library
@@ -387,8 +486,13 @@ $(OBJ_DIR)/scip_interface.$O:$(SRC_DIR)/linear_solver/scip_interface.cc
$(OBJ_DIR)/sulum_interface.$O:$(SRC_DIR)/linear_solver/sulum_interface.cc
$(CCC) $(CFLAGS) -c $(SRC_DIR)/linear_solver/sulum_interface.cc $(OBJ_OUT)sulum_interface.$O
$(LIB_DIR)/$(LIBPREFIX)linear_solver.$(LIBSUFFIX): $(LINEAR_SOLVER_LIB_OBJS)
$(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)linear_solver.$(LIBSUFFIX) $(LINEAR_SOLVER_LIB_OBJS) $(SCIP_STATIC_LNK)
$(LIB_DIR)/$(LIBPREFIX)linear_solver.$(DYNAMIC_LIB_SUFFIX): $(LINEAR_SOLVER_LIB_OBJS)
$(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)linear_solver.$(DYNAMIC_LIB_SUFFIX) $(LINEAR_SOLVER_LIB_OBJS) $(STATIC_SCIP_LNK)
ifneq ($(SYSTEM),win)
$(LIB_DIR)/$(LIBPREFIX)linear_solver.$(STATIC_LIB_SUFFIX): $(LINEAR_SOLVER_LIB_OBJS)
$(STATIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)linear_solver.$(STATIC_LIB_SUFFIX) $(LINEAR_SOLVER_LIB_OBJS)
endif
# Util library.
@@ -414,8 +518,13 @@ $(OBJ_DIR)/graph_export.$O:$(SRC_DIR)/util/graph_export.cc
$(OBJ_DIR)/xml_helper.$O:$(SRC_DIR)/util/xml_helper.cc
$(CCC) $(CFLAGS) -c $(SRC_DIR)/util/xml_helper.cc $(OBJ_OUT)xml_helper.$O
$(LIB_DIR)/$(LIBPREFIX)util.$(LIBSUFFIX): $(UTIL_LIB_OBJS)
$(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)util.$(LIBSUFFIX) $(UTIL_LIB_OBJS)
$(LIB_DIR)/$(LIBPREFIX)util.$(DYNAMIC_LIB_SUFFIX): $(UTIL_LIB_OBJS)
$(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)util.$(DYNAMIC_LIB_SUFFIX) $(UTIL_LIB_OBJS)
ifneq ($(SYSTEM),win)
$(LIB_DIR)/$(LIBPREFIX)util.$(STATIC_LIB_SUFFIX): $(UTIL_LIB_OBJS)
$(STATIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)util.$(STATIC_LIB_SUFFIX) $(UTIL_LIB_OBJS)
endif
# Graph library.
@@ -441,8 +550,13 @@ $(OBJ_DIR)/max_flow.$O:$(SRC_DIR)/graph/max_flow.cc
$(OBJ_DIR)/min_cost_flow.$O:$(SRC_DIR)/graph/min_cost_flow.cc
$(CCC) $(CFLAGS) -c $(SRC_DIR)/graph/min_cost_flow.cc $(OBJ_OUT)min_cost_flow.$O
$(LIB_DIR)/$(LIBPREFIX)graph.$(LIBSUFFIX): $(GRAPH_LIB_OBJS)
$(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)graph.$(LIBSUFFIX) $(GRAPH_LIB_OBJS)
$(LIB_DIR)/$(LIBPREFIX)graph.$(DYNAMIC_LIB_SUFFIX): $(GRAPH_LIB_OBJS)
$(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)graph.$(DYNAMIC_LIB_SUFFIX) $(GRAPH_LIB_OBJS)
ifneq ($(SYSTEM),win)
$(LIB_DIR)/$(LIBPREFIX)graph.$(STATIC_LIB_SUFFIX): $(GRAPH_LIB_OBJS)
$(STATIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)graph.$(STATIC_LIB_SUFFIX) $(GRAPH_LIB_OBJS)
endif
# Shortestpaths library.
@@ -460,8 +574,13 @@ $(OBJ_DIR)/dijkstra.$O:$(SRC_DIR)/graph/dijkstra.cc
$(OBJ_DIR)/shortestpaths.$O:$(SRC_DIR)/graph/shortestpaths.cc
$(CCC) $(CFLAGS) -c $(SRC_DIR)/graph/shortestpaths.cc $(OBJ_OUT)shortestpaths.$O
$(LIB_DIR)/$(LIBPREFIX)shortestpaths.$(LIBSUFFIX): $(SHORTESTPATHS_LIB_OBJS)
$(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)shortestpaths.$(LIBSUFFIX) $(SHORTESTPATHS_LIB_OBJS)
$(LIB_DIR)/$(LIBPREFIX)shortestpaths.$(DYNAMIC_LIB_SUFFIX): $(SHORTESTPATHS_LIB_OBJS)
$(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)shortestpaths.$(DYNAMIC_LIB_SUFFIX) $(SHORTESTPATHS_LIB_OBJS)
ifneq ($(SYSTEM),win)
$(LIB_DIR)/$(LIBPREFIX)shortestpaths.$(STATIC_LIB_SUFFIX): $(SHORTESTPATHS_LIB_OBJS)
$(STATIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)shortestpaths.$(STATIC_LIB_SUFFIX) $(SHORTESTPATHS_LIB_OBJS)
endif
# Routing library.
@@ -471,8 +590,13 @@ ROUTING_LIB_OBJS=\
$(OBJ_DIR)/routing.$O:$(SRC_DIR)/constraint_solver/routing.cc
$(CCC) $(CFLAGS) -c $(SRC_DIR)/constraint_solver/routing.cc $(OBJ_OUT)routing.$O
$(LIB_DIR)/$(LIBPREFIX)routing.$(LIBSUFFIX): $(ROUTING_LIB_OBJS)
$(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)routing.$(LIBSUFFIX) $(ROUTING_LIB_OBJS)
$(LIB_DIR)/$(LIBPREFIX)routing.$(DYNAMIC_LIB_SUFFIX): $(ROUTING_LIB_OBJS)
$(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)routing.$(DYNAMIC_LIB_SUFFIX) $(ROUTING_LIB_OBJS)
ifneq ($(SYSTEM),win)
$(LIB_DIR)/$(LIBPREFIX)routing.$(STATIC_LIB_SUFFIX): $(ROUTING_LIB_OBJS)
$(STATIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)routing.$(STATIC_LIB_SUFFIX) $(ROUTING_LIB_OBJS)
endif
# Algorithms library.
@@ -486,8 +610,13 @@ $(OBJ_DIR)/hungarian.$O:$(SRC_DIR)/algorithms/hungarian.cc
$(OBJ_DIR)/knapsack_solver.$O:$(SRC_DIR)/algorithms/knapsack_solver.cc $(GEN_DIR)/linear_solver/linear_solver.pb.h
$(CCC) $(CFLAGS) -c $(SRC_DIR)/algorithms/knapsack_solver.cc $(OBJ_OUT)knapsack_solver.$O
$(LIB_DIR)/$(LIBPREFIX)algorithms.$(LIBSUFFIX): $(ALGORITHMS_LIB_OBJS)
$(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)algorithms.$(LIBSUFFIX) $(ALGORITHMS_LIB_OBJS)
$(LIB_DIR)/$(LIBPREFIX)algorithms.$(DYNAMIC_LIB_SUFFIX): $(ALGORITHMS_LIB_OBJS)
$(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)algorithms.$(DYNAMIC_LIB_SUFFIX) $(ALGORITHMS_LIB_OBJS)
ifneq ($(SYSTEM),win)
$(LIB_DIR)/$(LIBPREFIX)algorithms.$(STATIC_LIB_SUFFIX): $(ALGORITHMS_LIB_OBJS)
$(STATIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)algorithms.$(STATIC_LIB_SUFFIX) $(ALGORITHMS_LIB_OBJS)
endif
# Base library.
@@ -539,8 +668,11 @@ $(OBJ_DIR)/sysinfo.$O:$(SRC_DIR)/base/sysinfo.cc
$(OBJ_DIR)/timer.$O:$(SRC_DIR)/base/timer.cc
$(CCC) $(CFLAGS) -c $(SRC_DIR)/base/timer.cc $(OBJ_OUT)timer.$O
$(LIB_DIR)/$(LIBPREFIX)base.$(LIBSUFFIX): $(BASE_LIB_OBJS)
$(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)base.$(LIBSUFFIX) $(BASE_LIB_OBJS)
$(LIB_DIR)/$(LIBPREFIX)base.$(DYNAMIC_LIB_SUFFIX): $(BASE_LIB_OBJS)
$(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)base.$(DYNAMIC_LIB_SUFFIX) $(BASE_LIB_OBJS)
$(LIB_DIR)/$(LIBPREFIX)base.$(STATIC_LIB_SUFFIX): $(BASE_LIB_OBJS)
$(STATIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)base.$(STATIC_LIB_SUFFIX) $(BASE_LIB_OBJS)
# DIMACS challenge problem format library
@@ -553,8 +685,8 @@ $(OBJ_DIR)/parse_dimacs_assignment.$O:$(EX_DIR)/cpp/parse_dimacs_assignment.cc
$(OBJ_DIR)/print_dimacs_assignment.$O:$(EX_DIR)/cpp/print_dimacs_assignment.cc
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/print_dimacs_assignment.cc $(OBJ_OUT)print_dimacs_assignment.$O
$(LIB_DIR)/$(LIBPREFIX)dimacs.$(LIBSUFFIX): $(DIMACS_LIB_OBJS)
$(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)dimacs.$(LIBSUFFIX) $(DIMACS_LIB_OBJS)
$(LIB_DIR)/$(LIBPREFIX)dimacs.$(DYNAMIC_LIB_SUFFIX): $(DIMACS_LIB_OBJS)
$(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)dimacs.$(DYNAMIC_LIB_SUFFIX) $(DIMACS_LIB_OBJS)
FLATZINC_LIB_OBJS=\
$(OBJ_DIR)/flatzinc.$O\
@@ -607,210 +739,213 @@ $(OBJ_DIR)/parser.tab.$O:$(SRC_DIR)/flatzinc/parser.tab.cc $(SRC_DIR)/flatzinc/f
$(OBJ_DIR)/registry.$O:$(SRC_DIR)/flatzinc/registry.cc $(SRC_DIR)/flatzinc/flatzinc.h $(SRC_DIR)/flatzinc/parser.h
$(CCC) $(CFLAGS) -c $(SRC_DIR)$Sflatzinc$Sregistry.cc $(OBJ_OUT)registry.$O
$(LIB_DIR)/$(LIBPREFIX)fz.$(LIBSUFFIX): $(FLATZINC_LIB_OBJS)
$(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)fz.$(LIBSUFFIX) $(FLATZINC_LIB_OBJS)
$(LIB_DIR)/$(LIBPREFIX)fz.$(DYNAMIC_LIB_SUFFIX): $(FLATZINC_LIB_OBJS)
$(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)fz.$(DYNAMIC_LIB_SUFFIX) $(FLATZINC_LIB_OBJS)
$(LIB_DIR)/$(LIBPREFIX)fz.$(STATIC_LIB_SUFFIX): $(FLATZINC_LIB_OBJS)
$(STATIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)fz.$(STATIC_LIB_SUFFIX) $(FLATZINC_LIB_OBJS)
$(OBJ_DIR)/fz.$O:$(SRC_DIR)/flatzinc/fz.cc $(SRC_DIR)/flatzinc/flatzinc.h $(SRC_DIR)/flatzinc/parser.h
$(CCC) $(CFLAGS) -c $(SRC_DIR)$Sflatzinc$Sfz.cc $(OBJ_OUT)fz.$O
fz: $(BIN_DIR)/fz$E
$(BIN_DIR)/fz$E: $(FLATZINC_DEPS) $(OBJ_DIR)/fz.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/fz.$O $(FLATZINC_LNK) $(LDFLAGS) $(EXEOUT)fz$E
$(BIN_DIR)/fz$E: $(STATIC_FLATZINC_DEPS) $(OBJ_DIR)/fz.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/fz.$O $(STATIC_FLATZINC_LNK) $(FZ_STATIC) $(STATIC_LD_FLAGS) $(EXEOUT)fz$E
# Flow and linear assignment cpp
$(OBJ_DIR)/linear_assignment_api.$O:$(EX_DIR)/cpp/linear_assignment_api.cc
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/linear_assignment_api.cc $(OBJ_OUT)linear_assignment_api.$O
$(BIN_DIR)/linear_assignment_api$E: $(GRAPH_DEPS) $(OBJ_DIR)/linear_assignment_api.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/linear_assignment_api.$O $(GRAPH_LNK) $(LDFLAGS) $(EXEOUT)linear_assignment_api$E
$(BIN_DIR)/linear_assignment_api$E: $(DYNAMIC_GRAPH_DEPS) $(OBJ_DIR)/linear_assignment_api.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/linear_assignment_api.$O $(DYNAMIC_GRAPH_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)linear_assignment_api$E
$(OBJ_DIR)/flow_api.$O:$(EX_DIR)/cpp/flow_api.cc
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/flow_api.cc $(OBJ_OUT)flow_api.$O
$(BIN_DIR)/flow_api$E: $(GRAPH_DEPS) $(OBJ_DIR)/flow_api.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/flow_api.$O $(GRAPH_LNK) $(LDFLAGS) $(EXEOUT)flow_api$E
$(BIN_DIR)/flow_api$E: $(DYNAMIC_GRAPH_DEPS) $(OBJ_DIR)/flow_api.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/flow_api.$O $(DYNAMIC_GRAPH_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)flow_api$E
$(OBJ_DIR)/dimacs_assignment.$O:$(EX_DIR)/cpp/dimacs_assignment.cc
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/dimacs_assignment.cc $(OBJ_OUT)dimacs_assignment.$O
$(BIN_DIR)/dimacs_assignment$E: $(ALGORITHMS_DEPS) $(GRAPH_DEPS) $(DIMACS_LIBS) $(OBJ_DIR)/dimacs_assignment.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/dimacs_assignment.$O $(DIMACS_LNK) $(ALGORITHMS_LNK) $(GRAPH_LNK) $(LDFLAGS) $(EXEOUT)dimacs_assignment$E
$(BIN_DIR)/dimacs_assignment$E: $(DYNAMIC_DIMACS_DEPS) $(OBJ_DIR)/dimacs_assignment.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/dimacs_assignment.$O $(DYNAMIC_DIMACS_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)dimacs_assignment$E
# Pure CP and Routing Examples
$(OBJ_DIR)/costas_array.$O: $(EX_DIR)/cpp/costas_array.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/costas_array.cc $(OBJ_OUT)costas_array.$O
$(BIN_DIR)/costas_array$E: $(CP_DEPS) $(OBJ_DIR)/costas_array.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/costas_array.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)costas_array$E
$(BIN_DIR)/costas_array$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/costas_array.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/costas_array.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)costas_array$E
$(OBJ_DIR)/cryptarithm.$O:$(EX_DIR)/cpp/cryptarithm.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/cryptarithm.cc $(OBJ_OUT)cryptarithm.$O
$(BIN_DIR)/cryptarithm$E: $(CP_DEPS) $(OBJ_DIR)/cryptarithm.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/cryptarithm.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)cryptarithm$E
$(BIN_DIR)/cryptarithm$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/cryptarithm.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/cryptarithm.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)cryptarithm$E
$(OBJ_DIR)/cvrptw.$O: $(EX_DIR)/cpp/cvrptw.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/cvrptw.cc $(OBJ_OUT)cvrptw.$O
$(BIN_DIR)/cvrptw$E: $(ROUTING_DEPS) $(OBJ_DIR)/cvrptw.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/cvrptw.$O $(ROUTING_LNK) $(LDFLAGS) $(EXEOUT)cvrptw$E
$(BIN_DIR)/cvrptw$E: $(DYNAMIC_ROUTING_DEPS) $(OBJ_DIR)/cvrptw.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/cvrptw.$O $(DYNAMIC_ROUTING_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)cvrptw$E
$(OBJ_DIR)/dobble_ls.$O:$(EX_DIR)/cpp/dobble_ls.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/dobble_ls.cc $(OBJ_OUT)dobble_ls.$O
$(BIN_DIR)/dobble_ls$E: $(CP_DEPS) $(OBJ_DIR)/dobble_ls.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/dobble_ls.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)dobble_ls$E
$(BIN_DIR)/dobble_ls$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/dobble_ls.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/dobble_ls.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)dobble_ls$E
$(OBJ_DIR)/golomb.$O:$(EX_DIR)/cpp/golomb.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/golomb.cc $(OBJ_OUT)golomb.$O
$(BIN_DIR)/golomb$E: $(CP_DEPS) $(OBJ_DIR)/golomb.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/golomb.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)golomb$E
$(BIN_DIR)/golomb$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/golomb.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/golomb.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)golomb$E
$(OBJ_DIR)/jobshop.$O:$(EX_DIR)/cpp/jobshop.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/jobshop.cc $(OBJ_OUT)jobshop.$O
$(BIN_DIR)/jobshop$E: $(CP_DEPS) $(OBJ_DIR)/jobshop.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/jobshop.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)jobshop$E
$(BIN_DIR)/jobshop$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/jobshop.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/jobshop.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)jobshop$E
$(OBJ_DIR)/jobshop_ls.$O:$(EX_DIR)/cpp/jobshop_ls.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/jobshop_ls.cc $(OBJ_OUT)jobshop_ls.$O
$(BIN_DIR)/jobshop_ls$E: $(CP_DEPS) $(OBJ_DIR)/jobshop_ls.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/jobshop_ls.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)jobshop_ls$E
$(BIN_DIR)/jobshop_ls$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/jobshop_ls.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/jobshop_ls.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)jobshop_ls$E
$(OBJ_DIR)/jobshop_earlytardy.$O:$(EX_DIR)/cpp/jobshop_earlytardy.cc $(SRC_DIR)/constraint_solver/constraint_solver.h $(EX_DIR)/cpp/jobshop_earlytardy.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/jobshop_earlytardy.cc $(OBJ_OUT)jobshop_earlytardy.$O
$(BIN_DIR)/jobshop_earlytardy$E: $(CP_DEPS) $(OBJ_DIR)/jobshop_earlytardy.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/jobshop_earlytardy.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)jobshop_earlytardy$E
$(BIN_DIR)/jobshop_earlytardy$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/jobshop_earlytardy.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/jobshop_earlytardy.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)jobshop_earlytardy$E
$(OBJ_DIR)/magic_square.$O:$(EX_DIR)/cpp/magic_square.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/magic_square.cc $(OBJ_OUT)magic_square.$O
$(BIN_DIR)/magic_square$E: $(CP_DEPS) $(OBJ_DIR)/magic_square.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/magic_square.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)magic_square$E
$(BIN_DIR)/magic_square$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/magic_square.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/magic_square.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)magic_square$E
$(OBJ_DIR)/model_util.$O:$(EX_DIR)/cpp/model_util.cc $(GEN_DIR)/constraint_solver/model.pb.h $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/model_util.cc $(OBJ_OUT)model_util.$O
$(BIN_DIR)/model_util$E: $(CP_DEPS) $(OBJ_DIR)/model_util.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/model_util.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)model_util$E
$(BIN_DIR)/model_util$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/model_util.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/model_util.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)model_util$E
$(OBJ_DIR)/multidim_knapsack.$O:$(EX_DIR)/cpp/multidim_knapsack.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/multidim_knapsack.cc $(OBJ_OUT)multidim_knapsack.$O
$(BIN_DIR)/multidim_knapsack$E: $(CP_DEPS) $(OBJ_DIR)/multidim_knapsack.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/multidim_knapsack.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)multidim_knapsack$E
$(BIN_DIR)/multidim_knapsack$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/multidim_knapsack.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/multidim_knapsack.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)multidim_knapsack$E
$(OBJ_DIR)/network_routing.$O:$(EX_DIR)/cpp/network_routing.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/network_routing.cc $(OBJ_OUT)network_routing.$O
$(BIN_DIR)/network_routing$E: $(CP_DEPS) $(GRAPH_DEPS) $(OBJ_DIR)/network_routing.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/network_routing.$O $(CP_LNK) $(GRAPH_LNK) $(LDFLAGS) $(EXEOUT)network_routing$E
$(BIN_DIR)/network_routing$E: $(DYNAMIC_CP_DEPS) $(DYNAMIC_GRAPH_DEPS) $(OBJ_DIR)/network_routing.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/network_routing.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_GRAPH_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)network_routing$E
$(OBJ_DIR)/nqueens.$O: $(EX_DIR)/cpp/nqueens.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/nqueens.cc $(OBJ_OUT)nqueens.$O
$(BIN_DIR)/nqueens$E: $(CP_DEPS) $(OBJ_DIR)/nqueens.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/nqueens.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)nqueens$E
$(BIN_DIR)/nqueens$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/nqueens.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/nqueens.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)nqueens$E
$(OBJ_DIR)/pdptw.$O: $(EX_DIR)/cpp/pdptw.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/pdptw.cc $(OBJ_OUT)pdptw.$O
$(BIN_DIR)/pdptw$E: $(ROUTING_DEPS) $(OBJ_DIR)/pdptw.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/pdptw.$O $(ROUTING_LNK) $(LDFLAGS) $(EXEOUT)pdptw$E
$(BIN_DIR)/pdptw$E: $(DYNAMIC_ROUTING_DEPS) $(OBJ_DIR)/pdptw.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/pdptw.$O $(DYNAMIC_ROUTING_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)pdptw$E
$(OBJ_DIR)/sports_scheduling.$O:$(EX_DIR)/cpp/sports_scheduling.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/sports_scheduling.cc $(OBJ_OUT)sports_scheduling.$O
$(BIN_DIR)/sports_scheduling$E: $(CP_DEPS) $(OBJ_DIR)/sports_scheduling.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/sports_scheduling.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)sports_scheduling$E
$(BIN_DIR)/sports_scheduling$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/sports_scheduling.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/sports_scheduling.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)sports_scheduling$E
$(OBJ_DIR)/tsp.$O: $(EX_DIR)/cpp/tsp.cc $(SRC_DIR)/constraint_solver/routing.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/tsp.cc $(OBJ_OUT)tsp.$O
$(BIN_DIR)/tsp$E: $(ROUTING_DEPS) $(OBJ_DIR)/tsp.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/tsp.$O $(ROUTING_LNK) $(LDFLAGS) $(EXEOUT)tsp$E
$(BIN_DIR)/tsp$E: $(DYNAMIC_ROUTING_DEPS) $(OBJ_DIR)/tsp.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/tsp.$O $(DYNAMIC_ROUTING_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)tsp$E
# CP tests.
$(OBJ_DIR)/bug_pack.$O:$(EX_DIR)/tests/bug_pack.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Stests/bug_pack.cc $(OBJ_OUT)bug_pack.$O
$(BIN_DIR)/bug_pack$E: $(CP_DEPS) $(OBJ_DIR)/bug_pack.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/bug_pack.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)bug_pack$E
$(BIN_DIR)/bug_pack$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/bug_pack.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/bug_pack.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)bug_pack$E
$(OBJ_DIR)/mtsearch_test.$O:$(EX_DIR)/tests/mtsearch_test.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Stests/mtsearch_test.cc $(OBJ_OUT)mtsearch_test.$O
$(BIN_DIR)/mtsearch_test$E: $(CP_DEPS) $(OBJ_DIR)/mtsearch_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/mtsearch_test.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)mtsearch_test$E
$(BIN_DIR)/mtsearch_test$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/mtsearch_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/mtsearch_test.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)mtsearch_test$E
$(OBJ_DIR)/ac4r_table_test.$O:$(EX_DIR)/tests/ac4r_table_test.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Stests/ac4r_table_test.cc $(OBJ_OUT)ac4r_table_test.$O
$(BIN_DIR)/ac4r_table_test$E: $(CP_DEPS) $(OBJ_DIR)/ac4r_table_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/ac4r_table_test.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)ac4r_table_test$E
$(BIN_DIR)/ac4r_table_test$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/ac4r_table_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/ac4r_table_test.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)ac4r_table_test$E
$(OBJ_DIR)/gcc_test.$O:$(EX_DIR)/tests/gcc_test.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Stests/gcc_test.cc $(OBJ_OUT)gcc_test.$O
$(BIN_DIR)/gcc_test$E: $(CP_DEPS) $(OBJ_DIR)/gcc_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/gcc_test.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)gcc_test$E
$(BIN_DIR)/gcc_test$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/gcc_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/gcc_test.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)gcc_test$E
$(OBJ_DIR)/min_max_test.$O:$(EX_DIR)/tests/min_max_test.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Stests/min_max_test.cc $(OBJ_OUT)min_max_test.$O
$(BIN_DIR)/min_max_test$E: $(CP_DEPS) $(OBJ_DIR)/min_max_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/min_max_test.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)min_max_test$E
$(BIN_DIR)/min_max_test$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/min_max_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/min_max_test.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)min_max_test$E
$(OBJ_DIR)/visitor_test.$O:$(EX_DIR)/tests/visitor_test.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Stests/visitor_test.cc $(OBJ_OUT)visitor_test.$O
$(BIN_DIR)/visitor_test$E: $(CP_DEPS) $(OBJ_DIR)/visitor_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/visitor_test.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)visitor_test$E
$(BIN_DIR)/visitor_test$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/visitor_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/visitor_test.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)visitor_test$E
$(OBJ_DIR)/boolean_test.$O:$(EX_DIR)/tests/boolean_test.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Stests/boolean_test.cc $(OBJ_OUT)boolean_test.$O
$(BIN_DIR)/boolean_test$E: $(CP_DEPS) $(OBJ_DIR)/boolean_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/boolean_test.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)boolean_test$E
$(BIN_DIR)/boolean_test$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/boolean_test.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/boolean_test.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)boolean_test$E
$(OBJ_DIR)/ls_api.$O:$(EX_DIR)/cpp/ls_api.cc $(SRC_DIR)/constraint_solver/constraint_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/ls_api.cc $(OBJ_OUT)ls_api.$O
$(BIN_DIR)/ls_api$E: $(CP_DEPS) $(OBJ_DIR)/ls_api.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/ls_api.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)ls_api$E
$(BIN_DIR)/ls_api$E: $(DYNAMIC_CP_DEPS) $(OBJ_DIR)/ls_api.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/ls_api.$O $(DYNAMIC_CP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)ls_api$E
# Linear Programming Examples
$(OBJ_DIR)/strawberry_fields_with_column_generation.$O: $(EX_DIR)/cpp/strawberry_fields_with_column_generation.cc $(SRC_DIR)/linear_solver/linear_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/strawberry_fields_with_column_generation.cc $(OBJ_OUT)strawberry_fields_with_column_generation.$O
$(BIN_DIR)/strawberry_fields_with_column_generation$E: $(LP_DEPS) $(OBJ_DIR)/strawberry_fields_with_column_generation.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/strawberry_fields_with_column_generation.$O $(LP_LNK) $(LDFLAGS) $(EXEOUT)strawberry_fields_with_column_generation$E
$(BIN_DIR)/strawberry_fields_with_column_generation$E: $(DYNAMIC_LP_DEPS) $(OBJ_DIR)/strawberry_fields_with_column_generation.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/strawberry_fields_with_column_generation.$O $(DYNAMIC_LP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)strawberry_fields_with_column_generation$E
$(OBJ_DIR)/linear_programming.$O: $(EX_DIR)/cpp/linear_programming.cc $(SRC_DIR)/linear_solver/linear_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/linear_programming.cc $(OBJ_OUT)linear_programming.$O
$(BIN_DIR)/linear_programming$E: $(LP_DEPS) $(OBJ_DIR)/linear_programming.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/linear_programming.$O $(LP_LNK) $(LDFLAGS) $(EXEOUT)linear_programming$E
$(BIN_DIR)/linear_programming$E: $(DYNAMIC_LP_DEPS) $(OBJ_DIR)/linear_programming.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/linear_programming.$O $(DYNAMIC_LP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)linear_programming$E
$(OBJ_DIR)/linear_solver_protocol_buffers.$O: $(EX_DIR)/cpp/linear_solver_protocol_buffers.cc $(SRC_DIR)/linear_solver/linear_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/linear_solver_protocol_buffers.cc $(OBJ_OUT)linear_solver_protocol_buffers.$O
$(BIN_DIR)/linear_solver_protocol_buffers$E: $(LP_DEPS) $(OBJ_DIR)/linear_solver_protocol_buffers.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/linear_solver_protocol_buffers.$O $(LP_LNK) $(LDFLAGS) $(EXEOUT)linear_solver_protocol_buffers$E
$(BIN_DIR)/linear_solver_protocol_buffers$E: $(DYNAMIC_LP_DEPS) $(OBJ_DIR)/linear_solver_protocol_buffers.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/linear_solver_protocol_buffers.$O $(DYNAMIC_LP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)linear_solver_protocol_buffers$E
$(OBJ_DIR)/integer_programming.$O: $(EX_DIR)/cpp/integer_programming.cc $(SRC_DIR)/linear_solver/linear_solver.h
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/integer_programming.cc $(OBJ_OUT)integer_programming.$O
$(BIN_DIR)/integer_programming$E: $(LP_DEPS) $(OBJ_DIR)/integer_programming.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/integer_programming.$O $(LP_LNK) $(LDFLAGS) $(EXEOUT)integer_programming$E
$(BIN_DIR)/integer_programming$E: $(DYNAMIC_LP_DEPS) $(OBJ_DIR)/integer_programming.$O
$(CCC) $(CFLAGS) $(OBJ_DIR)/integer_programming.$O $(DYNAMIC_LP_LNK) $(DYNAMIC_LD_FLAGS) $(EXEOUT)integer_programming$E
printdir:
@echo LIB_DIR = $(LIB_DIR)

View File

@@ -17,7 +17,7 @@ csharp: csharpcp csharplp csharpalgorithms csharpgraph csharpexe
# Clean target.
clean_csharp:
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.*.$(SHAREDLIBEXT)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.*.$(DYNAMIC_SWIG_LIB_SUFFIX)
-$(DEL) $(BIN_DIR)$SGoogle.OrTools.*.dll
-$(DEL) $(BIN_DIR)$SGoogle.OrTools.*.mdb
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.*.lib
@@ -40,18 +40,18 @@ clean_csharp:
csharplp: $(BIN_DIR)/Google.OrTools.LinearSolver.dll
$(GEN_DIR)/linear_solver/linear_solver_csharp_wrap.cc: $(SRC_DIR)/linear_solver/linear_solver.swig $(SRC_DIR)/base/base.swig $(SRC_DIR)/util/data.swig $(SRC_DIR)/linear_solver/linear_solver.h $(GEN_DIR)/linear_solver/linear_solver.pb.h
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp -o $(GEN_DIR)$Slinear_solver$Slinear_solver_csharp_wrap.cc -module operations_research -namespace Google.OrTools.LinearSolver -dllimport "Google.OrTools.LinearSolver.$(SHAREDLIBEXT)" -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Slinearsolver $(SRC_DIR)/linear_solver$Slinear_solver.swig
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp -o $(GEN_DIR)$Slinear_solver$Slinear_solver_csharp_wrap.cc -module operations_research -namespace Google.OrTools.LinearSolver -dllimport "Google.OrTools.LinearSolver.$(DYNAMIC_SWIG_LIB_SUFFIX)" -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Slinearsolver $(SRC_DIR)/linear_solver$Slinear_solver.swig
$(OBJ_DIR)/linear_solver_csharp_wrap.$O: $(GEN_DIR)/linear_solver/linear_solver_csharp_wrap.cc
$(CCC) $(CFLAGS) -c $(GEN_DIR)/linear_solver/linear_solver_csharp_wrap.cc $(OBJ_OUT)linear_solver_csharp_wrap.$O
$(BIN_DIR)/Google.OrTools.LinearSolver.dll: $(OBJ_DIR)/linear_solver_csharp_wrap.$O $(LP_DEPS) $(SRC_DIR)/com/google/ortools/linearsolver/LinearExpr.cs $(SRC_DIR)/com/google/ortools/linearsolver/LinearConstraint.cs
$(BIN_DIR)/Google.OrTools.LinearSolver.dll: $(OBJ_DIR)/linear_solver_csharp_wrap.$O $(STATIC_LP_DEPS) $(SRC_DIR)/com/google/ortools/linearsolver/LinearExpr.cs $(SRC_DIR)/com/google/ortools/linearsolver/LinearConstraint.cs
ifeq ($(SYSTEM),win)
$(CSC) /target:module /out:$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.LinearSolver.netmodule /warn:0 /nologo /debug $(GEN_DIR)\\com\\google\\ortools\\linearsolver\\*.cs $(SRC_DIR)\\com\\google\\ortools\\linearsolver\\*.cs
$(LD) $(LDOUT)$(BIN_DIR)\\Google.OrTools.LinearSolver.dll $(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.LinearSolver.netmodule $(OBJ_DIR)\\linear_solver_csharp_wrap.$O $(LP_LNK) $(LDFLAGS)
$(DYNAMIC_LD) $(LDOUT)$(BIN_DIR)\\Google.OrTools.LinearSolver.dll $(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.LinearSolver.netmodule $(OBJ_DIR)\\linear_solver_csharp_wrap.$O $(STATIC_LP_LNK) $(STATIC_LD_FLAGS)
else
$(CSC) /target:library /out:$(BIN_DIR)/Google.OrTools.LinearSolver.dll /warn:0 /nologo /debug $(GEN_DIR)/com/google/ortools/linearsolver/*.cs $(SRC_DIR)/com/google/ortools/linearsolver/*.cs
$(LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.LinearSolver.$(SHAREDLIBEXT) $(OBJ_DIR)/linear_solver_csharp_wrap.$O $(LP_LNK) $(LDFLAGS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.LinearSolver.$(DYNAMIC_SWIG_LIB_SUFFIX) $(OBJ_DIR)/linear_solver_csharp_wrap.$O $(STATIC_LP_LNK) $(STATIC_LD_FLAGS)
endif
# csharp linearsolver examples
@@ -75,18 +75,18 @@ testlp: $(BIN_DIR)/testlp.exe
csharpcp: $(BIN_DIR)/Google.OrTools.ConstraintSolver.dll
$(GEN_DIR)/constraint_solver/constraint_solver_csharp_wrap.cc: $(SRC_DIR)/constraint_solver/routing.swig $(SRC_DIR)/constraint_solver/constraint_solver.swig $(SRC_DIR)/base/base.swig $(SRC_DIR)/util/data.swig $(SRC_DIR)/constraint_solver/constraint_solver.h
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp -o $(GEN_DIR)$Sconstraint_solver$Sconstraint_solver_csharp_wrap.cc -module operations_research -namespace Google.OrTools.ConstraintSolver -dllimport "Google.OrTools.ConstraintSolver.$(SHAREDLIBEXT)" -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sconstraintsolver $(SRC_DIR)/constraint_solver$Srouting.swig
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp -o $(GEN_DIR)$Sconstraint_solver$Sconstraint_solver_csharp_wrap.cc -module operations_research -namespace Google.OrTools.ConstraintSolver -dllimport "Google.OrTools.ConstraintSolver.$(DYNAMIC_SWIG_LIB_SUFFIX)" -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sconstraintsolver $(SRC_DIR)/constraint_solver$Srouting.swig
$(OBJ_DIR)/constraint_solver_csharp_wrap.$O: $(GEN_DIR)/constraint_solver/constraint_solver_csharp_wrap.cc
$(CCC) $(CFLAGS) -c $(GEN_DIR)$Sconstraint_solver$Sconstraint_solver_csharp_wrap.cc $(OBJ_OUT)constraint_solver_csharp_wrap.$O
$(BIN_DIR)/Google.OrTools.ConstraintSolver.dll: $(OBJ_DIR)/constraint_solver_csharp_wrap.$O $(ROUTING_DEPS) $(SRC_DIR)/com/google/ortools/constraintsolver/IntVarArrayHelper.cs $(SRC_DIR)/com/google/ortools/constraintsolver/IntervalVarArrayHelper.cs $(SRC_DIR)/com/google/ortools/constraintsolver/IntArrayHelper.cs $(SRC_DIR)/com/google/ortools/constraintsolver/ValCstPair.cs $(SRC_DIR)/com/google/ortools/constraintsolver/NetDecisionBuilder.cs
$(BIN_DIR)/Google.OrTools.ConstraintSolver.dll: $(OBJ_DIR)/constraint_solver_csharp_wrap.$O $(STATIC_ROUTING_DEPS) $(SRC_DIR)/com/google/ortools/constraintsolver/IntVarArrayHelper.cs $(SRC_DIR)/com/google/ortools/constraintsolver/IntervalVarArrayHelper.cs $(SRC_DIR)/com/google/ortools/constraintsolver/IntArrayHelper.cs $(SRC_DIR)/com/google/ortools/constraintsolver/ValCstPair.cs $(SRC_DIR)/com/google/ortools/constraintsolver/NetDecisionBuilder.cs
ifeq ($(SYSTEM),win)
$(CSC) /target:module /out:$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.ConstraintSolver.netmodule /warn:0 /nologo /debug $(GEN_DIR)\\com\\google\\ortools\\constraintsolver\\*.cs $(SRC_DIR)\\com\\google\\ortools\\constraintsolver\\*.cs
$(LD) $(LDOUT)$(BIN_DIR)\\Google.OrTools.ConstraintSolver.dll $(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.ConstraintSolver.netmodule $(OBJ_DIR)$Sconstraint_solver_csharp_wrap.$O $(ROUTING_LNK) $(LDFLAGS)
$(DYNAMIC_LD) $(LDOUT)$(BIN_DIR)\\Google.OrTools.ConstraintSolver.dll $(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.ConstraintSolver.netmodule $(OBJ_DIR)$Sconstraint_solver_csharp_wrap.$O $(STATIC_ROUTING_LNK) $(STATIC_LD_FLAGS)
else
$(CSC) /target:library /out:$(BIN_DIR)/Google.OrTools.ConstraintSolver.dll /warn:0 /nologo /debug $(GEN_DIR)/com/google/ortools/constraintsolver/*.cs $(SRC_DIR)/com/google/ortools/constraintsolver/*.cs
$(LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.ConstraintSolver.$(SHAREDLIBEXT) $(OBJ_DIR)/constraint_solver_csharp_wrap.$O $(ROUTING_LNK) $(LDFLAGS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.ConstraintSolver.$(DYNAMIC_SWIG_LIB_SUFFIX) $(OBJ_DIR)/constraint_solver_csharp_wrap.$O $(STATIC_ROUTING_LNK) $(STATIC_LD_FLAGS)
endif
# csharp cp examples
@@ -117,23 +117,29 @@ $(BIN_DIR)/testcp.exe: $(BIN_DIR)/Google.OrTools.ConstraintSolver.dll $(EX_DIR)/
testcp: $(BIN_DIR)/testcp.exe
$(MONO) $(BIN_DIR)$Stestcp.exe
$(BIN_DIR)/jobshop_bug.exe: $(BIN_DIR)/Google.OrTools.ConstraintSolver.dll $(EX_DIR)/tests/jobshop_bug.cs
$(CSC) /target:exe /out:$(BIN_DIR)$Sjobshop_bug.exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.ConstraintSolver.dll $(EX_DIR)$Stests$Sjobshop_bug.cs
jobshop_bug: $(BIN_DIR)/jobshop_bug.exe
$(MONO) $(BIN_DIR)$Sjobshop_bug.exe
# csharpalgorithms
csharpalgorithms: $(BIN_DIR)/Google.OrTools.Algorithms.dll
$(GEN_DIR)/algorithms/knapsack_solver_csharp_wrap.cc: $(SRC_DIR)/algorithms/knapsack_solver.swig $(SRC_DIR)/algorithms/knapsack_solver.swig $(SRC_DIR)/base/base.swig $(SRC_DIR)/util/data.swig $(SRC_DIR)/algorithms/knapsack_solver.h
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp -o $(GEN_DIR)$Salgorithms$Sknapsack_solver_csharp_wrap.cc -module operations_research -namespace Google.OrTools.Algorithms -dllimport "Google.OrTools.Algorithms.$(SHAREDLIBEXT)" -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sknapsacksolver $(SRC_DIR)/algorithms$Sknapsack_solver.swig
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp -o $(GEN_DIR)$Salgorithms$Sknapsack_solver_csharp_wrap.cc -module operations_research -namespace Google.OrTools.Algorithms -dllimport "Google.OrTools.Algorithms.$(DYNAMIC_SWIG_LIB_SUFFIX)" -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sknapsacksolver $(SRC_DIR)/algorithms$Sknapsack_solver.swig
$(OBJ_DIR)/knapsack_solver_csharp_wrap.$O: $(GEN_DIR)/algorithms/knapsack_solver_csharp_wrap.cc
$(CCC) $(CFLAGS) -c $(GEN_DIR)/algorithms/knapsack_solver_csharp_wrap.cc $(OBJ_OUT)knapsack_solver_csharp_wrap.$O
$(BIN_DIR)/Google.OrTools.Algorithms.dll: $(OBJ_DIR)/knapsack_solver_csharp_wrap.$O $(ALGORITHMS_DEPS)
$(BIN_DIR)/Google.OrTools.Algorithms.dll: $(OBJ_DIR)/knapsack_solver_csharp_wrap.$O $(STATIC_ALGORITHMS_DEPS)
ifeq ($(SYSTEM),win)
$(CSC) /target:module /out:$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.Algorithms.netmodule /warn:0 /nologo /debug $(GEN_DIR)\\com\\google\\ortools\\knapsacksolver\\*.cs
$(LD) $(LDOUT)$(BIN_DIR)\\Google.OrTools.Algorithms.dll $(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.Algorithms.netmodule $(OBJ_DIR)\\knapsack_solver_csharp_wrap.$O $(ALGORITHMS_LNK) $(LDFLAGS)
$(DYNAMIC_LD) $(LDOUT)$(BIN_DIR)\\Google.OrTools.Algorithms.dll $(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.Algorithms.netmodule $(OBJ_DIR)\\knapsack_solver_csharp_wrap.$O $(STATIC_ALGORITHMS_LNK) $(STATIC_LD_FLAGS)
else
$(CSC) /target:library /out:$(BIN_DIR)/Google.OrTools.Algorithms.dll /warn:0 /nologo /debug $(GEN_DIR)/com/google/ortools/knapsacksolver/*.cs
$(LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.Algorithms.$(SHAREDLIBEXT) $(OBJ_DIR)/knapsack_solver_csharp_wrap.$O $(ALGORITHMS_LNK) $(LDFLAGS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.Algorithms.$(DYNAMIC_SWIG_LIB_SUFFIX) $(OBJ_DIR)/knapsack_solver_csharp_wrap.$O $(STATIC_ALGORITHMS_LNK) $(STATIC_LD_FLAGS)
endif
# csharp algorithm examples
@@ -146,18 +152,18 @@ $(BIN_DIR)/csknapsack.exe: $(BIN_DIR)/Google.OrTools.Algorithms.dll $(EX_DIR)/cs
csharpgraph: $(BIN_DIR)/Google.OrTools.Graph.dll
$(GEN_DIR)/graph/graph_csharp_wrap.cc: $(SRC_DIR)/graph/graph.swig $(SRC_DIR)/base/base.swig $(SRC_DIR)/util/data.swig $(SRC_DIR)/graph/max_flow.h $(SRC_DIR)/graph/min_cost_flow.h
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp -o $(GEN_DIR)$Sgraph$Sgraph_csharp_wrap.cc -module operations_research -namespace Google.OrTools.Graph -dllimport "Google.OrTools.Graph.$(SHAREDLIBEXT)" -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sgraph graph$Sgraph.swig
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp -o $(GEN_DIR)$Sgraph$Sgraph_csharp_wrap.cc -module operations_research -namespace Google.OrTools.Graph -dllimport "Google.OrTools.Graph.$(DYNAMIC_SWIG_LIB_SUFFIX)" -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sgraph graph$Sgraph.swig
$(OBJ_DIR)/graph_csharp_wrap.$O: $(GEN_DIR)/graph/graph_csharp_wrap.cc
$(CCC) $(CFLAGS) -c $(GEN_DIR)$Sgraph$Sgraph_csharp_wrap.cc $(OBJ_OUT)graph_csharp_wrap.$O
$(BIN_DIR)/Google.OrTools.Graph.dll: $(OBJ_DIR)/graph_csharp_wrap.$O $(GRAPH_DEPS)
$(BIN_DIR)/Google.OrTools.Graph.dll: $(OBJ_DIR)/graph_csharp_wrap.$O $(STATIC_GRAPH_DEPS)
ifeq ($(SYSTEM),win)
$(CSC) /target:module /unsafe /out:$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.Graph.netmodule /warn:0 /nologo /debug $(GEN_DIR)\\com\\google\\ortools\\graph\\*.cs
$(LD) $(LDOUT)$(BIN_DIR)\\Google.OrTools.Graph.dll $(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.Graph.netmodule $(OBJ_DIR)\\graph_csharp_wrap.$O $(GRAPH_LNK) $(LDFLAGS)
$(DYNAMIC_LD) $(LDOUT)$(BIN_DIR)\\Google.OrTools.Graph.dll $(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.Graph.netmodule $(OBJ_DIR)\\graph_csharp_wrap.$O $(STATIC_GRAPH_LNK) $(STATIC_LD_FLAGS)
else
$(CSC) /target:library /unsafe /out:$(BIN_DIR)/Google.OrTools.Graph.dll /warn:0 /nologo /debug $(GEN_DIR)/com/google/ortools/graph/*.cs
$(LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.Graph.$(SHAREDLIBEXT) $(OBJ_DIR)/graph_csharp_wrap.$O $(GRAPH_LNK) $(LDFLAGS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)Google.OrTools.Graph.$(DYNAMIC_SWIG_LIB_SUFFIX) $(OBJ_DIR)/graph_csharp_wrap.$O $(STATIC_GRAPH_LNK) $(STATIC_LD_FLAGS)
endif
# csharp graph examples

View File

@@ -3,7 +3,7 @@ java: javacp javaalgorithms javagraph javalp
# Clean target
clean_java:
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)jni*.$(JNILIBEXT)
-$(DEL) $(LIB_DIR)$S$(LIBPREFIX)jni*.$(JNI_LIB_EXT)
-$(DEL) $(LIB_DIR)$S*.jar
-$(DEL) $(GEN_DIR)$Salgorithms$S*java_wrap*
-$(DEL) $(GEN_DIR)$Scom$Sgoogle$Sortools$Sconstraintsolver$S*.java
@@ -27,7 +27,7 @@ clean_java:
# javacp
javacp: $(LIB_DIR)/com.google.ortools.constraintsolver.jar $(LIB_DIR)/$(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT)
javacp: $(LIB_DIR)/com.google.ortools.constraintsolver.jar $(LIB_DIR)/$(LIBPREFIX)jniconstraintsolver.$(JNI_LIB_EXT)
$(GEN_DIR)/constraint_solver/constraint_solver_java_wrap.cc: $(SRC_DIR)/constraint_solver/constraint_solver.swig $(SRC_DIR)/constraint_solver/routing.swig $(SRC_DIR)/base/base.swig $(SRC_DIR)/util/data.swig $(SRC_DIR)/constraint_solver/constraint_solver.h
$(SWIG_BINARY) -I$(INC_DIR) -c++ -java -o $(GEN_DIR)$Sconstraint_solver$Sconstraint_solver_java_wrap.cc -package com.google.ortools.constraintsolver -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sconstraintsolver $(SRC_DIR)$Sconstraint_solver$Srouting.swig
@@ -39,8 +39,8 @@ $(LIB_DIR)/com.google.ortools.constraintsolver.jar: $(GEN_DIR)/constraint_solver
$(JAVAC_BIN) -d $(OBJ_DIR) $(SRC_DIR)/com$Sgoogle$Sortools$Sconstraintsolver$S*.java $(GEN_DIR)$Scom$Sgoogle$Sortools$Sconstraintsolver$S*.java
$(JAR_BIN) cf $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar -C $(OBJ_DIR) $Scom$Sgoogle$Sortools$Sconstraintsolver
$(LIB_DIR)/$(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT): $(OBJ_DIR)/constraint_solver_java_wrap.$O $(ROUTING_DEPS)
$(LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT) $(OBJ_DIR)$Sconstraint_solver_java_wrap.$O $(ROUTING_LNK) $(LDFLAGS)
$(LIB_DIR)/$(LIBPREFIX)jniconstraintsolver.$(JNI_LIB_EXT): $(OBJ_DIR)/constraint_solver_java_wrap.$O $(STATIC_ROUTING_DEPS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)jniconstraintsolver.$(JNI_LIB_EXT) $(OBJ_DIR)$Sconstraint_solver_java_wrap.$O $(STATIC_ROUTING_LNK) $(STATIC_LD_FLAGS)
# Java CP Examples
@@ -250,7 +250,7 @@ run_CoinsGrid: compile_CoinsGrid
# javaalgorithms
javaalgorithms: $(LIB_DIR)/com.google.ortools.knapsacksolver.jar $(LIB_DIR)/$(LIBPREFIX)jniknapsacksolver.$(JNILIBEXT)
javaalgorithms: $(LIB_DIR)/com.google.ortools.knapsacksolver.jar $(LIB_DIR)/$(LIBPREFIX)jniknapsacksolver.$(JNI_LIB_EXT)
$(GEN_DIR)/algorithms/knapsack_solver_java_wrap.cc: $(SRC_DIR)/algorithms/knapsack_solver.swig $(SRC_DIR)/base/base.swig $(SRC_DIR)/util/data.swig $(SRC_DIR)/algorithms/knapsack_solver.h
$(SWIG_BINARY) -I$(INC_DIR) -c++ -java -o $(GEN_DIR)$Salgorithms$Sknapsack_solver_java_wrap.cc -package com.google.ortools.knapsacksolver -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sknapsacksolver $(SRC_DIR)/algorithms$Sknapsack_solver.swig
@@ -262,8 +262,8 @@ $(LIB_DIR)/com.google.ortools.knapsacksolver.jar: $(GEN_DIR)/algorithms/knapsack
$(JAVAC_BIN) -d $(OBJ_DIR) $(GEN_DIR)$Scom$Sgoogle$Sortools$Sknapsacksolver$S*.java
$(JAR_BIN) cf $(LIB_DIR)$Scom.google.ortools.knapsacksolver.jar -C $(OBJ_DIR) com$Sgoogle$Sortools$Sknapsacksolver
$(LIB_DIR)/$(LIBPREFIX)jniknapsacksolver.$(JNILIBEXT): $(OBJ_DIR)/knapsack_solver_java_wrap.$O $(ALGORITHMS_DEPS)
$(LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)jniknapsacksolver.$(JNILIBEXT) $(OBJ_DIR)$Sknapsack_solver_java_wrap.$O $(ALGORITHMS_LNK) $(LDFLAGS)
$(LIB_DIR)/$(LIBPREFIX)jniknapsacksolver.$(JNI_LIB_EXT): $(OBJ_DIR)/knapsack_solver_java_wrap.$O $(STATIC_ALGORITHMS_DEPS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)jniknapsacksolver.$(JNI_LIB_EXT) $(OBJ_DIR)$Sknapsack_solver_java_wrap.$O $(STATIC_ALGORITHMS_LNK) $(STATIC_LD_FLAGS)
# Java Algorithms Examples
@@ -277,7 +277,7 @@ run_Knapsack: compile_Knapsack
# javagraph
javagraph: $(LIB_DIR)/com.google.ortools.graph.jar $(LIB_DIR)/$(LIBPREFIX)jnigraph.$(JNILIBEXT)
javagraph: $(LIB_DIR)/com.google.ortools.graph.jar $(LIB_DIR)/$(LIBPREFIX)jnigraph.$(JNI_LIB_EXT)
$(GEN_DIR)/graph/graph_java_wrap.cc: $(SRC_DIR)/graph/graph.swig $(SRC_DIR)/base/base.swig $(SRC_DIR)/util/data.swig $(SRC_DIR)/graph/max_flow.h $(SRC_DIR)/graph/min_cost_flow.h $(SRC_DIR)/graph/linear_assignment.h
$(SWIG_BINARY) -I$(INC_DIR) -c++ -java -o $(GEN_DIR)$Sgraph$Sgraph_java_wrap.cc -package com.google.ortools.graph -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sgraph graph$Sgraph.swig
@@ -289,8 +289,8 @@ $(LIB_DIR)/com.google.ortools.graph.jar: $(GEN_DIR)/graph/graph_java_wrap.cc
$(JAVAC_BIN) -d $(OBJ_DIR) $(GEN_DIR)$Scom$Sgoogle$Sortools$Sgraph$S*.java
$(JAR_BIN) cf $(LIB_DIR)$Scom.google.ortools.graph.jar -C $(OBJ_DIR) com$Sgoogle$Sortools$Sgraph
$(LIB_DIR)/$(LIBPREFIX)jnigraph.$(JNILIBEXT): $(OBJ_DIR)/graph_java_wrap.$O $(GRAPH_DEPS)
$(LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)jnigraph.$(JNILIBEXT) $(OBJ_DIR)$Sgraph_java_wrap.$O $(GRAPH_LNK) $(LDFLAGS)
$(LIB_DIR)/$(LIBPREFIX)jnigraph.$(JNI_LIB_EXT): $(OBJ_DIR)/graph_java_wrap.$O $(STATIC_GRAPH_DEPS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)jnigraph.$(JNI_LIB_EXT) $(OBJ_DIR)$Sgraph_java_wrap.$O $(STATIC_GRAPH_LNK) $(STATIC_LD_FLAGS)
# Java Algorithms Examples
@@ -312,7 +312,7 @@ run_LinearAssignmentAPI: compile_LinearAssignmentAPI javagraph
# javalp
javalp: $(LIB_DIR)/com.google.ortools.linearsolver.jar $(LIB_DIR)/$(LIBPREFIX)jnilinearsolver.$(JNILIBEXT)
javalp: $(LIB_DIR)/com.google.ortools.linearsolver.jar $(LIB_DIR)/$(LIBPREFIX)jnilinearsolver.$(JNI_LIB_EXT)
$(GEN_DIR)/linear_solver/linear_solver_java_wrap.cc: $(SRC_DIR)/linear_solver/linear_solver.swig $(SRC_DIR)/base/base.swig $(SRC_DIR)/util/data.swig $(SRC_DIR)/linear_solver/linear_solver.h $(GEN_DIR)/linear_solver/linear_solver.pb.h
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -java -o $(GEN_DIR)$Slinear_solver$Slinear_solver_java_wrap.cc -package com.google.ortools.linearsolver -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Slinearsolver $(SRC_DIR)/linear_solver$Slinear_solver.swig
@@ -324,8 +324,8 @@ $(LIB_DIR)/com.google.ortools.linearsolver.jar: $(GEN_DIR)/linear_solver/linear_
$(JAVAC_BIN) -d $(OBJ_DIR) $(GEN_DIR)$Scom$Sgoogle$Sortools$Slinearsolver$S*.java
$(JAR_BIN) cf $(LIB_DIR)$Scom.google.ortools.linearsolver.jar -C $(OBJ_DIR) com$Sgoogle$Sortools$Slinearsolver
$(LIB_DIR)/$(LIBPREFIX)jnilinearsolver.$(JNILIBEXT): $(OBJ_DIR)/linear_solver_java_wrap.$O $(LP_DEPS)
$(LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)jnilinearsolver.$(JNILIBEXT) $(OBJ_DIR)$Slinear_solver_java_wrap.$O $(LP_LNK) $(LDFLAGS)
$(LIB_DIR)/$(LIBPREFIX)jnilinearsolver.$(JNI_LIB_EXT): $(OBJ_DIR)/linear_solver_java_wrap.$O $(STATIC_LP_DEPS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S$(LIBPREFIX)jnilinearsolver.$(JNI_LIB_EXT) $(OBJ_DIR)$Slinear_solver_java_wrap.$O $(STATIC_LP_LNK) $(STATIC_LD_FLAGS)
# Java Linear Programming Examples
@@ -352,7 +352,7 @@ $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/$(EX).class: javacp $(EX_
cjava: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/$(EX).class com.google.ortools.constraintsolver.jar
rjava: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/$(EX).class $(LIB_DIR)/$(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT) com.google.ortools.constraintsolver.jar
rjava: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/$(EX).class $(LIB_DIR)/$(LIBPREFIX)jniconstraintsolver.$(JNI_LIB_EXT) com.google.ortools.constraintsolver.jar
$(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.$(EX)
# Build stand-alone archive file for redistribution.
@@ -363,7 +363,7 @@ java_archive: java
$(MKDIR) temp$Sor-tools.$(PLATFORM)
$(MKDIR) temp$Sor-tools.$(PLATFORM)\lib
$(COPY) lib\*.jar temp$Sor-tools.$(PLATFORM)\lib
$(COPY) $(LIB_DIR)$S$(LIBPREFIX)jni*.$(JNILIBEXT) temp$Sor-tools.$(PLATFORM)\lib
$(COPY) $(LIB_DIR)$S$(LIBPREFIX)jni*.$(JNI_LIB_EXT) temp$Sor-tools.$(PLATFORM)\lib
ifeq ("$(SYSTEM)","win")
tools\mkdir temp\or-tools.$(PLATFORM)\examples
tools\mkdir temp\or-tools.$(PLATFORM)\examples\com

View File

@@ -17,11 +17,11 @@ clean_python:
-$(DEL) $(GEN_DIR)$Sconstraint_solver$S*.pyc
-$(DEL) $(GEN_DIR)$Sgraph$S*.pyc
-$(DEL) $(GEN_DIR)$Slinear_solver$S*.pyc
-$(DEL) $(LIB_DIR)$S_pywrap*.$(SHAREDLIBEXT)
-$(DEL) $(LIB_DIR)$S_pywrap*.$(DYNAMIC_SWIG_LIB_SUFFIX)
-$(DEL) $(OBJ_DIR)$S*python_wrap.$O
# pywrapknapsack_solver
pyalgorithms: $(LIB_DIR)/_pywrapknapsack_solver.$(SHAREDLIBEXT) $(GEN_DIR)/algorithms/pywrapknapsack_solver.py
pyalgorithms: $(LIB_DIR)/_pywrapknapsack_solver.$(DYNAMIC_SWIG_LIB_SUFFIX) $(GEN_DIR)/algorithms/pywrapknapsack_solver.py
$(GEN_DIR)/algorithms/pywrapknapsack_solver.py: $(SRC_DIR)/algorithms/knapsack_solver.swig $(SRC_DIR)/algorithms/knapsack_solver.h $(SRC_DIR)/base/base.swig
$(SWIG_BINARY) -I$(INC_DIR) -c++ -python -o $(GEN_DIR)$Salgorithms$Sknapsack_solver_python_wrap.cc -module pywrapknapsack_solver $(SRC_DIR)/algorithms$Sknapsack_solver.swig
@@ -31,14 +31,14 @@ $(GEN_DIR)/algorithms/knapsack_solver_python_wrap.cc: $(GEN_DIR)/algorithms/pywr
$(OBJ_DIR)/knapsack_solver_python_wrap.$O: $(GEN_DIR)/algorithms/knapsack_solver_python_wrap.cc
$(CCC) $(CFLAGS) $(PYTHON_INC) -c $(GEN_DIR)$Salgorithms$Sknapsack_solver_python_wrap.cc $(OBJ_OUT)knapsack_solver_python_wrap.$O
$(LIB_DIR)/_pywrapknapsack_solver.$(SHAREDLIBEXT): $(OBJ_DIR)/knapsack_solver_python_wrap.$O $(ALGORITHMS_LIBS) $(LP_LIBS) $(BASE_LIBS)
$(LD) $(LDOUT)$(LIB_DIR)$S_pywrapknapsack_solver.$(SHAREDLIBEXT) $(OBJ_DIR)$Sknapsack_solver_python_wrap.$O $(ALGORITHMS_LNK) $(LDFLAGS) $(PYTHON_LNK)
$(LIB_DIR)/_pywrapknapsack_solver.$(DYNAMIC_SWIG_LIB_SUFFIX): $(OBJ_DIR)/knapsack_solver_python_wrap.$O $(STATIC_ALGORITHMS_LIBS) $(STATIC_LP_LIBS) $(STATIC_BASE_LIBS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S_pywrapknapsack_solver.$(DYNAMIC_SWIG_LIB_SUFFIX) $(OBJ_DIR)$Sknapsack_solver_python_wrap.$O $(STATIC_ALGORITHMS_LNK) $(STATIC_LD_FLAGS) $(PYTHON_LNK)
ifeq "$(SYSTEM)" "win"
copy $(LIB_DIR)\\_pywrapknapsack_solver.dll $(GEN_DIR)\\algorithms\\_pywrapknapsack_solver.pyd
endif
# pywrapgraph
pygraph: $(LIB_DIR)/_pywrapgraph.$(SHAREDLIBEXT) $(GEN_DIR)/graph/pywrapgraph.py
pygraph: $(LIB_DIR)/_pywrapgraph.$(DYNAMIC_SWIG_LIB_SUFFIX) $(GEN_DIR)/graph/pywrapgraph.py
$(GEN_DIR)/graph/pywrapgraph.py: $(SRC_DIR)/graph/graph.swig $(SRC_DIR)/graph/min_cost_flow.h $(SRC_DIR)/graph/max_flow.h $(SRC_DIR)/graph/ebert_graph.h $(SRC_DIR)/base/base.swig
$(SWIG_BINARY) -I$(INC_DIR) -c++ -python -o $(GEN_DIR)$Sgraph$Spywrapgraph_python_wrap.cc -module pywrapgraph $(SRC_DIR)/graph$Sgraph.swig
@@ -48,15 +48,15 @@ $(GEN_DIR)/graph/pywrapgraph_python_wrap.cc: $(GEN_DIR)/graph/pywrapgraph.py
$(OBJ_DIR)/pywrapgraph_python_wrap.$O: $(GEN_DIR)/graph/pywrapgraph_python_wrap.cc
$(CCC) $(CFLAGS) $(PYTHON_INC) -c $(GEN_DIR)/graph/pywrapgraph_python_wrap.cc $(OBJ_OUT)pywrapgraph_python_wrap.$O
$(LIB_DIR)/_pywrapgraph.$(SHAREDLIBEXT): $(OBJ_DIR)/pywrapgraph_python_wrap.$O $(GRAPH_DEPS)
$(LD) $(LDOUT)$(LIB_DIR)$S_pywrapgraph.$(SHAREDLIBEXT) $(OBJ_DIR)$Spywrapgraph_python_wrap.$O $(GRAPH_LNK) $(LDFLAGS) $(PYTHON_LNK)
$(LIB_DIR)/_pywrapgraph.$(DYNAMIC_SWIG_LIB_SUFFIX): $(OBJ_DIR)/pywrapgraph_python_wrap.$O $(STATIC_GRAPH_DEPS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S_pywrapgraph.$(DYNAMIC_SWIG_LIB_SUFFIX) $(OBJ_DIR)$Spywrapgraph_python_wrap.$O $(STATIC_GRAPH_LNK) $(STATIC_LD_FLAGS) $(PYTHON_LNK)
ifeq "$(SYSTEM)" "win"
copy $(LIB_DIR)\\_pywrapgraph.dll $(GEN_DIR)\\graph\\_pywrapgraph.pyd
endif
# pywrapcp
pycp: $(LIB_DIR)/_pywrapcp.$(SHAREDLIBEXT) $(GEN_DIR)/constraint_solver/pywrapcp.py $(LIB_DIR)/_pywraprouting.$(SHAREDLIBEXT) $(GEN_DIR)/constraint_solver/pywraprouting.py
pycp: $(LIB_DIR)/_pywrapcp.$(DYNAMIC_SWIG_LIB_SUFFIX) $(GEN_DIR)/constraint_solver/pywrapcp.py $(LIB_DIR)/_pywraprouting.$(DYNAMIC_SWIG_LIB_SUFFIX) $(GEN_DIR)/constraint_solver/pywraprouting.py
$(GEN_DIR)/constraint_solver/pywrapcp.py: $(SRC_DIR)/constraint_solver/constraint_solver.swig $(SRC_DIR)/constraint_solver/constraint_solver.h $(SRC_DIR)/constraint_solver/constraint_solveri.h $(SRC_DIR)/base/base.swig
$(SWIG_BINARY) -I$(INC_DIR) -c++ -python -o $(GEN_DIR)$Sconstraint_solver$Sconstraint_solver_python_wrap.cc -module pywrapcp $(SRC_DIR)/constraint_solver$Sconstraint_solver.swig
@@ -66,8 +66,8 @@ $(GEN_DIR)/constraint_solver/constraint_solver_python_wrap.cc: $(GEN_DIR)/constr
$(OBJ_DIR)/constraint_solver_python_wrap.$O: $(GEN_DIR)/constraint_solver/constraint_solver_python_wrap.cc
$(CCC) $(CFLAGS) $(PYTHON_INC) -c $(GEN_DIR)$Sconstraint_solver$Sconstraint_solver_python_wrap.cc $(OBJ_OUT)constraint_solver_python_wrap.$O
$(LIB_DIR)/_pywrapcp.$(SHAREDLIBEXT): $(OBJ_DIR)/constraint_solver_python_wrap.$O $(CP_DEPS)
$(LD) $(LDOUT)$(LIB_DIR)$S_pywrapcp.$(SHAREDLIBEXT) $(OBJ_DIR)$Sconstraint_solver_python_wrap.$O $(CP_LNK) $(LDFLAGS) $(PYTHON_LNK)
$(LIB_DIR)/_pywrapcp.$(DYNAMIC_SWIG_LIB_SUFFIX): $(OBJ_DIR)/constraint_solver_python_wrap.$O $(STATIC_CP_DEPS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S_pywrapcp.$(DYNAMIC_SWIG_LIB_SUFFIX) $(OBJ_DIR)$Sconstraint_solver_python_wrap.$O $(STATIC_CP_LNK) $(STATIC_LD_FLAGS) $(PYTHON_LNK)
ifeq "$(SYSTEM)" "win"
copy $(LIB_DIR)\\_pywrapcp.dll $(GEN_DIR)\\constraint_solver\\_pywrapcp.pyd
endif
@@ -82,15 +82,15 @@ $(GEN_DIR)/constraint_solver/routing_python_wrap.cc: $(GEN_DIR)/constraint_solve
$(OBJ_DIR)/routing_python_wrap.$O: $(GEN_DIR)/constraint_solver/routing_python_wrap.cc
$(CCC) $(CFLAGS) $(PYTHON_INC) -c $(GEN_DIR)/constraint_solver/routing_python_wrap.cc $(OBJ_OUT)routing_python_wrap.$O
$(LIB_DIR)/_pywraprouting.$(SHAREDLIBEXT): $(OBJ_DIR)/routing_python_wrap.$O $(ROUTING_DEPS)
$(LD) $(LDOUT)$(LIB_DIR)$S_pywraprouting.$(SHAREDLIBEXT) $(OBJ_DIR)$Srouting_python_wrap.$O $(ROUTING_LNK) $(LDFLAGS) $(PYTHON_LNK)
$(LIB_DIR)/_pywraprouting.$(DYNAMIC_SWIG_LIB_SUFFIX): $(OBJ_DIR)/routing_python_wrap.$O $(STATIC_ROUTING_DEPS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S_pywraprouting.$(DYNAMIC_SWIG_LIB_SUFFIX) $(OBJ_DIR)$Srouting_python_wrap.$O $(STATIC_ROUTING_LNK) $(STATIC_LD_FLAGS) $(PYTHON_LNK)
ifeq "$(SYSTEM)" "win"
copy $(LIB_DIR)\\_pywraprouting.dll $(GEN_DIR)\\constraint_solver\\_pywraprouting.pyd
endif
# pywraplp
pylp: $(LIB_DIR)/_pywraplp.$(SHAREDLIBEXT) $(GEN_DIR)/linear_solver/pywraplp.py
pylp: $(LIB_DIR)/_pywraplp.$(DYNAMIC_SWIG_LIB_SUFFIX) $(GEN_DIR)/linear_solver/pywraplp.py
$(GEN_DIR)/linear_solver/pywraplp.py: $(SRC_DIR)/linear_solver/linear_solver.swig $(SRC_DIR)/linear_solver/linear_solver.h $(SRC_DIR)/base/base.swig $(GEN_DIR)/linear_solver/linear_solver.pb.h
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -python -o $(GEN_DIR)$Slinear_solver$Slinear_solver_python_wrap.cc -module pywraplp $(SRC_DIR)/linear_solver$Slinear_solver.swig
@@ -100,15 +100,15 @@ $(GEN_DIR)/linear_solver/linear_solver_python_wrap.cc: $(GEN_DIR)/linear_solver/
$(OBJ_DIR)/linear_solver_python_wrap.$O: $(GEN_DIR)/linear_solver/linear_solver_python_wrap.cc
$(CCC) $(CFLAGS) $(PYTHON_INC) -c $(GEN_DIR)$Slinear_solver$Slinear_solver_python_wrap.cc $(OBJ_OUT)linear_solver_python_wrap.$O
$(LIB_DIR)/_pywraplp.$(SHAREDLIBEXT): $(OBJ_DIR)/linear_solver_python_wrap.$O $(LP_DEPS)
$(LD) $(LDOUT)$(LIB_DIR)$S_pywraplp.$(SHAREDLIBEXT) $(OBJ_DIR)$Slinear_solver_python_wrap.$O $(LP_LNK) $(LDFLAGS) $(PYTHON_LNK)
$(LIB_DIR)/_pywraplp.$(DYNAMIC_SWIG_LIB_SUFFIX): $(OBJ_DIR)/linear_solver_python_wrap.$O $(STATIC_LP_DEPS)
$(DYNAMIC_LD) $(LDOUT)$(LIB_DIR)$S_pywraplp.$(DYNAMIC_SWIG_LIB_SUFFIX) $(OBJ_DIR)$Slinear_solver_python_wrap.$O $(STATIC_LP_LNK) $(STATIC_LD_FLAGS) $(PYTHON_LNK)
ifeq "$(SYSTEM)" "win"
copy $(LIB_DIR)\\_pywraplp.dll $(GEN_DIR)\\linear_solver\\_pywraplp.pyd
endif
# Run a single example
rpy: $(LIB_DIR)/_pywraplp.$(SHAREDLIBEXT) $(LIB_DIR)/_pywrapcp.$(SHAREDLIBEXT) $(LIB_DIR)/_pywrapgraph.$(SHAREDLIBEXT) $(LIB_DIR)/_pywrapknapsack_solver.$(SHAREDLIBEXT) $(LIB_DIR)/_pywraprouting.$(SHAREDLIBEXT) $(EX_DIR)/python/$(EX).py
rpy: $(LIB_DIR)/_pywraplp.$(DYNAMIC_SWIG_LIB_SUFFIX) $(LIB_DIR)/_pywrapcp.$(DYNAMIC_SWIG_LIB_SUFFIX) $(LIB_DIR)/_pywrapgraph.$(DYNAMIC_SWIG_LIB_SUFFIX) $(LIB_DIR)/_pywrapknapsack_solver.$(DYNAMIC_SWIG_LIB_SUFFIX) $(LIB_DIR)/_pywraprouting.$(DYNAMIC_SWIG_LIB_SUFFIX) $(EX_DIR)/python/$(EX).py
ifeq ($(SYSTEM),win)
@echo Running python$S$(EX).py
@set PYTHONPATH=$(OR_ROOT_FULL)\\src && $(WINDOWS_PYTHON_PATH)$Spython $(EX_DIR)/python$S$(EX).py
@@ -156,7 +156,7 @@ ifeq ("$(SYSTEM)","win")
$(WINDOWS_PYTHON_PATH)$Spython dependencies\sources\googlecode-support\scripts\googlecode_upload.py -s "Google OR-Tools, Python archive, Windows $(PLATFORM) platform, svn release $(SVNVERSION)" -p or-tools -l Type-Achive,OpSys-Windows,Featured Google.OrTools.python.$(PLATFORM).$(SVNVERSION).zip -u $(USER) -w $(PASSWORD)
else
cd temp$Sor-tools.$(PLATFORM) && tar -C ..$S.. -c -v --exclude \*svn\* data | tar xvm -
$(COPY) _pywrap*.$(SHAREDLIBEXT) temp$Sor-tools.$(PLATFORM)
$(COPY) _pywrap*.$(DYNAMIC_SWIG_LIB_SUFFIX) temp$Sor-tools.$(PLATFORM)
cd temp && tar cvzf ..$SGoogle.OrTools.python.$(PLATFORM).$(SVNVERSION).tar.gz or-tools.$(PLATFORM)
endif
-$(DELREC) temp

View File

@@ -126,12 +126,17 @@ dependencies/sources/googlecode-support/scripts/googlecode_upload.py:
# Install Coin CBC.
install_coin_cbc: dependencies/install/bin/cbc
upgrade_cbc:
cd dependencies/sources/coin-cbc && make distclean && ./configure --prefix=$(OR_ROOT_FULL)/dependencies/install --disable-bzlib --without-lapack --enable-static --enable-shared && make install
dependencies/install/bin/cbc: dependencies/sources/coin-cbc/Makefile
cd dependencies/sources/coin-cbc && make install
dependencies/sources/coin-cbc/Makefile:
dependencies/sources/coin-cbc/Makefile: dependencies/sources/coin-cbc/Makefile.in
cd dependencies/sources/coin-cbc && ./configure --prefix=$(OR_ROOT_FULL)/dependencies/install --disable-bzlib --without-lapack --enable-static --enable-shared
dependencies/sources/coin-cbc/Makefile.in:
svn co https://projects.coin-or.org/svn/Cbc/releases/$(CBC_TAG) dependencies/sources/coin-cbc
cd dependencies/sources/coin-cbc && ./configure --prefix=$(OR_ROOT_FULL)/dependencies/install --disable-bzlib --without-lapack
# Install pcre (dependency of SWIG).
install_pcre: dependencies/install/bin/pcretest

View File

@@ -5,9 +5,9 @@
# Unix specific definitions
PROTOBUF_DIR = $(UNIX_PROTOBUF_DIR)
SWIG_BINARY = $(UNIX_SWIG_BINARY)
MKDIR=mkdir
COPY=cp
TOUCH=touch
MKDIR = mkdir
COPY = cp
TOUCH = touch
LIBPREFIX = lib
ifeq ($(PLATFORM),MACOSX)
# Keep the path in the lib as it is stored upon construction.
@@ -23,7 +23,6 @@ EX_DIR = $(OR_ROOT)examples
INC_DIR = $(OR_ROOT)src
O = o
E =
SHAREDLIBEXT = so
LDOUT = -o # need the space.
OBJ_OUT = -o $(OBJ_DIR)/
EXEOUT = -o $(BIN_DIR)/
@@ -98,7 +97,8 @@ ifdef UNIX_CLP_DIR
endif
ifeq ($(PLATFORM),LINUX)
LD = gcc -shared
DYNAMIC_LD = g++ -shared
STATIC_LD = ar rv
ifeq ($(PTRLENGTH),64)
ARCH = -DARCH_K8
else
@@ -113,19 +113,24 @@ ifeq ($(PLATFORM),LINUX)
endif
# This is needed to find libgflags.a
GFLAGS_LNK = -Wl,-rpath $(UNIX_GFLAGS_DIR)/lib -L$(UNIX_GFLAGS_DIR)/lib -lgflags
DYNAMIC_GFLAGS_LNK = -Wl,-rpath $(UNIX_GFLAGS_DIR)/lib -L$(UNIX_GFLAGS_DIR)/lib -lgflags
STATIC_GFLAGS_LNK = $(UNIX_GFLAGS_DIR)/lib/libgflags.a
# This is needed to find libz.a
ZLIB_LNK = -lz
# This is needed to find libprotobuf.a
PROTOBUF_LNK = -Wl,-rpath $(UNIX_PROTOBUF_DIR)/lib -L$(UNIX_PROTOBUF_DIR)/lib -lprotobuf -lpthread
DYNAMIC_PROTOBUF_LNK = -Wl,-rpath $(UNIX_PROTOBUF_DIR)/lib -L$(UNIX_PROTOBUF_DIR)/lib -lprotobuf -lpthread
STATIC_PROTOBUF_LNK = $(UNIX_PROTOBUF_DIR)/lib/libprotobuf.a
ifdef UNIX_GLPK_DIR
GLPK_LNK = -Wl,-rpath $(UNIX_GLPK_DIR)/lib -L$(UNIX_GLPK_DIR)/lib -lglpk
DYNAMIC_GLPK_LNK = -Wl,-rpath $(UNIX_GLPK_DIR)/lib -L$(UNIX_GLPK_DIR)/lib -lglpk
STATIC_GLPK_LNK = $(UNIX_GLPK_DIR)/lib/libglpk.a
endif
ifdef UNIX_CLP_DIR
CLP_LNK = -Wl,-rpath $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN) -L$(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN) -lClp -lCoinUtils
DYNAMIC_CLP_LNK = -Wl,-rpath $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN) -L$(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN) -lClp -lCoinUtils
STATIC_CLP_LNK = $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libClp.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libCoinUtils.a
endif
ifdef UNIX_CBC_DIR
CBC_LNK = -Wl,-rpath $(UNIX_CBC_DIR)/lib$(UNIX_CBC_COIN) -L$(UNIX_CBC_DIR)/lib$(UNIX_CBC_COIN) -lCbcSolver -lCbc -lCgl -lOsi -lOsiCbc -lOsiClp
DYNAMIC_CBC_LNK = -Wl,-rpath $(UNIX_CBC_DIR)/lib$(UNIX_CBC_COIN) -L$(UNIX_CBC_DIR)/lib$(UNIX_CBC_COIN) -lCbcSolver -lCbc -lCgl -lOsi -lOsiCbc -lOsiClp
STATIC_CBC_LNK = $(UNIX_CBC_DIR)/lib$(UNIX_CBC_COIN)/libCbcSolver.a $(UNIX_CBC_DIR)/lib$(UNIX_CBC_COIN)/libCbc.a $(UNIX_CBC_DIR)/lib$(UNIX_CBC_COIN)/libCgl.a $(UNIX_CBC_DIR)/lib$(UNIX_CBC_COIN)/libOsi.a $(UNIX_CBC_DIR)/lib$(UNIX_CBC_COIN)/libOsiCbc.a $(UNIX_CBC_DIR)/lib$(UNIX_CBC_COIN)/libOsiClp.a
endif
ifdef UNIX_SCIP_DIR
ifeq ($(PTRLENGTH),64)
@@ -133,35 +138,42 @@ ifeq ($(PLATFORM),LINUX)
else
SCIP_ARCH = linux.x86.gnu.opt
endif
SCIP_LNK =
ifeq ($(UNIX_SCIP_TAG),3.0.0)
SCIP_STATIC_LNK = -L$(UNIX_SCIP_DIR)/lib -lscip.$(SCIP_ARCH) -lnlpi.cppad.$(SCIP_ARCH) -llpispx.$(SCIP_ARCH) -lsoplex.$(SCIP_ARCH)
STATIC_SCIP_LNK = $(UNIX_SCIP_DIR)/lib/libscip.$(SCIP_ARCH).a $(UNIX_SCIP_DIR)/lib/libnlpi.cppad.$(SCIP_ARCH).a $(UNIX_SCIP_DIR)/lib/liblpispx.$(SCIP_ARCH).a $(UNIX_SCIP_DIR)/lib/libsoplex.$(SCIP_ARCH).a
else
SCIP_STATIC_LNK = -L$(UNIX_SCIP_DIR)/lib -lscip.$(SCIP_ARCH) -lnlpi.$(SCIP_ARCH) -llpispx.$(SCIP_ARCH) -lsoplex.$(SCIP_ARCH)
STATIC_SCIP_LNK = $(UNIX_SCIP_DIR)/lib/libscip.$(SCIP_ARCH).a $(UNIX_SCIP_DIR)/lib/libnlpi.$(SCIP_ARCH).a $(UNIX_SCIP_DIR)/lib/liblpispx.$(SCIP_ARCH).a $(UNIX_SCIP_DIR)/lib/libsoplex.$(SCIP_ARCH).a
endif
endif
ifdef UNIX_SLM_DIR
ifeq ($(PTRLENGTH),64)
SLM_LNK = -Wl,-rpath $(UNIX_SLM_DIR)/linux64/bin/ -L$(UNIX_SLM_DIR)/linux64/bin/ -m64 -lc -ldl -lm -lpthread -lsulum10
DYNAMIC_SLM_LNK = -Wl,-rpath $(UNIX_SLM_DIR)/linux64/bin/ -L$(UNIX_SLM_DIR)/linux64/bin/ -m64 -lc -ldl -lm -lpthread -lsulum10
STATIC_SLM_LNK = -Wl,-rpath $(UNIX_SLM_DIR)/linux64/bin/ -L$(UNIX_SLM_DIR)/linux64/bin/ -m64 -lc -ldl -lm -lpthread -lsulum10
else
SLM_LNK = -Wl,-rpath $(UNIX_SLM_DIR)/linux32/bin/ -L$(UNIX_SLM_DIR)/linux32/bin/ -m32 -lc -ldl -lm -lpthread -lsulum10
DYNAMIC_SLM_LNK = -Wl,-rpath $(UNIX_SLM_DIR)/linux32/bin/ -L$(UNIX_SLM_DIR)/linux32/bin/ -m32 -lc -ldl -lm -lpthread -lsulum10
STATIC_SLM_LNK = -Wl,-rpath $(UNIX_SLM_DIR)/linux32/bin/ -L$(UNIX_SLM_DIR)/linux32/bin/ -m32 -lc -ldl -lm -lpthread -lsulum10
endif
endif
SYS_LNK = -lrt
SYS_LNK = -lrt -lpthread
JAVA_INC = -I$(LINUX_JDK_ROOT)/include -I$(LINUX_JDK_ROOT)/include/linux
JAVAC_BIN = $(LINUX_JDK_ROOT)/bin/javac
JAVA_BIN = $(LINUX_JDK_ROOT)/bin/java
JAR_BIN = $(LINUX_JDK_ROOT)/bin/jar
JNILIBEXT = so
LIBSUFFIX = so
LINKCMD = g++ -shared
JNI_LIB_EXT = so
DYNAMIC_LIB_SUFFIX = so
DYNAMIC_SWIG_LIB_SUFFIX = so
DYNAMIC_LINK_CMD = g++ -shared
LINKPREFIX = -o # Need the space.
PRE_LIB = -Wl,-rpath $(OR_ROOT_FULL)/lib -L$(OR_ROOT_FULL)/lib -l
POST_LIB =
STATIC_LIB_SUFFIX = a
STATIC_LINK_CMD = ar rv
LINKPREFIX = -o # Need the space.
DYNAMIC_PRE_LIB = -Wl,-rpath $(OR_ROOT_FULL)/lib -L$(OR_ROOT_FULL)/lib -l
DYNAMIC_POST_LIB =
STATIC_PRE_LIB = $(OR_ROOT_FULL)/lib/lib
STATIC_POST_LIB = .a
endif # LINUX
ifeq ($(PLATFORM),MACOSX)
LD = ld -arch x86_64 -bundle -flat_namespace -undefined suppress -macosx_version_min 10.6 -lSystem -compatibility_version 1.0 -current_version $(OR_TOOLS_VERSION)
JNILIBEXT = jnilib
DYNAMIC_LD = ld -arch x86_64 -bundle -flat_namespace -undefined suppress -macosx_version_min 10.6 -lSystem -compatibility_version 1.0 -current_version $(OR_TOOLS_VERSION)
JNI_LIB_EXT = jnilib
ifeq ($(UNIX_MONO_DIR),)
CSC = gmcs
MONO = DYLD_LIBRARY_PATH=$(LIB_DIR):$(DYLD_LIBRARY_PATH) mono
@@ -181,27 +193,35 @@ ifeq ($(PLATFORM),MACOSX)
JAVA_BIN = java
JAR_BIN = jar
PRE_LIB = -L$(OR_ROOT)lib -l
POST_LIB =
LIBSUFFIX = dylib
LINKCMD = ld -arch x86_64 -dylib -flat_namespace -undefined suppress -macosx_version_min 10.6 -lSystem -compatibility_version 1.0 -current_version $(OR_TOOLS_VERSION)
DYNAMIC_PRE_LIB = -L$(OR_ROOT)lib -l
DYNAMIC_POST_LIB =
STATIC_PRE_LIB = $(OR_ROOT)lib/lib
STATIC_POST_LIB = .a
DYNAMIC_LIB_SUFFIX = dylib
DYNAMIC_SWIG_LIB_SUFFIX = so # To overcome a bug in Mac OS X loader.
DYNAMIC_LINK_CMD = ld -arch x86_64 -dylib -flat_namespace -undefined suppress -macosx_version_min 10.6 -lSystem -compatibility_version 1.0 -current_version $(OR_TOOLS_VERSION)
STATIC_LIB_SUFFIX = a
STATIC_LINK_CMD = ar rv
LINKPREFIX = -o # Need the space.
ifdef UNIX_GLPK_DIR
GLPK_LNK = -L$(UNIX_GLPK_DIR)/lib -lglpk
DYNAMIC_GLPK_LNK = -L$(UNIX_GLPK_DIR)/lib -lglpk
STATIC_GLPK_LNK = $(UNIX_GLPK_DIR)/lib/libglpk.a
endif
ifdef UNIX_CLP_DIR
CLP_LNK = -L$(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN) -lClp -lCoinUtils
DYNAMIC_CLP_LNK = -L$(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN) -lClp -lCoinUtils
STATIC_CLP_LNK = $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libClp.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libCoinUtils.a
endif
ifdef UNIX_CBC_DIR
CBC_LNK = -L$(UNIX_CBC_DIR)/lib$(UNIX_CBC_COIN) -lCbcSolver -lCbc -lCgl -lOsi -lOsiCbc -lOsiClp
DYNAMIC_CBC_LNK = $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libCbcSolver.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libCbc.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libCgl.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libOsi.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libOsiCbc.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libOsiClp.a
STATIC_CBC_LNK = $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libCbcSolver.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libCbc.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libCgl.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libOsi.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libOsiCbc.a $(UNIX_CLP_DIR)/lib$(UNIX_CLP_COIN)/libOsiClp.a
endif
ifdef UNIX_SCIP_DIR
SCIP_ARCH = darwin.x86_64.gnu.opt
ifeq ($(UNIX_SCIP_TAG),3.0.0)
SCIP_STATIC_LNK = -force_load $(UNIX_SCIP_DIR)/lib/libscip.$(SCIP_ARCH).a $(UNIX_SCIP_DIR)/lib/libnlpi.cppad.$(SCIP_ARCH).a -force_load $(UNIX_SCIP_DIR)/lib/liblpispx.$(SCIP_ARCH).a -force_load $(UNIX_SCIP_DIR)/lib/libsoplex.$(SCIP_ARCH).a
STATIC_SCIP_LNK = -force_load $(UNIX_SCIP_DIR)/lib/libscip.$(SCIP_ARCH).a $(UNIX_SCIP_DIR)/lib/libnlpi.cppad.$(SCIP_ARCH).a -force_load $(UNIX_SCIP_DIR)/lib/liblpispx.$(SCIP_ARCH).a -force_load $(UNIX_SCIP_DIR)/lib/libsoplex.$(SCIP_ARCH).a
else
SCIP_STATIC_LNK = -force_load $(UNIX_SCIP_DIR)/lib/libscip.$(SCIP_ARCH).a $(UNIX_SCIP_DIR)/lib/libnlpi.$(SCIP_ARCH).a -force_load $(UNIX_SCIP_DIR)/lib/liblpispx.$(SCIP_ARCH).a -force_load $(UNIX_SCIP_DIR)/lib/libsoplex.$(SCIP_ARCH).a
STATIC_SCIP_LNK = -force_load $(UNIX_SCIP_DIR)/lib/libscip.$(SCIP_ARCH).a $(UNIX_SCIP_DIR)/lib/libnlpi.$(SCIP_ARCH).a -force_load $(UNIX_SCIP_DIR)/lib/liblpispx.$(SCIP_ARCH).a -force_load $(UNIX_SCIP_DIR)/lib/libsoplex.$(SCIP_ARCH).a
endif
SCIP_LNK = -lreadline
endif
@@ -212,5 +232,7 @@ CFLAGS = $(SYSCFLAGS) $(DEBUG) -I$(INC_DIR) -I$(EX_DIR) -I$(GEN_DIR) $(GFLAGS_IN
JNIFLAGS = $(SYSCFLAGS) $(JNIDEBUG) -I$(INC_DIR) -I$(EX_DIR) -I$(GEN_DIR) $(GFLAGS_INC) $(ARCH) \
-Wno-deprecated $(PROTOBUF_INC) $(CBC_INC) $(CLP_INC) $(GLPK_INC) $(SCIP_INC) $(SLM_INC)
LDFLAGS = $(GFLAGS_LNK) $(ZLIB_LNK) $(PROTOBUF_LNK) $(SYS_LNK)
LDLPDEPS = $(GLPK_LNK) $(CBC_LNK) $(CLP_LNK) $(SCIP_LNK) $(SLM_LNK)
DYNAMIC_LD_FLAGS = $(DYNAMIC_GFLAGS_LNK) $(ZLIB_LNK) $(DYNAMIC_PROTOBUF_LNK) $(SYS_LNK)
DYNAMIC_LD_LP_DEPS = $(DYNAMIC_GLPK_LNK) $(DYNAMIC_CBC_LNK) $(DYNAMIC_CLP_LNK) $(DYNAMIC_SLM_LNK)
STATIC_LD_FLAGS = $(STATIC_GFLAGS_LNK) $(ZLIB_LNK) $(STATIC_PROTOBUF_LNK) $(SYS_LNK)
STATIC_LD_LP_DEPS = $(STATIC_GLPK_LNK) $(STATIC_CBC_LNK) $(STATIC_CLP_LNK) $(STATIC_SCIP_LNK) $(STATIC_SLM_LNK)

View File

@@ -3,25 +3,28 @@ PROTOBUF_DIR = $(WINDOWS_PROTOBUF_DIR)
SWIG_BINARY = $(WINDOWS_SWIG_BINARY)
LIB_DIR = $(OR_ROOT)lib
LIBPREFIX =
LIBSUFFIX = lib
DYNAMIC_LIB_SUFFIX = lib
BIN_DIR = $(OR_ROOT)bin
GEN_DIR = $(OR_ROOT)src\\gen
OBJ_DIR = $(OR_ROOT)objs
SRC_DIR = $(OR_ROOT)src
EX_DIR = $(OR_ROOT)examples
INC_DIR = $(OR_ROOT)src
LINKCMD = lib
DYNAMIC_LINK_CMD = lib
STATIC_LINK_CMD = lib
LINKPREFIX = /OUT:
PRE_LIB = $(OR_ROOT)lib\\
POST_LIB = .lib
DYNAMIC_PRE_LIB = $(OR_ROOT)lib\\
DYNAMIC_POST_LIB = .lib
STATIC_PRE_LIB = $(OR_ROOT)lib\\
STATIC_POST_LIB = .lib
O=obj
E=.exe
OBJ_OUT = /Fo$(OR_ROOT)objs\\
EXEOUT = /Fe$(OR_ROOT)bin\\
SHAREDLIBEXT = dll
JNILIBEXT = dll
DYNAMIC_SWIG_LIB_SUFFIX = dll
JNI_LIB_EXT = dll
LDOUT = /OUT:
LD = link /DLL /LTCG
DYNAMIC_LD = link /DLL /LTCG
S = \\
CPSEP =;
DEL = del
@@ -58,25 +61,29 @@ endif
ifdef WINDOWS_CLP_DIR
CLP_INC = /I$(WINDOWS_CLP_DIR)\\include /DUSE_CLP
CLP_SWIG = -DUSE_CLP
CLP_LNK = $(WINDOWS_CLP_DIR)\\lib\\coin\\libClp.lib $(WINDOWS_CLP_DIR)\\lib\\coin\\libCoinUtils.lib
DYNAMIC_CLP_LNK = $(WINDOWS_CLP_DIR)\\lib\\coin\\libClp.lib $(WINDOWS_CLP_DIR)\\lib\\coin\\libCoinUtils.lib
STATIC_CLP_LNK = $(WINDOWS_CLP_DIR)\\lib\\coin\\libClp.lib $(WINDOWS_CLP_DIR)\\lib\\coin\\libCoinUtils.lib
endif
# This is needed to find Coin Branch and Cut include files and libraries.
ifdef WINDOWS_CBC_DIR
CBC_INC = /I$(WINDOWS_CBC_DIR)\\include /DUSE_CBC
CBC_SWIG = -DUSE_CBC
CBC_LNK = $(WINDOWS_CBC_DIR)\\lib\\coin\\libCbcSolver.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libCbc.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libCgl.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsi.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsiCbc.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsiClp.lib
DYNAMIC_CBC_LNK = $(WINDOWS_CBC_DIR)\\lib\\coin\\libCbcSolver.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libCbc.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libCgl.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsi.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsiCbc.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsiClp.lib
STATIC_CBC_LNK = $(WINDOWS_CBC_DIR)\\lib\\coin\\libCbcSolver.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libCbc.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libCgl.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsi.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsiCbc.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsiClp.lib
endif
# This is needed to find GLPK include files and libraries.
ifdef WINDOWS_GLPK_DIR
GLPK_INC = /I$(WINDOWS_GLPK_DIR)\\include /DUSE_GLPK
GLPK_SWIG = -DUSE_GLPK
GLPK_LNK = $(WINDOWS_GLPK_DIR)\\lib\\glpk.lib
DYNAMIC_GLPK_LNK = $(WINDOWS_GLPK_DIR)\\lib\\glpk.lib
STATIC_GLPK_LNK = $(WINDOWS_GLPK_DIR)\\lib\\glpk.lib
endif
# This is needed to find SULUM include files and libraries.
ifdef WINDOWS_SLM_DIR
SLM_INC = /I$(WINDOWS_SLM_DIR)\\header /DUSE_SLM
SLM_SWIG = -DUSE_SLM
SLM_LNK = $(WINDOWS_SLM_DIR)\\win$(PTRLENGTH)\\bin\\sulum10.lib
DYNAMIC_SLM_LNK = $(WINDOWS_SLM_DIR)\\win$(PTRLENGTH)\\bin\\sulum10.lib
STATIC_SLM_LNK = $(WINDOWS_SLM_DIR)\\win$(PTRLENGTH)\\bin\\sulum10.lib
endif
SWIG_INC = $(GLPK_SWIG) $(CLP_SWIG) $(CBC_SWIG) $(SCIP_SWIG) $(SLM_SWIG)
@@ -90,9 +97,13 @@ CFLAGS= -nologo $(SYSCFLAGS) $(DEBUG) /I$(INC_DIR) /I$(EX_DIR) /I$(GEN_DIR) $(GF
$(PROTOBUF_INC) $(CBC_INC) $(CLP_INC) $(GLPK_INC) $(SLM_INC) /D__WIN32__ \
$(SPARSEHASH_INC)
JNIFLAGS=$(CFLAGS) $(JAVA_INC)
GFLAGS_LNK = $(WINDOWS_GFLAGS_DIR)\\lib\\libgflags.lib
DYNAMIC_GFLAGS_LNK = $(WINDOWS_GFLAGS_DIR)\\lib\\libgflags.lib
STATIC_GFLAGS_LNK = $(WINDOWS_GFLAGS_DIR)\\lib\\libgflags.lib
ZLIB_LNK = $(WINDOWS_ZLIB_DIR)\\lib\\$(WINDOWS_ZLIB_NAME)
PROTOBUF_LNK = $(PROTOBUF_DIR)\\lib\\libprotobuf.lib
LDFLAGS=$(GFLAGS_LNK) $(ZLIB_LNK) $(PROTOBUF_LNK) psapi.lib ws2_32.lib
LDLPDEPS=$(CBC_LNK) $(CLP_LNK) $(GLPK_LNK) $(SLM_LNK)
DYNAMIC_PROTOBUF_LNK = $(PROTOBUF_DIR)\\lib\\libprotobuf.lib
STATIC_PROTOBUF_LNK = $(PROTOBUF_DIR)\\lib\\libprotobuf.lib
DYNAMIC_LD_FLAGS=$(DYNAMIC_GFLAGS_LNK) $(ZLIB_LNK) $(DYNAMIC_PROTOBUF_LNK) psapi.lib ws2_32.lib
STATIC_LD_FLAGS=$(STATIC_GFLAGS_LNK) $(ZLIB_LNK) $(STATIC_PROTOBUF_LNK) psapi.lib ws2_32.lib
DYNAMIC_LD_LP_DEPS=$(DYNAMIC_CBC_LNK) $(DYNAMIC_CLP_LNK) $(DYNAMIC_GLPK_LNK) $(DYNAMIC_SLM_LNK)
STATIC_LD_LP_DEPS=$(STATIC_CBC_LNK) $(STATIC_CLP_LNK) $(STATIC_GLPK_LNK) $(STATIC_SLM_LNK)