diff --git a/makefiles/Makefile.cpp.mk b/makefiles/Makefile.cpp.mk index c2b6e799fa..7b53710c80 100644 --- a/makefiles/Makefile.cpp.mk +++ b/makefiles/Makefile.cpp.mk @@ -441,11 +441,11 @@ $(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.$(DYNAMIC_LIB_SUFFIX): $(CONSTRAINT_SOLVER_LIB_OBJS) - $(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)constraint_solver.$(DYNAMIC_LIB_SUFFIX) $(CONSTRAINT_SOLVER_LIB_OBJS) + $(DYNAMIC_LINK_CMD) $(DYNAMIC_LINK_PREFIX)$(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) + $(STATIC_LINK_CMD) $(STATIC_LINK_PREFIX)$(LIB_DIR)$S$(LIBPREFIX)constraint_solver.$(STATIC_LIB_SUFFIX) $(CONSTRAINT_SOLVER_LIB_OBJS) endif # Linear Solver Library @@ -487,11 +487,11 @@ $(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.$(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) + $(DYNAMIC_LINK_CMD) $(DYNAMIC_LINK_PREFIX)$(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) + $(STATIC_LINK_CMD) $(STATIC_LINK_PREFIX)$(LIB_DIR)$S$(LIBPREFIX)linear_solver.$(STATIC_LIB_SUFFIX) $(LINEAR_SOLVER_LIB_OBJS) endif # Util library. @@ -519,11 +519,11 @@ $(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.$(DYNAMIC_LIB_SUFFIX): $(UTIL_LIB_OBJS) - $(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)util.$(DYNAMIC_LIB_SUFFIX) $(UTIL_LIB_OBJS) + $(DYNAMIC_LINK_CMD) $(DYNAMIC_LINK_PREFIX)$(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) + $(STATIC_LINK_CMD) $(STATIC_LINK_PREFIX)$(LIB_DIR)$S$(LIBPREFIX)util.$(STATIC_LIB_SUFFIX) $(UTIL_LIB_OBJS) endif # Graph library. @@ -551,11 +551,11 @@ $(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.$(DYNAMIC_LIB_SUFFIX): $(GRAPH_LIB_OBJS) - $(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)graph.$(DYNAMIC_LIB_SUFFIX) $(GRAPH_LIB_OBJS) + $(DYNAMIC_LINK_CMD) $(DYNAMIC_LINK_PREFIX)$(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) + $(STATIC_LINK_CMD) $(STATIC_LINK_PREFIX)$(LIB_DIR)$S$(LIBPREFIX)graph.$(STATIC_LIB_SUFFIX) $(GRAPH_LIB_OBJS) endif # Shortestpaths library. @@ -575,11 +575,11 @@ $(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.$(DYNAMIC_LIB_SUFFIX): $(SHORTESTPATHS_LIB_OBJS) - $(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)shortestpaths.$(DYNAMIC_LIB_SUFFIX) $(SHORTESTPATHS_LIB_OBJS) + $(DYNAMIC_LINK_CMD) $(DYNAMIC_LINK_PREFIX)$(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) + $(STATIC_LINK_CMD) $(STATIC_LINK_PREFIX)$(LIB_DIR)$S$(LIBPREFIX)shortestpaths.$(STATIC_LIB_SUFFIX) $(SHORTESTPATHS_LIB_OBJS) endif # Routing library. @@ -591,11 +591,11 @@ $(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.$(DYNAMIC_LIB_SUFFIX): $(ROUTING_LIB_OBJS) - $(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)routing.$(DYNAMIC_LIB_SUFFIX) $(ROUTING_LIB_OBJS) + $(DYNAMIC_LINK_CMD) $(DYNAMIC_LINK_PREFIX)$(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) + $(STATIC_LINK_CMD) $(STATIC_LINK_PREFIX)$(LIB_DIR)$S$(LIBPREFIX)routing.$(STATIC_LIB_SUFFIX) $(ROUTING_LIB_OBJS) endif # Algorithms library. @@ -611,11 +611,11 @@ $(OBJ_DIR)/knapsack_solver.$O:$(SRC_DIR)/algorithms/knapsack_solver.cc $(GEN_DIR $(CCC) $(CFLAGS) -c $(SRC_DIR)/algorithms/knapsack_solver.cc $(OBJ_OUT)knapsack_solver.$O $(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) + $(DYNAMIC_LINK_CMD) $(DYNAMIC_LINK_PREFIX)$(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) + $(STATIC_LINK_CMD) $(STATIC_LINK_PREFIX)$(LIB_DIR)$S$(LIBPREFIX)algorithms.$(STATIC_LIB_SUFFIX) $(ALGORITHMS_LIB_OBJS) endif # Base library. @@ -669,10 +669,10 @@ $(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.$(DYNAMIC_LIB_SUFFIX): $(BASE_LIB_OBJS) - $(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)base.$(DYNAMIC_LIB_SUFFIX) $(BASE_LIB_OBJS) + $(DYNAMIC_LINK_CMD) $(DYNAMIC_LINK_PREFIX)$(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) + $(STATIC_LINK_CMD) $(STATIC_LINK_PREFIX)$(LIB_DIR)$S$(LIBPREFIX)base.$(STATIC_LIB_SUFFIX) $(BASE_LIB_OBJS) # DIMACS challenge problem format library @@ -686,7 +686,7 @@ $(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.$(DYNAMIC_LIB_SUFFIX): $(DIMACS_LIB_OBJS) - $(DYNAMIC_LINK_CMD) $(LINKPREFIX)$(LIB_DIR)$S$(LIBPREFIX)dimacs.$(DYNAMIC_LIB_SUFFIX) $(DIMACS_LIB_OBJS) + $(DYNAMIC_LINK_CMD) $(DYNAMIC_LINK_PREFIX)$(LIB_DIR)$S$(LIBPREFIX)dimacs.$(DYNAMIC_LIB_SUFFIX) $(DIMACS_LIB_OBJS) FLATZINC_LIB_OBJS=\ $(OBJ_DIR)/flatzinc.$O\ @@ -740,10 +740,10 @@ $(OBJ_DIR)/registry.$O:$(SRC_DIR)/flatzinc/registry.cc $(SRC_DIR)/flatzinc/flatz $(CCC) $(CFLAGS) -c $(SRC_DIR)$Sflatzinc$Sregistry.cc $(OBJ_OUT)registry.$O $(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) + $(DYNAMIC_LINK_CMD) $(DYNAMIC_LINK_PREFIX)$(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) + $(STATIC_LINK_CMD) $(STATIC_LINK_PREFIX)$(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 diff --git a/makefiles/Makefile.unix b/makefiles/Makefile.unix index 6fa373b4dc..ad3fbb0c85 100644 --- a/makefiles/Makefile.unix +++ b/makefiles/Makefile.unix @@ -162,10 +162,11 @@ ifeq ($(PLATFORM),LINUX) DYNAMIC_LIB_SUFFIX = so DYNAMIC_SWIG_LIB_SUFFIX = so DYNAMIC_LINK_CMD = g++ -shared + DYNAMIC_LINK_PREFIX = -o # Need the space. LINKPREFIX = -o # Need the space. STATIC_LIB_SUFFIX = a STATIC_LINK_CMD = ar rv - LINKPREFIX = -o # Need the space. + STATIC_LINK_PREFIX = 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 @@ -182,9 +183,11 @@ ifeq ($(PLATFORM),MACOSX) MONO = DYLD_LIBRARY_PATH=$(LIB_DIR):$(DYLD_LIBRARY_PATH) $(UNIX_MONO_DIR)/bin/mono endif - GFLAGS_LNK = -L$(UNIX_GFLAGS_DIR)/lib -lgflags + DYNAMIC_GFLAGS_LNK = -L$(UNIX_GFLAGS_DIR)/lib -lgflags + STATIC_GFLAGS_LNK = $(UNIX_GFLAGS_DIR)/lib/libgflags.a ZLIB_LNK = -lz - PROTOBUF_LNK = -L$(UNIX_PROTOBUF_DIR)/lib -lprotobuf + DYNAMIC_PROTOBUF_LNK = -L$(UNIX_PROTOBUF_DIR)/lib -lprotobuf + STATIC_PROTOBUF_LNK = $(UNIX_PROTOBUF_DIR)/lib/libprotobuf.a ARCH = -DARCH_K8 SYS_LNK = @@ -200,9 +203,10 @@ ifeq ($(PLATFORM),MACOSX) 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) + DYNAMIC_LINK_PREFIX = -o # Space needed. STATIC_LIB_SUFFIX = a - STATIC_LINK_CMD = ar rv - LINKPREFIX = -o # Need the space. + STATIC_LINK_CMD = ar -r -v + STATIC_LINK_PREFIX = ifdef UNIX_GLPK_DIR DYNAMIC_GLPK_LNK = -L$(UNIX_GLPK_DIR)/lib -lglpk diff --git a/makefiles/Makefile.win b/makefiles/Makefile.win index ef7ca4b2b2..a061e28424 100644 --- a/makefiles/Makefile.win +++ b/makefiles/Makefile.win @@ -11,8 +11,9 @@ SRC_DIR = $(OR_ROOT)src EX_DIR = $(OR_ROOT)examples INC_DIR = $(OR_ROOT)src DYNAMIC_LINK_CMD = lib +DYNAMIC_LINK_PREFIX = /OUT: STATIC_LINK_CMD = lib -LINKPREFIX = /OUT: +STATIC_LINK_PREFIX = /OUT: DYNAMIC_PRE_LIB = $(OR_ROOT)lib\\ DYNAMIC_POST_LIB = .lib STATIC_PRE_LIB = $(OR_ROOT)lib\\