diff --git a/Makefile b/Makefile index 4ca3d03d17..8ae7f3c457 100644 --- a/Makefile +++ b/Makefile @@ -15,14 +15,14 @@ OR_TOOLS_VERSION = 1.0.0 # $(OR_TOOLS_TOP)/ or $(OR_TOOLS_TOP)\\ depending on the platform. It contains the # trailing separator if not empty. # -# OR_ROOT_INC is like OR_ROOT, but with a default of '.' instead of +# INC_DIR is like OR_ROOT, but with a default of '.' instead of # empty. It is used for instance in include directives (-I.). # # OR_ROOT_FULL is always the complete path to or-tools. It is useful # to store path informations inside libraries for instance. ifeq ($(OR_TOOLS_TOP),) OR_ROOT = - OR_ROOT_INC = . + INC_DIR = . else ifeq "$(SHELL)" "cmd.exe" OR_ROOT = $(OR_TOOLS_TOP)\\ @@ -33,7 +33,7 @@ else OR_ROOT = $(OR_TOOLS_TOP)/ endif endif - OR_ROOT_INC = $(OR_TOOLS_TOP) + INC_DIR = $(OR_TOOLS_TOP) endif .PHONY : python cc java csharp diff --git a/makefiles/Makefile.cpp.mk b/makefiles/Makefile.cpp.mk index 04eb6702f3..807ab79aae 100644 --- a/makefiles/Makefile.cpp.mk +++ b/makefiles/Makefile.cpp.mk @@ -1,23 +1,23 @@ # List libraries by module. BASE_LIBS = \ - $(LIBPREFIX)util.$(LIBSUFFIX) \ - $(LIBPREFIX)base.$(LIBSUFFIX) + $(LIB_DIR)$(LIBPREFIX)util.$(LIBSUFFIX) \ + $(LIB_DIR)$(LIBPREFIX)base.$(LIBSUFFIX) LP_LIBS = \ - $(LIBPREFIX)linear_solver.$(LIBSUFFIX) + $(LIB_DIR)$(LIBPREFIX)linear_solver.$(LIBSUFFIX) ALGORITHMS_LIBS = \ - $(LIBPREFIX)algorithms.$(LIBSUFFIX) + $(LIB_DIR)$(LIBPREFIX)algorithms.$(LIBSUFFIX) CP_LIBS = \ - $(LIBPREFIX)constraint_solver.$(LIBSUFFIX) + $(LIB_DIR)$(LIBPREFIX)constraint_solver.$(LIBSUFFIX) GRAPH_LIBS = \ - $(LIBPREFIX)graph.$(LIBSUFFIX) \ - $(LIBPREFIX)shortestpaths.$(LIBSUFFIX) + $(LIB_DIR)$(LIBPREFIX)graph.$(LIBSUFFIX) \ + $(LIB_DIR)$(LIBPREFIX)shortestpaths.$(LIBSUFFIX) ROUTING_LIBS = \ - $(LIBPREFIX)routing.$(LIBSUFFIX) + $(LIB_DIR)$(LIBPREFIX)routing.$(LIBSUFFIX) # Lib dependencies. BASE_DEPS = $(BASE_LIBS) @@ -64,35 +64,35 @@ GRAPH_LNK = \ # Binaries CPBINARIES = \ - $(BINPREFIX)$Scostas_array$E \ - $(BINPREFIX)$Scryptarithm$E \ - $(BINPREFIX)$Scvrptw$E \ - $(BINPREFIX)$Sdobble_ls$E \ - $(BINPREFIX)$Sflow_api$E \ - $(BINPREFIX)$Sgolomb$E \ - $(BINPREFIX)$Sjobshop$E \ - $(BINPREFIX)$Sjobshop_ls$E \ - $(BINPREFIX)$Slinear_assignment_api$E \ - $(BINPREFIX)$Smagic_square$E \ - $(BINPREFIX)$Smodel_util$E \ - $(BINPREFIX)$Smultidim_knapsack$E \ - $(BINPREFIX)$Snetwork_routing$E \ - $(BINPREFIX)$Snqueens$E \ - $(BINPREFIX)$Spdptw$E \ - $(BINPREFIX)$Sdimacs_assignment$E \ - $(BINPREFIX)$Ssports_scheduling$E \ - $(BINPREFIX)$Stsp$E + $(BIN_DIR)$Scostas_array$E \ + $(BIN_DIR)$Scryptarithm$E \ + $(BIN_DIR)$Scvrptw$E \ + $(BIN_DIR)$Sdobble_ls$E \ + $(BIN_DIR)$Sflow_api$E \ + $(BIN_DIR)$Sgolomb$E \ + $(BIN_DIR)$Sjobshop$E \ + $(BIN_DIR)$Sjobshop_ls$E \ + $(BIN_DIR)$Slinear_assignment_api$E \ + $(BIN_DIR)$Smagic_square$E \ + $(BIN_DIR)$Smodel_util$E \ + $(BIN_DIR)$Smultidim_knapsack$E \ + $(BIN_DIR)$Snetwork_routing$E \ + $(BIN_DIR)$Snqueens$E \ + $(BIN_DIR)$Spdptw$E \ + $(BIN_DIR)$Sdimacs_assignment$E \ + $(BIN_DIR)$Ssports_scheduling$E \ + $(BIN_DIR)$Stsp$E LPBINARIES = \ - $(BINPREFIX)$Sinteger_programming$E \ - $(BINPREFIX)$Slinear_programming$E \ - $(BINPREFIX)$Slinear_solver_protocol_buffers$E \ - $(BINPREFIX)$Sstrawberry_fields_with_column_generation$E + $(BIN_DIR)$Sinteger_programming$E \ + $(BIN_DIR)$Slinear_programming$E \ + $(BIN_DIR)$Slinear_solver_protocol_buffers$E \ + $(BIN_DIR)$Sstrawberry_fields_with_column_generation$E # Special dimacs example. DIMACS_LIBS = \ - $(LIBPREFIX)dimacs.$(LIBSUFFIX) + $(LIB_DIR)$(LIBPREFIX)dimacs.$(LIBSUFFIX) DIMACS_LNK = $(PRE_LIB)dimacs$(POST_LIB) @@ -104,20 +104,20 @@ cc: cplibs cpexe algorithmslibs graphlibs lplibs lpexe # Clean target clean_cc: - -$(DEL) $(LIBPREFIX)base.$(LIBSUFFIX) - -$(DEL) $(LIBPREFIX)util.$(LIBSUFFIX) - -$(DEL) $(LIBPREFIX)constraint_solver.$(LIBSUFFIX) - -$(DEL) $(LIBPREFIX)linear_solver.$(LIBSUFFIX) - -$(DEL) $(LIBPREFIX)graph.$(LIBSUFFIX) - -$(DEL) $(LIBPREFIX)routing.$(LIBSUFFIX) - -$(DEL) $(LIBPREFIX)algorithms.$(LIBSUFFIX) - -$(DEL) $(LIBPREFIX)dimacs.$(LIBSUFFIX) - -$(DEL) $(LIBPREFIX)shortestpaths.$(LIBSUFFIX) - -$(DEL) $(OR_ROOT)objs$S*.$O + -$(DEL) $(LIB_DIR)$(LIBPREFIX)base.$(LIBSUFFIX) + -$(DEL) $(LIB_DIR)$(LIBPREFIX)util.$(LIBSUFFIX) + -$(DEL) $(LIB_DIR)$(LIBPREFIX)constraint_solver.$(LIBSUFFIX) + -$(DEL) $(LIB_DIR)$(LIBPREFIX)linear_solver.$(LIBSUFFIX) + -$(DEL) $(LIB_DIR)$(LIBPREFIX)graph.$(LIBSUFFIX) + -$(DEL) $(LIB_DIR)$(LIBPREFIX)routing.$(LIBSUFFIX) + -$(DEL) $(LIB_DIR)$(LIBPREFIX)algorithms.$(LIBSUFFIX) + -$(DEL) $(LIB_DIR)$(LIBPREFIX)dimacs.$(LIBSUFFIX) + -$(DEL) $(LIB_DIR)$(LIBPREFIX)shortestpaths.$(LIBSUFFIX) + -$(DEL) $(OBJ_DIR)$S*.$O -$(DEL) $(CPBINARIES) -$(DEL) $(LPBINARIES) - -$(DEL) $(OR_ROOT)gen$Sconstraint_solver$S*.pb.* - -$(DEL) $(OR_ROOT)gen$Slinear_solver$S*.pb.* + -$(DEL) $(GEN_DIR)$Sconstraint_solver$S*.pb.* + -$(DEL) $(GEN_DIR)$Slinear_solver$S*.pb.* -$(DEL) $(OR_ROOT)*.exp # Individual targets. @@ -138,500 +138,507 @@ dimacslibs: $(DIMACS_LIBS) # Constraint Solver Lib. CONSTRAINT_SOLVER_LIB_OS = \ - $(OR_ROOT)objs/alldiff_cst.$O\ - $(OR_ROOT)objs/assignment.$O\ - $(OR_ROOT)objs/assignment.pb.$O\ - $(OR_ROOT)objs/collect_variables.$O\ - $(OR_ROOT)objs/constraint_solver.$O\ - $(OR_ROOT)objs/constraints.$O\ - $(OR_ROOT)objs/count_cst.$O\ - $(OR_ROOT)objs/default_search.$O\ - $(OR_ROOT)objs/demon_profiler.$O\ - $(OR_ROOT)objs/demon_profiler.pb.$O\ - $(OR_ROOT)objs/dependency_graph.$O\ - $(OR_ROOT)objs/deviation.$O\ - $(OR_ROOT)objs/element.$O\ - $(OR_ROOT)objs/expr_array.$O\ - $(OR_ROOT)objs/expr_cst.$O\ - $(OR_ROOT)objs/expressions.$O\ - $(OR_ROOT)objs/hybrid.$O\ - $(OR_ROOT)objs/interval.$O\ - $(OR_ROOT)objs/io.$O\ - $(OR_ROOT)objs/local_search.$O\ - $(OR_ROOT)objs/model.pb.$O\ - $(OR_ROOT)objs/model_cache.$O\ - $(OR_ROOT)objs/nogoods.$O\ - $(OR_ROOT)objs/pack.$O\ - $(OR_ROOT)objs/range_cst.$O\ - $(OR_ROOT)objs/resource.$O\ - $(OR_ROOT)objs/sched_search.$O\ - $(OR_ROOT)objs/search.$O\ - $(OR_ROOT)objs/search_limit.pb.$O\ - $(OR_ROOT)objs/table.$O\ - $(OR_ROOT)objs/timetabling.$O\ - $(OR_ROOT)objs/trace.$O\ - $(OR_ROOT)objs/tree_monitor.$O\ - $(OR_ROOT)objs/utilities.$O \ - $(OR_ROOT)objs/visitor.$O + $(OBJ_DIR)/alldiff_cst.$O\ + $(OBJ_DIR)/assignment.$O\ + $(OBJ_DIR)/assignment.pb.$O\ + $(OBJ_DIR)/collect_variables.$O\ + $(OBJ_DIR)/constraint_solver.$O\ + $(OBJ_DIR)/constraints.$O\ + $(OBJ_DIR)/count_cst.$O\ + $(OBJ_DIR)/default_search.$O\ + $(OBJ_DIR)/demon_profiler.$O\ + $(OBJ_DIR)/demon_profiler.pb.$O\ + $(OBJ_DIR)/dependency_graph.$O\ + $(OBJ_DIR)/deviation.$O\ + $(OBJ_DIR)/element.$O\ + $(OBJ_DIR)/expr_array.$O\ + $(OBJ_DIR)/expr_cst.$O\ + $(OBJ_DIR)/expressions.$O\ + $(OBJ_DIR)/hybrid.$O\ + $(OBJ_DIR)/interval.$O\ + $(OBJ_DIR)/io.$O\ + $(OBJ_DIR)/local_search.$O\ + $(OBJ_DIR)/model.pb.$O\ + $(OBJ_DIR)/model_cache.$O\ + $(OBJ_DIR)/nogoods.$O\ + $(OBJ_DIR)/pack.$O\ + $(OBJ_DIR)/range_cst.$O\ + $(OBJ_DIR)/resource.$O\ + $(OBJ_DIR)/sched_search.$O\ + $(OBJ_DIR)/search.$O\ + $(OBJ_DIR)/search_limit.pb.$O\ + $(OBJ_DIR)/table.$O\ + $(OBJ_DIR)/timetabling.$O\ + $(OBJ_DIR)/trace.$O\ + $(OBJ_DIR)/tree_monitor.$O\ + $(OBJ_DIR)/utilities.$O \ + $(OBJ_DIR)/visitor.$O -$(OR_ROOT)objs/alldiff_cst.$O:$(OR_ROOT)constraint_solver/alldiff_cst.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/alldiff_cst.cc $(OBJOUT)objs/alldiff_cst.$O +$(OBJ_DIR)/alldiff_cst.$O:$(SRC_DIR)constraint_solver/alldiff_cst.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/alldiff_cst.cc $(OBJ_OUT)alldiff_cst.$O -$(OR_ROOT)objs/assignment.$O:$(OR_ROOT)constraint_solver/assignment.cc $(OR_ROOT)gen/constraint_solver/assignment.pb.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/assignment.cc $(OBJOUT)objs/assignment.$O +$(OBJ_DIR)/assignment.$O:$(SRC_DIR)constraint_solver/assignment.cc $(GEN_DIR)/constraint_solver/assignment.pb.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/assignment.cc $(OBJ_OUT)assignment.$O -$(OR_ROOT)objs/assignment.pb.$O:$(OR_ROOT)gen/constraint_solver/assignment.pb.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)gen/constraint_solver/assignment.pb.cc $(OBJOUT)objs/assignment.pb.$O +$(OBJ_DIR)/assignment.pb.$O:$(GEN_DIR)/constraint_solver/assignment.pb.cc + $(CCC) $(CFLAGS) -c $(GEN_DIR)/constraint_solver/assignment.pb.cc $(OBJ_OUT)assignment.pb.$O -$(OR_ROOT)gen/constraint_solver/assignment.pb.cc:$(OR_ROOT)constraint_solver/assignment.proto - $(PROTOBUF_DIR)/bin/protoc --proto_path=$(OR_ROOT_INC) --cpp_out=$(OR_ROOT)gen $(OR_ROOT)constraint_solver/assignment.proto +$(GEN_DIR)/constraint_solver/assignment.pb.cc:$(SRC_DIR)constraint_solver/assignment.proto + $(PROTOBUF_DIR)/bin/protoc --proto_path=$(INC_DIR) --cpp_out=$(GEN_DIR) $(SRC_DIR)constraint_solver/assignment.proto -$(OR_ROOT)gen/constraint_solver/assignment.pb.h:$(OR_ROOT)gen/constraint_solver/assignment.pb.cc +$(GEN_DIR)/constraint_solver/assignment.pb.h:$(GEN_DIR)/constraint_solver/assignment.pb.cc -$(OR_ROOT)objs/collect_variables.$O:$(OR_ROOT)constraint_solver/collect_variables.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/collect_variables.cc $(OBJOUT)objs/collect_variables.$O +$(OBJ_DIR)/collect_variables.$O:$(SRC_DIR)constraint_solver/collect_variables.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/collect_variables.cc $(OBJ_OUT)collect_variables.$O -$(OR_ROOT)objs/constraint_solver.$O:$(OR_ROOT)constraint_solver/constraint_solver.cc $(OR_ROOT)gen/constraint_solver/model.pb.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/constraint_solver.cc $(OBJOUT)objs/constraint_solver.$O +$(OBJ_DIR)/constraint_solver.$O:$(SRC_DIR)constraint_solver/constraint_solver.cc $(GEN_DIR)/constraint_solver/model.pb.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/constraint_solver.cc $(OBJ_OUT)constraint_solver.$O -$(OR_ROOT)objs/constraints.$O:$(OR_ROOT)constraint_solver/constraints.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/constraints.cc $(OBJOUT)objs/constraints.$O +$(OBJ_DIR)/constraints.$O:$(SRC_DIR)constraint_solver/constraints.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/constraints.cc $(OBJ_OUT)constraints.$O -$(OR_ROOT)objs/count_cst.$O:$(OR_ROOT)constraint_solver/count_cst.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/count_cst.cc $(OBJOUT)objs/count_cst.$O +$(OBJ_DIR)/count_cst.$O:$(SRC_DIR)constraint_solver/count_cst.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/count_cst.cc $(OBJ_OUT)count_cst.$O -$(OR_ROOT)objs/default_search.$O:$(OR_ROOT)constraint_solver/default_search.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/default_search.cc $(OBJOUT)objs/default_search.$O +$(OBJ_DIR)/default_search.$O:$(SRC_DIR)constraint_solver/default_search.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/default_search.cc $(OBJ_OUT)default_search.$O -$(OR_ROOT)objs/demon_profiler.$O:$(OR_ROOT)constraint_solver/demon_profiler.cc $(OR_ROOT)gen/constraint_solver/demon_profiler.pb.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/demon_profiler.cc $(OBJOUT)objs/demon_profiler.$O +$(OBJ_DIR)/demon_profiler.$O:$(SRC_DIR)constraint_solver/demon_profiler.cc $(GEN_DIR)/constraint_solver/demon_profiler.pb.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/demon_profiler.cc $(OBJ_OUT)demon_profiler.$O -$(OR_ROOT)objs/demon_profiler.pb.$O:$(OR_ROOT)gen/constraint_solver/demon_profiler.pb.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)gen/constraint_solver/demon_profiler.pb.cc $(OBJOUT)objs/demon_profiler.pb.$O +$(OBJ_DIR)/demon_profiler.pb.$O:$(GEN_DIR)/constraint_solver/demon_profiler.pb.cc + $(CCC) $(CFLAGS) -c $(GEN_DIR)/constraint_solver/demon_profiler.pb.cc $(OBJ_OUT)demon_profiler.pb.$O -$(OR_ROOT)gen/constraint_solver/demon_profiler.pb.cc:$(OR_ROOT)constraint_solver/demon_profiler.proto - $(PROTOBUF_DIR)/bin/protoc --proto_path=$(OR_ROOT_INC) --cpp_out=$(OR_ROOT)gen $(OR_ROOT)constraint_solver/demon_profiler.proto +$(GEN_DIR)/constraint_solver/demon_profiler.pb.cc:$(SRC_DIR)constraint_solver/demon_profiler.proto + $(PROTOBUF_DIR)/bin/protoc --proto_path=$(INC_DIR) --cpp_out=$(GEN_DIR) $(SRC_DIR)constraint_solver/demon_profiler.proto -$(OR_ROOT)gen/constraint_solver/demon_profiler.pb.h:$(OR_ROOT)gen/constraint_solver/demon_profiler.pb.cc +$(GEN_DIR)/constraint_solver/demon_profiler.pb.h:$(GEN_DIR)/constraint_solver/demon_profiler.pb.cc -$(OR_ROOT)objs/dependency_graph.$O:$(OR_ROOT)constraint_solver/dependency_graph.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/dependency_graph.cc $(OBJOUT)objs/dependency_graph.$O +$(OBJ_DIR)/dependency_graph.$O:$(SRC_DIR)constraint_solver/dependency_graph.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/dependency_graph.cc $(OBJ_OUT)dependency_graph.$O -$(OR_ROOT)objs/deviation.$O:$(OR_ROOT)constraint_solver/deviation.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/deviation.cc $(OBJOUT)objs/deviation.$O +$(OBJ_DIR)/deviation.$O:$(SRC_DIR)constraint_solver/deviation.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/deviation.cc $(OBJ_OUT)deviation.$O -$(OR_ROOT)objs/element.$O:$(OR_ROOT)constraint_solver/element.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/element.cc $(OBJOUT)objs/element.$O +$(OBJ_DIR)/element.$O:$(SRC_DIR)constraint_solver/element.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/element.cc $(OBJ_OUT)element.$O -$(OR_ROOT)objs/expr_array.$O:$(OR_ROOT)constraint_solver/expr_array.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/expr_array.cc $(OBJOUT)objs/expr_array.$O +$(OBJ_DIR)/expr_array.$O:$(SRC_DIR)constraint_solver/expr_array.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/expr_array.cc $(OBJ_OUT)expr_array.$O -$(OR_ROOT)objs/expr_cst.$O:$(OR_ROOT)constraint_solver/expr_cst.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/expr_cst.cc $(OBJOUT)objs/expr_cst.$O +$(OBJ_DIR)/expr_cst.$O:$(SRC_DIR)constraint_solver/expr_cst.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/expr_cst.cc $(OBJ_OUT)expr_cst.$O -$(OR_ROOT)objs/expressions.$O:$(OR_ROOT)constraint_solver/expressions.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/expressions.cc $(OBJOUT)objs/expressions.$O +$(OBJ_DIR)/expressions.$O:$(SRC_DIR)constraint_solver/expressions.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/expressions.cc $(OBJ_OUT)expressions.$O -$(OR_ROOT)objs/hybrid.$O:$(OR_ROOT)constraint_solver/hybrid.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/hybrid.cc $(OBJOUT)objs/hybrid.$O +$(OBJ_DIR)/hybrid.$O:$(SRC_DIR)constraint_solver/hybrid.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/hybrid.cc $(OBJ_OUT)hybrid.$O -$(OR_ROOT)objs/interval.$O:$(OR_ROOT)constraint_solver/interval.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/interval.cc $(OBJOUT)objs/interval.$O +$(OBJ_DIR)/interval.$O:$(SRC_DIR)constraint_solver/interval.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/interval.cc $(OBJ_OUT)interval.$O -$(OR_ROOT)objs/io.$O:$(OR_ROOT)constraint_solver/io.cc $(OR_ROOT)gen/constraint_solver/model.pb.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/io.cc $(OBJOUT)objs/io.$O +$(OBJ_DIR)/io.$O:$(SRC_DIR)constraint_solver/io.cc $(GEN_DIR)/constraint_solver/model.pb.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/io.cc $(OBJ_OUT)io.$O -$(OR_ROOT)objs/local_search.$O:$(OR_ROOT)constraint_solver/local_search.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/local_search.cc $(OBJOUT)objs/local_search.$O +$(OBJ_DIR)/local_search.$O:$(SRC_DIR)constraint_solver/local_search.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/local_search.cc $(OBJ_OUT)local_search.$O -$(OR_ROOT)objs/model.pb.$O:$(OR_ROOT)gen/constraint_solver/model.pb.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)gen/constraint_solver/model.pb.cc $(OBJOUT)objs/model.pb.$O +$(OBJ_DIR)/model.pb.$O:$(GEN_DIR)/constraint_solver/model.pb.cc + $(CCC) $(CFLAGS) -c $(GEN_DIR)/constraint_solver/model.pb.cc $(OBJ_OUT)model.pb.$O -$(OR_ROOT)objs/model_cache.$O:$(OR_ROOT)constraint_solver/model_cache.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/model_cache.cc $(OBJOUT)objs/model_cache.$O +$(OBJ_DIR)/model_cache.$O:$(SRC_DIR)constraint_solver/model_cache.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/model_cache.cc $(OBJ_OUT)model_cache.$O -$(OR_ROOT)gen/constraint_solver/model.pb.cc:$(OR_ROOT)constraint_solver/model.proto - $(PROTOBUF_DIR)/bin/protoc --proto_path=$(OR_ROOT_INC) --cpp_out=$(OR_ROOT)gen $(OR_ROOT)constraint_solver/model.proto +$(GEN_DIR)/constraint_solver/model.pb.cc:$(SRC_DIR)constraint_solver/model.proto + $(PROTOBUF_DIR)/bin/protoc --proto_path=$(INC_DIR) --cpp_out=$(GEN_DIR) $(SRC_DIR)constraint_solver/model.proto -$(OR_ROOT)gen/constraint_solver/model.pb.h:$(OR_ROOT)gen/constraint_solver/model.pb.cc $(OR_ROOT)gen/constraint_solver/search_limit.pb.h +$(GEN_DIR)/constraint_solver/model.pb.h:$(GEN_DIR)/constraint_solver/model.pb.cc $(GEN_DIR)/constraint_solver/search_limit.pb.h -$(OR_ROOT)objs/nogoods.$O:$(OR_ROOT)constraint_solver/nogoods.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/nogoods.cc $(OBJOUT)objs/nogoods.$O +$(OBJ_DIR)/nogoods.$O:$(SRC_DIR)constraint_solver/nogoods.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/nogoods.cc $(OBJ_OUT)nogoods.$O -$(OR_ROOT)objs/pack.$O:$(OR_ROOT)constraint_solver/pack.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/pack.cc $(OBJOUT)objs/pack.$O +$(OBJ_DIR)/pack.$O:$(SRC_DIR)constraint_solver/pack.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/pack.cc $(OBJ_OUT)pack.$O -$(OR_ROOT)objs/range_cst.$O:$(OR_ROOT)constraint_solver/range_cst.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/range_cst.cc $(OBJOUT)objs/range_cst.$O +$(OBJ_DIR)/range_cst.$O:$(SRC_DIR)constraint_solver/range_cst.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/range_cst.cc $(OBJ_OUT)range_cst.$O -$(OR_ROOT)objs/resource.$O:$(OR_ROOT)constraint_solver/resource.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/resource.cc $(OBJOUT)objs/resource.$O +$(OBJ_DIR)/resource.$O:$(SRC_DIR)constraint_solver/resource.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/resource.cc $(OBJ_OUT)resource.$O -$(OR_ROOT)objs/sched_search.$O:$(OR_ROOT)constraint_solver/sched_search.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/sched_search.cc $(OBJOUT)objs/sched_search.$O +$(OBJ_DIR)/sched_search.$O:$(SRC_DIR)constraint_solver/sched_search.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/sched_search.cc $(OBJ_OUT)sched_search.$O -$(OR_ROOT)objs/search.$O:$(OR_ROOT)constraint_solver/search.cc $(OR_ROOT)gen/constraint_solver/search_limit.pb.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/search.cc $(OBJOUT)objs/search.$O +$(OBJ_DIR)/search.$O:$(SRC_DIR)constraint_solver/search.cc $(GEN_DIR)/constraint_solver/search_limit.pb.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/search.cc $(OBJ_OUT)search.$O -$(OR_ROOT)objs/search_limit.pb.$O:$(OR_ROOT)gen/constraint_solver/search_limit.pb.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)gen/constraint_solver/search_limit.pb.cc $(OBJOUT)objs/search_limit.pb.$O +$(OBJ_DIR)/search_limit.pb.$O:$(GEN_DIR)/constraint_solver/search_limit.pb.cc + $(CCC) $(CFLAGS) -c $(GEN_DIR)/constraint_solver/search_limit.pb.cc $(OBJ_OUT)search_limit.pb.$O -$(OR_ROOT)gen/constraint_solver/search_limit.pb.cc:$(OR_ROOT)constraint_solver/search_limit.proto - $(PROTOBUF_DIR)/bin/protoc --proto_path=$(OR_ROOT_INC) --cpp_out=$(OR_ROOT)gen $(OR_ROOT)constraint_solver/search_limit.proto +$(GEN_DIR)/constraint_solver/search_limit.pb.cc:$(SRC_DIR)constraint_solver/search_limit.proto + $(PROTOBUF_DIR)/bin/protoc --proto_path=$(INC_DIR) --cpp_out=$(GEN_DIR) $(SRC_DIR)constraint_solver/search_limit.proto -$(OR_ROOT)gen/constraint_solver/search_limit.pb.h:$(OR_ROOT)gen/constraint_solver/search_limit.pb.cc +$(GEN_DIR)/constraint_solver/search_limit.pb.h:$(GEN_DIR)/constraint_solver/search_limit.pb.cc -$(OR_ROOT)objs/table.$O:$(OR_ROOT)constraint_solver/table.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/table.cc $(OBJOUT)objs/table.$O +$(OBJ_DIR)/table.$O:$(SRC_DIR)constraint_solver/table.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/table.cc $(OBJ_OUT)table.$O -$(OR_ROOT)objs/timetabling.$O:$(OR_ROOT)constraint_solver/timetabling.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/timetabling.cc $(OBJOUT)objs/timetabling.$O +$(OBJ_DIR)/timetabling.$O:$(SRC_DIR)constraint_solver/timetabling.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/timetabling.cc $(OBJ_OUT)timetabling.$O -$(OR_ROOT)objs/trace.$O:$(OR_ROOT)constraint_solver/trace.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/trace.cc $(OBJOUT)objs/trace.$O +$(OBJ_DIR)/trace.$O:$(SRC_DIR)constraint_solver/trace.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/trace.cc $(OBJ_OUT)trace.$O -$(OR_ROOT)objs/tree_monitor.$O:$(OR_ROOT)constraint_solver/tree_monitor.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/tree_monitor.cc $(OBJOUT)objs/tree_monitor.$O +$(OBJ_DIR)/tree_monitor.$O:$(SRC_DIR)constraint_solver/tree_monitor.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/tree_monitor.cc $(OBJ_OUT)tree_monitor.$O -$(OR_ROOT)objs/utilities.$O:$(OR_ROOT)constraint_solver/utilities.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/utilities.cc $(OBJOUT)objs/utilities.$O +$(OBJ_DIR)/utilities.$O:$(SRC_DIR)constraint_solver/utilities.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/utilities.cc $(OBJ_OUT)utilities.$O -$(OR_ROOT)objs/visitor.$O:$(OR_ROOT)constraint_solver/visitor.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/visitor.cc $(OBJOUT)objs/visitor.$O +$(OBJ_DIR)/visitor.$O:$(SRC_DIR)constraint_solver/visitor.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/visitor.cc $(OBJ_OUT)visitor.$O -$(LIBPREFIX)constraint_solver.$(LIBSUFFIX): $(CONSTRAINT_SOLVER_LIB_OS) - $(LINKCMD) $(LINKPREFIX)$(LIBPREFIX)constraint_solver.$(LIBSUFFIX) $(CONSTRAINT_SOLVER_LIB_OS) +$(LIB_DIR)$(LIBPREFIX)constraint_solver.$(LIBSUFFIX): $(CONSTRAINT_SOLVER_LIB_OS) + $(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$(LIBPREFIX)constraint_solver.$(LIBSUFFIX) $(CONSTRAINT_SOLVER_LIB_OS) # Linear Solver Library LINEAR_SOLVER_LIB_OS = \ - $(OR_ROOT)objs/cbc_interface.$O \ - $(OR_ROOT)objs/clp_interface.$O \ - $(OR_ROOT)objs/glpk_interface.$O \ - $(OR_ROOT)objs/linear_solver.$O \ - $(OR_ROOT)objs/linear_solver.pb.$O \ - $(OR_ROOT)objs/scip_interface.$O + $(OBJ_DIR)/cbc_interface.$O \ + $(OBJ_DIR)/clp_interface.$O \ + $(OBJ_DIR)/glpk_interface.$O \ + $(OBJ_DIR)/linear_solver.$O \ + $(OBJ_DIR)/linear_solver.pb.$O \ + $(OBJ_DIR)/scip_interface.$O -$(OR_ROOT)objs/cbc_interface.$O:$(OR_ROOT)linear_solver/cbc_interface.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)linear_solver/cbc_interface.cc $(OBJOUT)objs/cbc_interface.$O +$(OBJ_DIR)/cbc_interface.$O:$(SRC_DIR)linear_solver/cbc_interface.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)linear_solver/cbc_interface.cc $(OBJ_OUT)cbc_interface.$O -$(OR_ROOT)objs/clp_interface.$O:$(OR_ROOT)linear_solver/clp_interface.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)linear_solver/clp_interface.cc $(OBJOUT)objs/clp_interface.$O +$(OBJ_DIR)/clp_interface.$O:$(SRC_DIR)linear_solver/clp_interface.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)linear_solver/clp_interface.cc $(OBJ_OUT)clp_interface.$O -$(OR_ROOT)objs/glpk_interface.$O:$(OR_ROOT)linear_solver/glpk_interface.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)linear_solver/glpk_interface.cc $(OBJOUT)objs/glpk_interface.$O +$(OBJ_DIR)/glpk_interface.$O:$(SRC_DIR)linear_solver/glpk_interface.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)linear_solver/glpk_interface.cc $(OBJ_OUT)glpk_interface.$O -$(OR_ROOT)objs/linear_solver.$O:$(OR_ROOT)linear_solver/linear_solver.cc $(OR_ROOT)gen/linear_solver/linear_solver.pb.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)linear_solver/linear_solver.cc $(OBJOUT)objs/linear_solver.$O +$(OBJ_DIR)/linear_solver.$O:$(SRC_DIR)linear_solver/linear_solver.cc $(GEN_DIR)/linear_solver/linear_solver.pb.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)linear_solver/linear_solver.cc $(OBJ_OUT)linear_solver.$O -$(OR_ROOT)objs/linear_solver.pb.$O:$(OR_ROOT)gen/linear_solver/linear_solver.pb.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)gen/linear_solver/linear_solver.pb.cc $(OBJOUT)objs/linear_solver.pb.$O +$(OBJ_DIR)/linear_solver.pb.$O:$(GEN_DIR)/linear_solver/linear_solver.pb.cc + $(CCC) $(CFLAGS) -c $(GEN_DIR)/linear_solver/linear_solver.pb.cc $(OBJ_OUT)linear_solver.pb.$O -$(OR_ROOT)gen/linear_solver/linear_solver.pb.cc:$(OR_ROOT)linear_solver/linear_solver.proto - $(PROTOBUF_DIR)/bin/protoc --proto_path=$(OR_ROOT_INC) --cpp_out=$(OR_ROOT)gen $(OR_ROOT)linear_solver/linear_solver.proto +$(GEN_DIR)/linear_solver/linear_solver.pb.cc:$(SRC_DIR)linear_solver/linear_solver.proto + $(PROTOBUF_DIR)/bin/protoc --proto_path=$(INC_DIR) --cpp_out=$(GEN_DIR) $(SRC_DIR)linear_solver/linear_solver.proto -$(OR_ROOT)gen/linear_solver/linear_solver.pb.h:$(OR_ROOT)gen/linear_solver/linear_solver.pb.cc +$(GEN_DIR)/linear_solver/linear_solver.pb.h:$(GEN_DIR)/linear_solver/linear_solver.pb.cc -$(OR_ROOT)objs/scip_interface.$O:$(OR_ROOT)linear_solver/scip_interface.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)linear_solver/scip_interface.cc $(OBJOUT)objs/scip_interface.$O +$(OBJ_DIR)/scip_interface.$O:$(SRC_DIR)linear_solver/scip_interface.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)linear_solver/scip_interface.cc $(OBJ_OUT)scip_interface.$O -$(LIBPREFIX)linear_solver.$(LIBSUFFIX): $(LINEAR_SOLVER_LIB_OS) - $(LINKCMD) $(LINKPREFIX)$(LIBPREFIX)linear_solver.$(LIBSUFFIX) $(LINEAR_SOLVER_LIB_OS) $(SCIP_STATIC_LNK) +$(LIB_DIR)$(LIBPREFIX)linear_solver.$(LIBSUFFIX): $(LINEAR_SOLVER_LIB_OS) + $(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$(LIBPREFIX)linear_solver.$(LIBSUFFIX) $(LINEAR_SOLVER_LIB_OS) $(SCIP_STATIC_LNK) # Util library. UTIL_LIB_OS=\ - $(OR_ROOT)objs/bitset.$O \ - $(OR_ROOT)objs/cached_log.$O \ - $(OR_ROOT)objs/const_int_array.$O \ - $(OR_ROOT)objs/graph_export.$O \ - $(OR_ROOT)objs/xml_helper.$O + $(OBJ_DIR)/bitset.$O \ + $(OBJ_DIR)/cached_log.$O \ + $(OBJ_DIR)/const_int_array.$O \ + $(OBJ_DIR)/graph_export.$O \ + $(OBJ_DIR)/xml_helper.$O -$(OR_ROOT)objs/bitset.$O:$(OR_ROOT)util/bitset.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)util/bitset.cc $(OBJOUT)objs/bitset.$O +$(OBJ_DIR)/bitset.$O:$(SRC_DIR)util/bitset.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)util/bitset.cc $(OBJ_OUT)bitset.$O -$(OR_ROOT)objs/cached_log.$O:$(OR_ROOT)util/cached_log.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)util/cached_log.cc $(OBJOUT)objs/cached_log.$O +$(OBJ_DIR)/cached_log.$O:$(SRC_DIR)util/cached_log.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)util/cached_log.cc $(OBJ_OUT)cached_log.$O -$(OR_ROOT)objs/const_int_array.$O:$(OR_ROOT)util/const_int_array.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)util/const_int_array.cc $(OBJOUT)objs/const_int_array.$O +$(OBJ_DIR)/const_int_array.$O:$(SRC_DIR)util/const_int_array.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)util/const_int_array.cc $(OBJ_OUT)const_int_array.$O -$(OR_ROOT)objs/graph_export.$O:$(OR_ROOT)util/graph_export.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)util/graph_export.cc $(OBJOUT)objs/graph_export.$O +$(OBJ_DIR)/graph_export.$O:$(SRC_DIR)util/graph_export.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)util/graph_export.cc $(OBJ_OUT)graph_export.$O -$(OR_ROOT)objs/xml_helper.$O:$(OR_ROOT)util/xml_helper.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)util/xml_helper.cc $(OBJOUT)objs/xml_helper.$O +$(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 -$(LIBPREFIX)util.$(LIBSUFFIX): $(UTIL_LIB_OS) - $(LINKCMD) $(LINKPREFIX)$(LIBPREFIX)util.$(LIBSUFFIX) $(UTIL_LIB_OS) +$(LIB_DIR)$(LIBPREFIX)util.$(LIBSUFFIX): $(UTIL_LIB_OS) + $(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$(LIBPREFIX)util.$(LIBSUFFIX) $(UTIL_LIB_OS) # Graph library. GRAPH_LIB_OS=\ - $(OR_ROOT)objs/linear_assignment.$O \ - $(OR_ROOT)objs/cliques.$O \ - $(OR_ROOT)objs/connectivity.$O \ - $(OR_ROOT)objs/max_flow.$O \ - $(OR_ROOT)objs/min_cost_flow.$O + $(OBJ_DIR)/linear_assignment.$O \ + $(OBJ_DIR)/cliques.$O \ + $(OBJ_DIR)/connectivity.$O \ + $(OBJ_DIR)/max_flow.$O \ + $(OBJ_DIR)/min_cost_flow.$O -$(OR_ROOT)objs/linear_assignment.$O:$(OR_ROOT)graph/linear_assignment.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)graph/linear_assignment.cc $(OBJOUT)objs/linear_assignment.$O +$(OBJ_DIR)/linear_assignment.$O:$(SRC_DIR)graph/linear_assignment.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)graph/linear_assignment.cc $(OBJ_OUT)linear_assignment.$O -$(OR_ROOT)objs/cliques.$O:$(OR_ROOT)graph/cliques.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)graph/cliques.cc $(OBJOUT)objs/cliques.$O +$(OBJ_DIR)/cliques.$O:$(SRC_DIR)graph/cliques.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)graph/cliques.cc $(OBJ_OUT)cliques.$O -$(OR_ROOT)objs/connectivity.$O:$(OR_ROOT)graph/connectivity.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)graph/connectivity.cc $(OBJOUT)objs/connectivity.$O +$(OBJ_DIR)/connectivity.$O:$(SRC_DIR)graph/connectivity.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)graph/connectivity.cc $(OBJ_OUT)connectivity.$O -$(OR_ROOT)objs/max_flow.$O:$(OR_ROOT)graph/max_flow.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)graph/max_flow.cc $(OBJOUT)objs/max_flow.$O +$(OBJ_DIR)/max_flow.$O:$(SRC_DIR)graph/max_flow.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)graph/max_flow.cc $(OBJ_OUT)max_flow.$O -$(OR_ROOT)objs/min_cost_flow.$O:$(OR_ROOT)graph/min_cost_flow.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)graph/min_cost_flow.cc $(OBJOUT)objs/min_cost_flow.$O +$(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 -$(LIBPREFIX)graph.$(LIBSUFFIX): $(GRAPH_LIB_OS) - $(LINKCMD) $(LINKPREFIX)$(LIBPREFIX)graph.$(LIBSUFFIX) $(GRAPH_LIB_OS) +$(LIB_DIR)$(LIBPREFIX)graph.$(LIBSUFFIX): $(GRAPH_LIB_OS) + $(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$(LIBPREFIX)graph.$(LIBSUFFIX) $(GRAPH_LIB_OS) # Shortestpaths library. SHORTESTPATHS_LIB_OS=\ - $(OR_ROOT)objs/bellman_ford.$O \ - $(OR_ROOT)objs/dijkstra.$O \ - $(OR_ROOT)objs/shortestpaths.$O + $(OBJ_DIR)/bellman_ford.$O \ + $(OBJ_DIR)/dijkstra.$O \ + $(OBJ_DIR)/shortestpaths.$O -$(OR_ROOT)objs/bellman_ford.$O:$(OR_ROOT)graph/bellman_ford.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)graph/bellman_ford.cc $(OBJOUT)objs/bellman_ford.$O +$(OBJ_DIR)/bellman_ford.$O:$(SRC_DIR)graph/bellman_ford.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)graph/bellman_ford.cc $(OBJ_OUT)bellman_ford.$O -$(OR_ROOT)objs/dijkstra.$O:$(OR_ROOT)graph/dijkstra.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)graph/dijkstra.cc $(OBJOUT)objs/dijkstra.$O +$(OBJ_DIR)/dijkstra.$O:$(SRC_DIR)graph/dijkstra.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)graph/dijkstra.cc $(OBJ_OUT)dijkstra.$O -$(OR_ROOT)objs/shortestpaths.$O:$(OR_ROOT)graph/shortestpaths.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)graph/shortestpaths.cc $(OBJOUT)objs/shortestpaths.$O +$(OBJ_DIR)/shortestpaths.$O:$(SRC_DIR)graph/shortestpaths.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)graph/shortestpaths.cc $(OBJ_OUT)shortestpaths.$O -$(LIBPREFIX)shortestpaths.$(LIBSUFFIX): $(SHORTESTPATHS_LIB_OS) - $(LINKCMD) $(LINKPREFIX)$(LIBPREFIX)shortestpaths.$(LIBSUFFIX) $(SHORTESTPATHS_LIB_OS) +$(LIB_DIR)$(LIBPREFIX)shortestpaths.$(LIBSUFFIX): $(SHORTESTPATHS_LIB_OS) + $(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$(LIBPREFIX)shortestpaths.$(LIBSUFFIX) $(SHORTESTPATHS_LIB_OS) # Routing library. ROUTING_LIB_OS=\ - $(OR_ROOT)objs/routing.$O + $(OBJ_DIR)/routing.$O -$(OR_ROOT)objs/routing.$O:$(OR_ROOT)constraint_solver/routing.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)constraint_solver/routing.cc $(OBJOUT)objs/routing.$O +$(OBJ_DIR)/routing.$O:$(SRC_DIR)constraint_solver/routing.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)constraint_solver/routing.cc $(OBJ_OUT)routing.$O -$(LIBPREFIX)routing.$(LIBSUFFIX): $(ROUTING_LIB_OS) - $(LINKCMD) $(LINKPREFIX)$(LIBPREFIX)routing.$(LIBSUFFIX) $(ROUTING_LIB_OS) +$(LIB_DIR)$(LIBPREFIX)routing.$(LIBSUFFIX): $(ROUTING_LIB_OS) + $(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$(LIBPREFIX)routing.$(LIBSUFFIX) $(ROUTING_LIB_OS) # Algorithms library. ALGORITHMS_LIB_OS=\ - $(OR_ROOT)objs/hungarian.$O \ - $(OR_ROOT)objs/knapsack_solver.$O + $(OBJ_DIR)/hungarian.$O \ + $(OBJ_DIR)/knapsack_solver.$O -$(OR_ROOT)objs/hungarian.$O:$(OR_ROOT)algorithms/hungarian.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)algorithms/hungarian.cc $(OBJOUT)objs/hungarian.$O +$(OBJ_DIR)/hungarian.$O:$(SRC_DIR)algorithms/hungarian.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)algorithms/hungarian.cc $(OBJ_OUT)hungarian.$O -$(OR_ROOT)objs/knapsack_solver.$O:$(OR_ROOT)algorithms/knapsack_solver.cc $(OR_ROOT)gen/linear_solver/linear_solver.pb.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)algorithms/knapsack_solver.cc $(OBJOUT)objs/knapsack_solver.$O +$(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 -$(LIBPREFIX)algorithms.$(LIBSUFFIX): $(ALGORITHMS_LIB_OS) - $(LINKCMD) $(LINKPREFIX)$(LIBPREFIX)algorithms.$(LIBSUFFIX) $(ALGORITHMS_LIB_OS) +$(LIB_DIR)$(LIBPREFIX)algorithms.$(LIBSUFFIX): $(ALGORITHMS_LIB_OS) + $(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$(LIBPREFIX)algorithms.$(LIBSUFFIX) $(ALGORITHMS_LIB_OS) # Base library. BASE_LIB_OS=\ - $(OR_ROOT)objs/bitmap.$O\ - $(OR_ROOT)objs/callback.$O\ - $(OR_ROOT)objs/file.$O\ - $(OR_ROOT)objs/filelinereader.$O\ - $(OR_ROOT)objs/join.$O\ - $(OR_ROOT)objs/logging.$O\ - $(OR_ROOT)objs/random.$O\ - $(OR_ROOT)objs/recordio.$O\ - $(OR_ROOT)objs/split.$O\ - $(OR_ROOT)objs/stringpiece.$O\ - $(OR_ROOT)objs/stringprintf.$O\ - $(OR_ROOT)objs/sysinfo.$O\ - $(OR_ROOT)objs/timer.$O + $(OBJ_DIR)/bitmap.$O\ + $(OBJ_DIR)/callback.$O\ + $(OBJ_DIR)/file.$O\ + $(OBJ_DIR)/filelinereader.$O\ + $(OBJ_DIR)/join.$O\ + $(OBJ_DIR)/logging.$O\ + $(OBJ_DIR)/random.$O\ + $(OBJ_DIR)/recordio.$O\ + $(OBJ_DIR)/split.$O\ + $(OBJ_DIR)/stringpiece.$O\ + $(OBJ_DIR)/stringprintf.$O\ + $(OBJ_DIR)/sysinfo.$O\ + $(OBJ_DIR)/timer.$O -$(OR_ROOT)objs/bitmap.$O:$(OR_ROOT)base/bitmap.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/bitmap.cc $(OBJOUT)objs/bitmap.$O -$(OR_ROOT)objs/callback.$O:$(OR_ROOT)base/callback.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/callback.cc $(OBJOUT)objs/callback.$O -$(OR_ROOT)objs/file.$O:$(OR_ROOT)base/file.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/file.cc $(OBJOUT)objs/file.$O -$(OR_ROOT)objs/filelinereader.$O:$(OR_ROOT)base/filelinereader.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/filelinereader.cc $(OBJOUT)objs/filelinereader.$O -$(OR_ROOT)objs/logging.$O:$(OR_ROOT)base/logging.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/logging.cc $(OBJOUT)objs/logging.$O -$(OR_ROOT)objs/join.$O:$(OR_ROOT)base/join.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/join.cc $(OBJOUT)objs/join.$O -$(OR_ROOT)objs/random.$O:$(OR_ROOT)base/random.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/random.cc $(OBJOUT)objs/random.$O -$(OR_ROOT)objs/recordio.$O:$(OR_ROOT)base/recordio.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/recordio.cc $(OBJOUT)objs/recordio.$O -$(OR_ROOT)objs/split.$O:$(OR_ROOT)base/split.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/split.cc $(OBJOUT)objs/split.$O -$(OR_ROOT)objs/stringpiece.$O:$(OR_ROOT)base/stringpiece.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/stringpiece.cc $(OBJOUT)objs/stringpiece.$O -$(OR_ROOT)objs/stringprintf.$O:$(OR_ROOT)base/stringprintf.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/stringprintf.cc $(OBJOUT)objs/stringprintf.$O -$(OR_ROOT)objs/sysinfo.$O:$(OR_ROOT)base/sysinfo.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/sysinfo.cc $(OBJOUT)objs/sysinfo.$O -$(OR_ROOT)objs/timer.$O:$(OR_ROOT)base/timer.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)base/timer.cc $(OBJOUT)objs/timer.$O +$(OBJ_DIR)/bitmap.$O:$(SRC_DIR)base/bitmap.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/bitmap.cc $(OBJ_OUT)bitmap.$O +$(OBJ_DIR)/callback.$O:$(SRC_DIR)base/callback.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/callback.cc $(OBJ_OUT)callback.$O +$(OBJ_DIR)/file.$O:$(SRC_DIR)base/file.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/file.cc $(OBJ_OUT)file.$O +$(OBJ_DIR)/filelinereader.$O:$(SRC_DIR)base/filelinereader.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/filelinereader.cc $(OBJ_OUT)filelinereader.$O +$(OBJ_DIR)/logging.$O:$(SRC_DIR)base/logging.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/logging.cc $(OBJ_OUT)logging.$O +$(OBJ_DIR)/join.$O:$(SRC_DIR)base/join.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/join.cc $(OBJ_OUT)join.$O +$(OBJ_DIR)/random.$O:$(SRC_DIR)base/random.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/random.cc $(OBJ_OUT)random.$O +$(OBJ_DIR)/recordio.$O:$(SRC_DIR)base/recordio.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/recordio.cc $(OBJ_OUT)recordio.$O +$(OBJ_DIR)/split.$O:$(SRC_DIR)base/split.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/split.cc $(OBJ_OUT)split.$O +$(OBJ_DIR)/stringpiece.$O:$(SRC_DIR)base/stringpiece.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/stringpiece.cc $(OBJ_OUT)stringpiece.$O +$(OBJ_DIR)/stringprintf.$O:$(SRC_DIR)base/stringprintf.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/stringprintf.cc $(OBJ_OUT)stringprintf.$O +$(OBJ_DIR)/sysinfo.$O:$(SRC_DIR)base/sysinfo.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/sysinfo.cc $(OBJ_OUT)sysinfo.$O +$(OBJ_DIR)/timer.$O:$(SRC_DIR)base/timer.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)base/timer.cc $(OBJ_OUT)timer.$O -$(LIBPREFIX)base.$(LIBSUFFIX): $(BASE_LIB_OS) - $(LINKCMD) $(LINKPREFIX)$(LIBPREFIX)base.$(LIBSUFFIX) $(BASE_LIB_OS) +$(LIB_DIR)$(LIBPREFIX)base.$(LIBSUFFIX): $(BASE_LIB_OS) + $(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$(LIBPREFIX)base.$(LIBSUFFIX) $(BASE_LIB_OS) # DIMACS challenge problem format library DIMACS_LIB_OS=\ - $(OR_ROOT)objs/parse_dimacs_assignment.$O\ - $(OR_ROOT)objs/print_dimacs_assignment.$O + $(OBJ_DIR)/parse_dimacs_assignment.$O\ + $(OBJ_DIR)/print_dimacs_assignment.$O -$(OR_ROOT)objs/parse_dimacs_assignment.$O:$(OR_ROOT)examples/parse_dimacs_assignment.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/parse_dimacs_assignment.cc $(OBJOUT)objs/parse_dimacs_assignment.$O -$(OR_ROOT)objs/print_dimacs_assignment.$O:$(OR_ROOT)examples/print_dimacs_assignment.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/print_dimacs_assignment.cc $(OBJOUT)objs/print_dimacs_assignment.$O +$(OBJ_DIR)/parse_dimacs_assignment.$O:$(SRC_DIR)examples/parse_dimacs_assignment.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/parse_dimacs_assignment.cc $(OBJ_OUT)parse_dimacs_assignment.$O +$(OBJ_DIR)/print_dimacs_assignment.$O:$(SRC_DIR)examples/print_dimacs_assignment.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/print_dimacs_assignment.cc $(OBJ_OUT)print_dimacs_assignment.$O -$(LIBPREFIX)dimacs.$(LIBSUFFIX): $(DIMACS_LIB_OS) - $(LINKCMD) $(LINKPREFIX)$(LIBPREFIX)dimacs.$(LIBSUFFIX) $(DIMACS_LIB_OS) +$(LIB_DIR)$(LIBPREFIX)dimacs.$(LIBSUFFIX): $(DIMACS_LIB_OS) + $(LINKCMD) $(LINKPREFIX)$(LIB_DIR)$(LIBPREFIX)dimacs.$(LIBSUFFIX) $(DIMACS_LIB_OS) # Flow and linear assignment examples -$(OR_ROOT)objs/linear_assignment_api.$O:$(OR_ROOT)examples/linear_assignment_api.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/linear_assignment_api.cc $(OBJOUT)objs/linear_assignment_api.$O +$(OBJ_DIR)/linear_assignment_api.$O:$(SRC_DIR)examples/linear_assignment_api.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/linear_assignment_api.cc $(OBJ_OUT)linear_assignment_api.$O -$(BINPREFIX)/linear_assignment_api$E: $(GRAPH_DEPS) $(OR_ROOT)objs/linear_assignment_api.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/linear_assignment_api.$O $(GRAPH_LNK) $(LDFLAGS) $(EXEOUT)linear_assignment_api$E +$(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 -$(OR_ROOT)objs/flow_api.$O:$(OR_ROOT)examples/flow_api.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/flow_api.cc $(OBJOUT)objs/flow_api.$O +$(OBJ_DIR)/flow_api.$O:$(SRC_DIR)examples/flow_api.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/flow_api.cc $(OBJ_OUT)flow_api.$O -$(BINPREFIX)/flow_api$E: $(GRAPH_DEPS) $(OR_ROOT)objs/flow_api.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/flow_api.$O $(GRAPH_LNK) $(LDFLAGS) $(EXEOUT)flow_api$E +$(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 -$(OR_ROOT)objs/dimacs_assignment.$O:$(OR_ROOT)examples/dimacs_assignment.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/dimacs_assignment.cc $(OBJOUT)objs/dimacs_assignment.$O +$(OBJ_DIR)/dimacs_assignment.$O:$(SRC_DIR)examples/dimacs_assignment.cc + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/dimacs_assignment.cc $(OBJ_OUT)dimacs_assignment.$O -$(BINPREFIX)/dimacs_assignment$E: $(ALGORITHMS_DEPS) $(GRAPH_DEPS) $(DIMACS_LIBS) $(OR_ROOT)objs/dimacs_assignment.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/dimacs_assignment.$O $(DIMACS_LNK) $(ALGORITHMS_LNK) $(GRAPH_LNK) $(LDFLAGS) $(EXEOUT)dimacs_assignment$E +$(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 # Pure CP and Routing Examples -$(OR_ROOT)objs/costas_array.$O: $(OR_ROOT)examples/costas_array.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/costas_array.cc $(OBJOUT)objs/costas_array.$O +$(OBJ_DIR)/costas_array.$O: $(SRC_DIR)examples/costas_array.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/costas_array.cc $(OBJ_OUT)costas_array.$O -$(BINPREFIX)/costas_array$E: $(CP_DEPS) $(OR_ROOT)objs/costas_array.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/costas_array.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)costas_array$E +$(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 -$(OR_ROOT)objs/cryptarithm.$O:$(OR_ROOT)examples/cryptarithm.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/cryptarithm.cc $(OBJOUT)objs/cryptarithm.$O +$(OBJ_DIR)/cryptarithm.$O:$(SRC_DIR)examples/cryptarithm.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/cryptarithm.cc $(OBJ_OUT)cryptarithm.$O -$(BINPREFIX)/cryptarithm$E: $(CP_DEPS) $(OR_ROOT)objs/cryptarithm.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/cryptarithm.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)cryptarithm$E +$(BIN_DIR)/cryptarithm$E: $(CP_DEPS) $(OBJ_DIR)/cryptarithm.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)/cryptarithm.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)cryptarithm$E -$(OR_ROOT)objs/cvrptw.$O: $(OR_ROOT)examples/cvrptw.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/cvrptw.cc $(OBJOUT)objs/cvrptw.$O +$(OBJ_DIR)/cvrptw.$O: $(SRC_DIR)examples/cvrptw.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/cvrptw.cc $(OBJ_OUT)cvrptw.$O -$(BINPREFIX)/cvrptw$E: $(ROUTING_DEPS) $(OR_ROOT)objs/cvrptw.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/cvrptw.$O $(ROUTING_LNK) $(LDFLAGS) $(EXEOUT)cvrptw$E +$(BIN_DIR)/cvrptw$E: $(ROUTING_DEPS) $(OBJ_DIR)/cvrptw.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)/cvrptw.$O $(ROUTING_LNK) $(LDFLAGS) $(EXEOUT)cvrptw$E -$(OR_ROOT)objs/dobble_ls.$O:$(OR_ROOT)examples/dobble_ls.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/dobble_ls.cc $(OBJOUT)objs/dobble_ls.$O +$(OBJ_DIR)/dobble_ls.$O:$(SRC_DIR)examples/dobble_ls.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/dobble_ls.cc $(OBJ_OUT)dobble_ls.$O -$(BINPREFIX)/dobble_ls$E: $(CP_DEPS) $(OR_ROOT)objs/dobble_ls.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/dobble_ls.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)dobble_ls$E +$(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 -$(OR_ROOT)objs/golomb.$O:$(OR_ROOT)examples/golomb.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/golomb.cc $(OBJOUT)objs/golomb.$O +$(OBJ_DIR)/golomb.$O:$(SRC_DIR)examples/golomb.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/golomb.cc $(OBJ_OUT)golomb.$O -$(BINPREFIX)/golomb$E: $(CP_DEPS) $(OR_ROOT)objs/golomb.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/golomb.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)golomb$E +$(BIN_DIR)/golomb$E: $(CP_DEPS) $(OBJ_DIR)/golomb.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)/golomb.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)golomb$E -$(OR_ROOT)objs/jobshop.$O:$(OR_ROOT)examples/jobshop.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/jobshop.cc $(OBJOUT)objs/jobshop.$O +$(OBJ_DIR)/jobshop.$O:$(SRC_DIR)examples/jobshop.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/jobshop.cc $(OBJ_OUT)jobshop.$O -$(BINPREFIX)/jobshop$E: $(CP_DEPS) $(OR_ROOT)objs/jobshop.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/jobshop.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)jobshop$E +$(BIN_DIR)/jobshop$E: $(CP_DEPS) $(OBJ_DIR)/jobshop.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)/jobshop.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)jobshop$E -$(OR_ROOT)objs/jobshop_ls.$O:$(OR_ROOT)examples/jobshop_ls.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/jobshop_ls.cc $(OBJOUT)objs/jobshop_ls.$O +$(OBJ_DIR)/jobshop_ls.$O:$(SRC_DIR)examples/jobshop_ls.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/jobshop_ls.cc $(OBJ_OUT)jobshop_ls.$O -$(BINPREFIX)/jobshop_ls$E: $(CP_DEPS) $(OR_ROOT)objs/jobshop_ls.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/jobshop_ls.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)jobshop_ls$E +$(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 -$(OR_ROOT)objs/magic_square.$O:$(OR_ROOT)examples/magic_square.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/magic_square.cc $(OBJOUT)objs/magic_square.$O +$(OBJ_DIR)/magic_square.$O:$(SRC_DIR)examples/magic_square.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/magic_square.cc $(OBJ_OUT)magic_square.$O -$(BINPREFIX)/magic_square$E: $(CP_DEPS) $(OR_ROOT)objs/magic_square.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/magic_square.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)magic_square$E +$(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 -$(OR_ROOT)objs/model_util.$O:$(OR_ROOT)examples/model_util.cc $(OR_ROOT)gen/constraint_solver/model.pb.h $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/model_util.cc $(OBJOUT)objs/model_util.$O +$(OBJ_DIR)/model_util.$O:$(SRC_DIR)examples/model_util.cc $(GEN_DIR)/constraint_solver/model.pb.h $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/model_util.cc $(OBJ_OUT)model_util.$O -$(BINPREFIX)/model_util$E: $(CP_DEPS) $(OR_ROOT)objs/model_util.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/model_util.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)model_util$E +$(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 -$(OR_ROOT)objs/multidim_knapsack.$O:$(OR_ROOT)examples/multidim_knapsack.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/multidim_knapsack.cc $(OBJOUT)objs/multidim_knapsack.$O +$(OBJ_DIR)/multidim_knapsack.$O:$(SRC_DIR)examples/multidim_knapsack.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/multidim_knapsack.cc $(OBJ_OUT)multidim_knapsack.$O -$(BINPREFIX)/multidim_knapsack$E: $(CP_DEPS) $(OR_ROOT)objs/multidim_knapsack.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/multidim_knapsack.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)multidim_knapsack$E +$(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 -$(OR_ROOT)objs/network_routing.$O:$(OR_ROOT)examples/network_routing.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/network_routing.cc $(OBJOUT)objs/network_routing.$O +$(OBJ_DIR)/network_routing.$O:$(SRC_DIR)examples/network_routing.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/network_routing.cc $(OBJ_OUT)network_routing.$O -$(BINPREFIX)/network_routing$E: $(CP_DEPS) $(GRAPH_DEPS) $(OR_ROOT)objs/network_routing.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/network_routing.$O $(CP_LNK) $(GRAPH_LNK) $(LDFLAGS) $(EXEOUT)network_routing$E +$(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 -$(OR_ROOT)objs/nqueens.$O: $(OR_ROOT)examples/nqueens.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/nqueens.cc $(OBJOUT)objs/nqueens.$O +$(OBJ_DIR)/nqueens.$O: $(SRC_DIR)examples/nqueens.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/nqueens.cc $(OBJ_OUT)nqueens.$O -$(BINPREFIX)/nqueens$E: $(CP_DEPS) $(OR_ROOT)objs/nqueens.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/nqueens.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)nqueens$E +$(BIN_DIR)/nqueens$E: $(CP_DEPS) $(OBJ_DIR)/nqueens.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)/nqueens.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)nqueens$E -$(OR_ROOT)objs/pdptw.$O: $(OR_ROOT)examples/pdptw.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/pdptw.cc $(OBJOUT)objs/pdptw.$O +$(OBJ_DIR)/pdptw.$O: $(SRC_DIR)examples/pdptw.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/pdptw.cc $(OBJ_OUT)pdptw.$O -$(BINPREFIX)/pdptw$E: $(ROUTING_DEPS) $(OR_ROOT)objs/pdptw.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/pdptw.$O $(ROUTING_LNK) $(LDFLAGS) $(EXEOUT)pdptw$E +$(BIN_DIR)/pdptw$E: $(ROUTING_DEPS) $(OBJ_DIR)/pdptw.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)/pdptw.$O $(ROUTING_LNK) $(LDFLAGS) $(EXEOUT)pdptw$E -$(OR_ROOT)objs/sports_scheduling.$O:$(OR_ROOT)examples/sports_scheduling.cc $(OR_ROOT)constraint_solver/constraint_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/sports_scheduling.cc $(OBJOUT)objs/sports_scheduling.$O +$(OBJ_DIR)/sports_scheduling.$O:$(SRC_DIR)examples/sports_scheduling.cc $(SRC_DIR)constraint_solver/constraint_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/sports_scheduling.cc $(OBJ_OUT)sports_scheduling.$O -$(BINPREFIX)/sports_scheduling$E: $(CP_DEPS) $(OR_ROOT)objs/sports_scheduling.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/sports_scheduling.$O $(CP_LNK) $(LDFLAGS) $(EXEOUT)sports_scheduling$E +$(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 -$(OR_ROOT)objs/tsp.$O: $(OR_ROOT)examples/tsp.cc $(OR_ROOT)constraint_solver/routing.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/tsp.cc $(OBJOUT)objs/tsp.$O +$(OBJ_DIR)/tsp.$O: $(SRC_DIR)examples/tsp.cc $(SRC_DIR)constraint_solver/routing.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/tsp.cc $(OBJ_OUT)tsp.$O -$(BINPREFIX)/tsp$E: $(ROUTING_DEPS) $(OR_ROOT)objs/tsp.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/tsp.$O $(ROUTING_LNK) $(LDFLAGS) $(EXEOUT)tsp$E +$(BIN_DIR)/tsp$E: $(ROUTING_DEPS) $(OBJ_DIR)/tsp.$O + $(CCC) $(CFLAGS) $(OBJ_DIR)/tsp.$O $(ROUTING_LNK) $(LDFLAGS) $(EXEOUT)tsp$E # Linear Programming Examples -$(OR_ROOT)objs/strawberry_fields_with_column_generation.$O: $(OR_ROOT)examples/strawberry_fields_with_column_generation.cc $(OR_ROOT)linear_solver/linear_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/strawberry_fields_with_column_generation.cc $(OBJOUT)objs/strawberry_fields_with_column_generation.$O +$(OBJ_DIR)/strawberry_fields_with_column_generation.$O: $(SRC_DIR)examples/strawberry_fields_with_column_generation.cc $(SRC_DIR)linear_solver/linear_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/strawberry_fields_with_column_generation.cc $(OBJ_OUT)strawberry_fields_with_column_generation.$O -$(BINPREFIX)/strawberry_fields_with_column_generation$E: $(LP_DEPS) $(OR_ROOT)objs/strawberry_fields_with_column_generation.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/strawberry_fields_with_column_generation.$O $(LP_LNK) $(LDFLAGS) $(EXEOUT)strawberry_fields_with_column_generation$E +$(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 -$(OR_ROOT)objs/linear_programming.$O: $(OR_ROOT)examples/linear_programming.cc $(OR_ROOT)linear_solver/linear_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/linear_programming.cc $(OBJOUT)objs/linear_programming.$O +$(OBJ_DIR)/linear_programming.$O: $(SRC_DIR)examples/linear_programming.cc $(SRC_DIR)linear_solver/linear_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/linear_programming.cc $(OBJ_OUT)linear_programming.$O -$(BINPREFIX)/linear_programming$E: $(LP_DEPS) $(OR_ROOT)objs/linear_programming.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/linear_programming.$O $(LP_LNK) $(LDFLAGS) $(EXEOUT)linear_programming$E +$(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 -$(OR_ROOT)objs/linear_solver_protocol_buffers.$O: $(OR_ROOT)examples/linear_solver_protocol_buffers.cc $(OR_ROOT)linear_solver/linear_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/linear_solver_protocol_buffers.cc $(OBJOUT)objs/linear_solver_protocol_buffers.$O +$(OBJ_DIR)/linear_solver_protocol_buffers.$O: $(SRC_DIR)examples/linear_solver_protocol_buffers.cc $(SRC_DIR)linear_solver/linear_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/linear_solver_protocol_buffers.cc $(OBJ_OUT)linear_solver_protocol_buffers.$O -$(BINPREFIX)/linear_solver_protocol_buffers$E: $(LP_DEPS) $(OR_ROOT)objs/linear_solver_protocol_buffers.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/linear_solver_protocol_buffers.$O $(LP_LNK) $(LDFLAGS) $(EXEOUT)linear_solver_protocol_buffers$E +$(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 -$(OR_ROOT)objs/integer_programming.$O: $(OR_ROOT)examples/integer_programming.cc $(OR_ROOT)linear_solver/linear_solver.h - $(CCC) $(CFLAGS) -c $(OR_ROOT)examples/integer_programming.cc $(OBJOUT)objs/integer_programming.$O +$(OBJ_DIR)/integer_programming.$O: $(SRC_DIR)examples/integer_programming.cc $(SRC_DIR)linear_solver/linear_solver.h + $(CCC) $(CFLAGS) -c $(SRC_DIR)examples/integer_programming.cc $(OBJ_OUT)integer_programming.$O -$(BINPREFIX)/integer_programming$E: $(LP_DEPS) $(OR_ROOT)objs/integer_programming.$O - $(CCC) $(CFLAGS) $(OR_ROOT)objs/integer_programming.$O $(LP_LNK) $(LDFLAGS) $(EXEOUT)integer_programming$E +$(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 + +printdir: + @echo LIB_DIR = $(LIB_DIR) + @echo BIN_DIR = $(BIN_DIR) + @echo GEN_DIR = $(GEN_DIR) + @echo OBJ_DIR = $(OBJ_DIR) + @echo SRC_DIR = $(SRC_DIR) diff --git a/makefiles/Makefile.csharp.mk b/makefiles/Makefile.csharp.mk index 7b80b2a0d0..607d9a9b04 100644 --- a/makefiles/Makefile.csharp.mk +++ b/makefiles/Makefile.csharp.mk @@ -1,13 +1,13 @@ # ---------- CSharp support using SWIG ---------- CSHARPEXE = \ - $(BINPREFIX)$Scslinearprogramming.exe \ - $(BINPREFIX)$Scsintegerprogramming.exe \ - $(BINPREFIX)$Scsrabbitspheasants.exe \ - $(BINPREFIX)$Scsflow.exe \ - $(BINPREFIX)$Scsknapsack.exe \ - $(BINPREFIX)$Sfurniture_moving_intervals.exe \ - $(BINPREFIX)$Sorganize_day_intervals.exe \ - $(BINPREFIX)$Scstsp.exe + $(BIN_DIR)$Scslinearprogramming.exe \ + $(BIN_DIR)$Scsintegerprogramming.exe \ + $(BIN_DIR)$Scsrabbitspheasants.exe \ + $(BIN_DIR)$Scsflow.exe \ + $(BIN_DIR)$Scsknapsack.exe \ + $(BIN_DIR)$Sfurniture_moving_intervals.exe \ + $(BIN_DIR)$Sorganize_day_intervals.exe \ + $(BIN_DIR)$Scstsp.exe csharpexe: $(CSHARPEXE) @@ -16,23 +16,23 @@ csharp: csharpcp csharplp csharpalgorithms csharpgraph csharpexe # Clean target. clean_csharp: - -$(DEL) $(LIBPREFIX)Google.OrTools.*.$(SHAREDLIBEXT) - -$(DEL) $(BINPREFIX)$SGoogle.OrTools.*.dll - -$(DEL) $(BINPREFIX)$SGoogle.OrTools.*.mdb - -$(DEL) $(LIBPREFIX)Google.OrTools.*.lib - -$(DEL) $(LIBPREFIX)Google.OrTools.*.pdb - -$(DEL) $(LIBPREFIX)Google.OrTools.*.exp - -$(DEL) $(LIBPREFIX)Google.OrTools.*.netmodule - -$(DEL) $(OR_ROOT)gen$Slinear_solver$S*csharp_wrap* - -$(DEL) $(OR_ROOT)gen$Sconstraint_solver$S*csharp_wrap* - -$(DEL) $(OR_ROOT)gen$Salgorithms$S*csharp_wrap* - -$(DEL) $(OR_ROOT)gen$Sgraph$S*csharp_wrap* - -$(DEL) $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Slinearsolver$S*.cs - -$(DEL) $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sconstraintsolver$S*.cs - -$(DEL) $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sknapsacksolver$S*.cs - -$(DEL) $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sgraph$S*.cs - -$(DEL) $(OR_ROOT)objs$S*csharp_wrap.$O - -$(DEL) $(BINPREFIX)$S*.exe + -$(DEL) $(LIB_DIR)$(LIBPREFIX)Google.OrTools.*.$(SHAREDLIBEXT) + -$(DEL) $(BIN_DIR)$SGoogle.OrTools.*.dll + -$(DEL) $(BIN_DIR)$SGoogle.OrTools.*.mdb + -$(DEL) $(LIB_DIR)$(LIBPREFIX)Google.OrTools.*.lib + -$(DEL) $(LIB_DIR)$(LIBPREFIX)Google.OrTools.*.pdb + -$(DEL) $(LIB_DIR)$(LIBPREFIX)Google.OrTools.*.exp + -$(DEL) $(LIB_DIR)$(LIBPREFIX)Google.OrTools.*.netmodule + -$(DEL) $(GEN_DIR)$Slinear_solver$S*csharp_wrap* + -$(DEL) $(GEN_DIR)$Sconstraint_solver$S*csharp_wrap* + -$(DEL) $(GEN_DIR)$Salgorithms$S*csharp_wrap* + -$(DEL) $(GEN_DIR)$Sgraph$S*csharp_wrap* + -$(DEL) $(GEN_DIR)$Scom$Sgoogle$Sortools$Slinearsolver$S*.cs + -$(DEL) $(GEN_DIR)$Scom$Sgoogle$Sortools$Sconstraintsolver$S*.cs + -$(DEL) $(GEN_DIR)$Scom$Sgoogle$Sortools$Sknapsacksolver$S*.cs + -$(DEL) $(GEN_DIR)$Scom$Sgoogle$Sortools$Sgraph$S*.cs + -$(DEL) $(OBJ_DIR)$S*csharp_wrap.$O + -$(DEL) $(BIN_DIR)$S*.exe # csharplp @@ -42,138 +42,138 @@ else IMPORTPREFIX=$(OR_ROOT_FULL)/lib/lib endif -csharplp: $(BINPREFIX)/Google.OrTools.LinearSolver.dll +csharplp: $(BIN_DIR)/Google.OrTools.LinearSolver.dll -$(OR_ROOT)gen/linear_solver/linear_solver_csharp_wrap.cc: $(OR_ROOT)linear_solver/linear_solver.swig $(OR_ROOT)base/base.swig $(OR_ROOT)util/data.swig $(OR_ROOT)linear_solver/linear_solver.h $(OR_ROOT)gen/linear_solver/linear_solver.pb.h - $(SWIG_BINARY) $(SWIG_INC) -I$(OR_ROOT_INC) -c++ -csharp -o $(OR_ROOT)gen$Slinear_solver$Slinear_solver_csharp_wrap.cc -module operations_research -namespace Google.OrTools.LinearSolver -dllimport $(IMPORTPREFIX)Google.OrTools.LinearSolver.$(SHAREDLIBEXT) -outdir $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Slinearsolver $(OR_ROOT)linear_solver$Slinear_solver.swig +$(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 $(IMPORTPREFIX)Google.OrTools.LinearSolver.$(SHAREDLIBEXT) -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Slinearsolver $(SRC_DIR)linear_solver$Slinear_solver.swig -$(OR_ROOT)objs/linear_solver_csharp_wrap.$O: $(OR_ROOT)gen/linear_solver/linear_solver_csharp_wrap.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)gen/linear_solver/linear_solver_csharp_wrap.cc $(OBJOUT)objs/linear_solver_csharp_wrap.$O +$(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 -$(BINPREFIX)/Google.OrTools.LinearSolver.dll: $(OR_ROOT)objs/linear_solver_csharp_wrap.$O $(LP_DEPS) $(OR_ROOT)com/google/ortools/linearsolver/LinearExpr.cs $(OR_ROOT)com/google/ortools/linearsolver/LinearConstraint.cs +$(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 ifeq ($(SYSTEM),win) - $(CSC) /target:module /out:$(LIBPREFIX)Google.OrTools.LinearSolver.netmodule /warn:0 /nologo /debug $(OR_ROOT)gen\\com\\google\\ortools\\linearsolver\\*.cs $(OR_ROOT)com\\google\\ortools\\linearsolver\\*.cs - $(LD) $(LDOUT)$(OR_ROOT)bin\\Google.OrTools.LinearSolver.dll $(LIBPREFIX)Google.OrTools.LinearSolver.netmodule $(OR_ROOT)objs\\linear_solver_csharp_wrap.$O $(LP_LNK) $(LDFLAGS) + $(CSC) /target:module /out:$(LIB_DIR)$(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)$(LIBPREFIX)Google.OrTools.LinearSolver.netmodule $(OBJ_DIR)\\linear_solver_csharp_wrap.$O $(LP_LNK) $(LDFLAGS) else - $(CSC) /target:library /out:$(BINPREFIX)/Google.OrTools.LinearSolver.dll /warn:0 /nologo /debug $(OR_ROOT)gen/com/google/ortools/linearsolver/*.cs $(OR_ROOT)com/google/ortools/linearsolver/*.cs - $(LD) $(LDOUT)$(LIBPREFIX)Google.OrTools.LinearSolver.$(SHAREDLIBEXT) $(OR_ROOT)objs/linear_solver_csharp_wrap.$O $(LP_LNK) $(LDFLAGS) + $(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)$(LIBPREFIX)Google.OrTools.LinearSolver.$(SHAREDLIBEXT) $(OBJ_DIR)/linear_solver_csharp_wrap.$O $(LP_LNK) $(LDFLAGS) endif # csharp linearsolver examples -$(BINPREFIX)/cslinearprogramming.exe: $(BINPREFIX)/Google.OrTools.LinearSolver.dll $(OR_ROOT)csharp/cslinearprogramming.cs - $(CSC) /target:exe /out:$(BINPREFIX)$Scslinearprogramming.exe /platform:$(NETPLATFORM) /lib:$(OR_ROOT)bin /r:Google.OrTools.LinearSolver.dll $(OR_ROOT)csharp$Scslinearprogramming.cs +$(BIN_DIR)/cslinearprogramming.exe: $(BIN_DIR)/Google.OrTools.LinearSolver.dll $(SRC_DIR)csharp/cslinearprogramming.cs + $(CSC) /target:exe /out:$(BIN_DIR)$Scslinearprogramming.exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.LinearSolver.dll $(SRC_DIR)csharp$Scslinearprogramming.cs -$(BINPREFIX)/csintegerprogramming.exe: $(BINPREFIX)/Google.OrTools.LinearSolver.dll $(OR_ROOT)csharp/csintegerprogramming.cs - $(CSC) /target:exe /out:$(BINPREFIX)$Scsintegerprogramming.exe /platform:$(NETPLATFORM) /lib:$(OR_ROOT)bin /r:Google.OrTools.LinearSolver.dll $(OR_ROOT)csharp$Scsintegerprogramming.cs +$(BIN_DIR)/csintegerprogramming.exe: $(BIN_DIR)/Google.OrTools.LinearSolver.dll $(SRC_DIR)csharp/csintegerprogramming.cs + $(CSC) /target:exe /out:$(BIN_DIR)$Scsintegerprogramming.exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.LinearSolver.dll $(SRC_DIR)csharp$Scsintegerprogramming.cs # csharp linearsolver tests -$(BINPREFIX)/testlp.exe: $(BINPREFIX)/Google.OrTools.LinearSolver.dll $(OR_ROOT)tests/testlp.cs - $(CSC) /target:exe /out:$(BINPREFIX)$Stestlp.exe /platform:$(NETPLATFORM) /r:$(OR_ROOT)bin$SGoogle.OrTools.LinearSolver.dll $(OR_ROOT)tests$Stestlp.cs +$(BIN_DIR)/testlp.exe: $(BIN_DIR)/Google.OrTools.LinearSolver.dll $(SRC_DIR)tests/testlp.cs + $(CSC) /target:exe /out:$(BIN_DIR)$Stestlp.exe /platform:$(NETPLATFORM) /r:$(BIN_DIR)$SGoogle.OrTools.LinearSolver.dll $(SRC_DIR)tests$Stestlp.cs -testlp: $(BINPREFIX)/testlp.exe - $(MONO) bin$Stestlp.exe +testlp: $(BIN_DIR)/testlp.exe + $(MONO) $(BIN_DIR)$Stestlp.exe # csharpcp -csharpcp: $(BINPREFIX)/Google.OrTools.ConstraintSolver.dll +csharpcp: $(BIN_DIR)/Google.OrTools.ConstraintSolver.dll -$(OR_ROOT)gen/constraint_solver/constraint_solver_csharp_wrap.cc: $(OR_ROOT)constraint_solver/routing.swig $(OR_ROOT)constraint_solver/constraint_solver.swig $(OR_ROOT)base/base.swig $(OR_ROOT)util/data.swig $(OR_ROOT)constraint_solver/constraint_solver.h - $(SWIG_BINARY) $(SWIG_INC) -I$(OR_ROOT_INC) -c++ -csharp -o $(OR_ROOT)gen$Sconstraint_solver$Sconstraint_solver_csharp_wrap.cc -module operations_research -namespace Google.OrTools.ConstraintSolver -dllimport $(IMPORTPREFIX)Google.OrTools.ConstraintSolver.$(SHAREDLIBEXT) -outdir $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sconstraintsolver $(OR_ROOT)constraint_solver$Srouting.swig +$(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 $(IMPORTPREFIX)Google.OrTools.ConstraintSolver.$(SHAREDLIBEXT) -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sconstraintsolver $(SRC_DIR)constraint_solver$Srouting.swig -$(OR_ROOT)objs/constraint_solver_csharp_wrap.$O: $(OR_ROOT)gen/constraint_solver/constraint_solver_csharp_wrap.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)gen$Sconstraint_solver$Sconstraint_solver_csharp_wrap.cc $(OBJOUT)objs$Sconstraint_solver_csharp_wrap.$O +$(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 -$(BINPREFIX)/Google.OrTools.ConstraintSolver.dll: $(OR_ROOT)objs/constraint_solver_csharp_wrap.$O $(ROUTING_DEPS) $(OR_ROOT)com/google/ortools/constraintsolver/IntVarArrayHelper.cs $(OR_ROOT)com/google/ortools/constraintsolver/IntervalVarArrayHelper.cs $(OR_ROOT)com/google/ortools/constraintsolver/IntArrayHelper.cs $(OR_ROOT)com/google/ortools/constraintsolver/ValCstPair.cs $(OR_ROOT)com/google/ortools/constraintsolver/NetDecisionBuilder.cs +$(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 ifeq ($(SYSTEM),win) - $(CSC) /target:module /out:$(LIBPREFIX)Google.OrTools.ConstraintSolver.netmodule /warn:0 /nologo /debug $(OR_ROOT)gen\\com\\google\\ortools\\constraintsolver\\*.cs com\\google\\ortools\\constraintsolver\\*.cs - $(LD) $(LDOUT)$(OR_ROOT)bin\\Google.OrTools.ConstraintSolver.dll $(LIBPREFIX)Google.OrTools.ConstraintSolver.netmodule $(OR_ROOT)objs$Sconstraint_solver_csharp_wrap.$O $(ROUTING_LNK) $(LDFLAGS) + $(CSC) /target:module /out:$(LIB_DIR)$(LIBPREFIX)Google.OrTools.ConstraintSolver.netmodule /warn:0 /nologo /debug $(GEN_DIR)\\com\\google\\ortools\\constraintsolver\\*.cs com\\google\\ortools\\constraintsolver\\*.cs + $(LD) $(LDOUT)$(BIN_DIR)\\Google.OrTools.ConstraintSolver.dll $(LIB_DIR)$(LIBPREFIX)Google.OrTools.ConstraintSolver.netmodule $(OBJ_DIR)$Sconstraint_solver_csharp_wrap.$O $(ROUTING_LNK) $(LDFLAGS) else - $(CSC) /target:library /out:$(BINPREFIX)/Google.OrTools.ConstraintSolver.dll /warn:0 /nologo /debug $(OR_ROOT)gen/com/google/ortools/constraintsolver/*.cs $(OR_ROOT)com/google/ortools/constraintsolver/*.cs - $(LD) $(LDOUT)$(LIBPREFIX)Google.OrTools.ConstraintSolver.$(SHAREDLIBEXT) $(OR_ROOT)objs/constraint_solver_csharp_wrap.$O $(ROUTING_LNK) $(LDFLAGS) + $(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)$(LIBPREFIX)Google.OrTools.ConstraintSolver.$(SHAREDLIBEXT) $(OBJ_DIR)/constraint_solver_csharp_wrap.$O $(ROUTING_LNK) $(LDFLAGS) endif # csharp cp examples -$(BINPREFIX)/csrabbitspheasants.exe: $(BINPREFIX)/Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp/csrabbitspheasants.cs - $(CSC) /target:exe /out:$(BINPREFIX)$Scsrabbitspheasants.exe /platform:$(NETPLATFORM) /lib:$(OR_ROOT)bin /r:Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp$Scsrabbitspheasants.cs +$(BIN_DIR)/csrabbitspheasants.exe: $(BIN_DIR)/Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp/csrabbitspheasants.cs + $(CSC) /target:exe /out:$(BIN_DIR)$Scsrabbitspheasants.exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp$Scsrabbitspheasants.cs -$(BINPREFIX)/send_more_money.exe: $(BINPREFIX)/Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp/send_more_money.cs - $(CSC) /target:exe /out:$(BINPREFIX)$Ssend_more_money.exe /platform:$(NETPLATFORM) /lib:$(OR_ROOT)bin /r:Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp$Ssend_more_money.cs +$(BIN_DIR)/send_more_money.exe: $(BIN_DIR)/Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp/send_more_money.cs + $(CSC) /target:exe /out:$(BIN_DIR)$Ssend_more_money.exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp$Ssend_more_money.cs -$(BINPREFIX)/furniture_moving_intervals.exe: $(BINPREFIX)/Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp/furniture_moving_intervals.cs - $(CSC) /target:exe /out:$(BINPREFIX)$Sfurniture_moving_intervals.exe /platform:$(NETPLATFORM) /lib:$(OR_ROOT)bin /r:Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp$Sfurniture_moving_intervals.cs +$(BIN_DIR)/furniture_moving_intervals.exe: $(BIN_DIR)/Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp/furniture_moving_intervals.cs + $(CSC) /target:exe /out:$(BIN_DIR)$Sfurniture_moving_intervals.exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp$Sfurniture_moving_intervals.cs -$(BINPREFIX)/organize_day_intervals.exe: $(BINPREFIX)/Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp/organize_day_intervals.cs - $(CSC) /target:exe /out:$(BINPREFIX)$Sorganize_day_intervals.exe /platform:$(NETPLATFORM) /lib:$(OR_ROOT)bin /r:Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp$Sorganize_day_intervals.cs +$(BIN_DIR)/organize_day_intervals.exe: $(BIN_DIR)/Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp/organize_day_intervals.cs + $(CSC) /target:exe /out:$(BIN_DIR)$Sorganize_day_intervals.exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp$Sorganize_day_intervals.cs -$(BINPREFIX)/cstsp.exe: $(BINPREFIX)/Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp/cstsp.cs - $(CSC) /target:exe /out:$(BINPREFIX)$Scstsp.exe /platform:$(NETPLATFORM) /lib:$(OR_ROOT)bin /r:Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp$Scstsp.cs +$(BIN_DIR)/cstsp.exe: $(BIN_DIR)/Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp/cstsp.cs + $(CSC) /target:exe /out:$(BIN_DIR)$Scstsp.exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp$Scstsp.cs # csharp constraint solver tests -$(BINPREFIX)/testcp.exe: $(BINPREFIX)/Google.OrTools.ConstraintSolver.dll $(OR_ROOT)tests/testcp.cs - $(CSC) /target:exe /out:$(BINPREFIX)$Stestcp.exe /platform:$(NETPLATFORM) /lib:$(OR_ROOT)bin /r:Google.OrTools.ConstraintSolver.dll $(OR_ROOT)tests$Stestcp.cs +$(BIN_DIR)/testcp.exe: $(BIN_DIR)/Google.OrTools.ConstraintSolver.dll $(SRC_DIR)tests/testcp.cs + $(CSC) /target:exe /out:$(BIN_DIR)$Stestcp.exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.ConstraintSolver.dll $(SRC_DIR)tests$Stestcp.cs -testcp: $(BINPREFIX)/testcp.exe - $(MONO) $(BINPREFIX)$Stestcp.exe +testcp: $(BIN_DIR)/testcp.exe + $(MONO) $(BIN_DIR)$Stestcp.exe # csharpalgorithms -csharpalgorithms: $(BINPREFIX)/Google.OrTools.Algorithms.dll +csharpalgorithms: $(BIN_DIR)/Google.OrTools.Algorithms.dll -$(OR_ROOT)gen/algorithms/knapsack_solver_csharp_wrap.cc: $(OR_ROOT)algorithms/knapsack_solver.swig $(OR_ROOT)algorithms/knapsack_solver.swig $(OR_ROOT)base/base.swig $(OR_ROOT)util/data.swig $(OR_ROOT)algorithms/knapsack_solver.h - $(SWIG_BINARY) $(SWIG_INC) -I$(OR_ROOT_INC) -c++ -csharp -o $(OR_ROOT)gen$Salgorithms$Sknapsack_solver_csharp_wrap.cc -module operations_research -namespace Google.OrTools.Algorithms -dllimport $(IMPORTPREFIX)Google.OrTools.Algorithms.$(SHAREDLIBEXT) -outdir $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sknapsacksolver $(OR_ROOT)algorithms$Sknapsack_solver.swig +$(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 $(IMPORTPREFIX)Google.OrTools.Algorithms.$(SHAREDLIBEXT) -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sknapsacksolver $(SRC_DIR)algorithms$Sknapsack_solver.swig -$(OR_ROOT)objs/knapsack_solver_csharp_wrap.$O: $(OR_ROOT)gen/algorithms/knapsack_solver_csharp_wrap.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)gen/algorithms/knapsack_solver_csharp_wrap.cc $(OBJOUT)objs$Sknapsack_solver_csharp_wrap.$O +$(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 -$(BINPREFIX)/Google.OrTools.Algorithms.dll: $(OR_ROOT)objs/knapsack_solver_csharp_wrap.$O $(ALGORITHMS_DEPS) +$(BIN_DIR)/Google.OrTools.Algorithms.dll: $(OBJ_DIR)/knapsack_solver_csharp_wrap.$O $(ALGORITHMS_DEPS) ifeq ($(SYSTEM),win) - $(CSC) /target:module /out:$(LIBPREFIX)Google.OrTools.Algorithms.netmodule /warn:0 /nologo /debug $(OR_ROOT)gen\\com\\google\\ortools\\knapsacksolver\\*.cs - $(LD) $(LDOUT)$(OR_ROOT)bin\\Google.OrTools.Algorithms.dll $(LIBPREFIX)Google.OrTools.Algorithms.netmodule $(OR_ROOT)objs\\knapsack_solver_csharp_wrap.$O $(ALGORITHMS_LNK) $(LDFLAGS) + $(CSC) /target:module /out:$(LIB_DIR)$(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)$(LIBPREFIX)Google.OrTools.Algorithms.netmodule $(OBJ_DIR)\\knapsack_solver_csharp_wrap.$O $(ALGORITHMS_LNK) $(LDFLAGS) else - $(CSC) /target:library /out:$(BINPREFIX)/Google.OrTools.Algorithms.dll /warn:0 /nologo /debug $(OR_ROOT)gen/com/google/ortools/knapsacksolver/*.cs - $(LD) $(LDOUT)$(LIBPREFIX)Google.OrTools.Algorithms.$(SHAREDLIBEXT) $(OR_ROOT)objs/knapsack_solver_csharp_wrap.$O $(ALGORITHMS_LNK) $(LDFLAGS) + $(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)$(LIBPREFIX)Google.OrTools.Algorithms.$(SHAREDLIBEXT) $(OBJ_DIR)/knapsack_solver_csharp_wrap.$O $(ALGORITHMS_LNK) $(LDFLAGS) endif # csharp algorithm examples -$(BINPREFIX)/csknapsack.exe: $(BINPREFIX)/Google.OrTools.Algorithms.dll $(OR_ROOT)csharp/csknapsack.cs - $(CSC) /target:exe /out:$(BINPREFIX)$Scsknapsack.exe /platform:$(NETPLATFORM) /lib:$(OR_ROOT)bin /r:Google.OrTools.Algorithms.dll $(OR_ROOT)csharp$Scsknapsack.cs +$(BIN_DIR)/csknapsack.exe: $(BIN_DIR)/Google.OrTools.Algorithms.dll $(SRC_DIR)csharp/csknapsack.cs + $(CSC) /target:exe /out:$(BIN_DIR)$Scsknapsack.exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.Algorithms.dll $(SRC_DIR)csharp$Scsknapsack.cs # csharpgraph -csharpgraph: $(BINPREFIX)/Google.OrTools.Graph.dll +csharpgraph: $(BIN_DIR)/Google.OrTools.Graph.dll -$(OR_ROOT)gen/graph/graph_csharp_wrap.cc: $(OR_ROOT)graph/graph.swig $(OR_ROOT)base/base.swig $(OR_ROOT)util/data.swig $(OR_ROOT)graph/max_flow.h $(OR_ROOT)graph/min_cost_flow.h - $(SWIG_BINARY) $(SWIG_INC) -I$(OR_ROOT_INC) -c++ -csharp -o $(OR_ROOT)gen$Sgraph$Sgraph_csharp_wrap.cc -module operations_research -namespace Google.OrTools.Graph -dllimport $(IMPORTPREFIX)Google.OrTools.Graph.$(SHAREDLIBEXT) -outdir $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sgraph graph$Sgraph.swig +$(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 $(IMPORTPREFIX)Google.OrTools.Graph.$(SHAREDLIBEXT) -outdir $(GEN_DIR)$Scom$Sgoogle$Sortools$Sgraph graph$Sgraph.swig -$(OR_ROOT)objs/graph_csharp_wrap.$O: $(OR_ROOT)gen/graph/graph_csharp_wrap.cc - $(CCC) $(CFLAGS) -c $(OR_ROOT)gen$Sgraph$Sgraph_csharp_wrap.cc $(OBJOUT)objs$Sgraph_csharp_wrap.$O +$(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 -$(BINPREFIX)/Google.OrTools.Graph.dll: $(OR_ROOT)objs/graph_csharp_wrap.$O $(GRAPH_DEPS) +$(BIN_DIR)/Google.OrTools.Graph.dll: $(OBJ_DIR)/graph_csharp_wrap.$O $(GRAPH_DEPS) ifeq ($(SYSTEM),win) - $(CSC) /target:module /unsafe /out:$(LIBPREFIX)Google.OrTools.Graph.netmodule /warn:0 /nologo /debug $(OR_ROOT)gen\\com\\google\\ortools\\graph\\*.cs - $(LD) $(LDOUT)$(OR_ROOT)bin\\Google.OrTools.Graph.dll $(LIBPREFIX)Google.OrTools.Graph.netmodule $(OR_ROOT)objs\\graph_csharp_wrap.$O $(GRAPH_LNK) $(LDFLAGS) + $(CSC) /target:module /unsafe /out:$(LIB_DIR)$(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)$(LIBPREFIX)Google.OrTools.Graph.netmodule $(OBJ_DIR)\\graph_csharp_wrap.$O $(GRAPH_LNK) $(LDFLAGS) else - $(CSC) /target:library /unsafe /out:$(BINPREFIX)/Google.OrTools.Graph.dll /warn:0 /nologo /debug $(OR_ROOT)gen/com/google/ortools/graph/*.cs - $(LD) $(LDOUT)$(LIBPREFIX)Google.OrTools.Graph.$(SHAREDLIBEXT) $(OR_ROOT)objs/graph_csharp_wrap.$O $(GRAPH_LNK) $(LDFLAGS) + $(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)$(LIBPREFIX)Google.OrTools.Graph.$(SHAREDLIBEXT) $(OBJ_DIR)/graph_csharp_wrap.$O $(GRAPH_LNK) $(LDFLAGS) endif # csharp graph examples -$(BINPREFIX)/csflow.exe: $(BINPREFIX)/Google.OrTools.Graph.dll $(OR_ROOT)csharp/csflow.cs - $(CSC) /target:exe /out:$(BINPREFIX)$Scsflow.exe /platform:$(NETPLATFORM) /lib:$(OR_ROOT)bin /r:Google.OrTools.Graph.dll $(OR_ROOT)csharp$Scsflow.cs +$(BIN_DIR)/csflow.exe: $(BIN_DIR)/Google.OrTools.Graph.dll $(SRC_DIR)csharp/csflow.cs + $(CSC) /target:exe /out:$(BIN_DIR)$Scsflow.exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.Graph.dll $(SRC_DIR)csharp$Scsflow.cs # Build and compile custome CP examples -csc: $(BINPREFIX)/Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp/$(EX).cs - $(CSC) /target:exe /out:$(BINPREFIX)$S$(EX).exe /platform:$(NETPLATFORM) /lib:$(OR_ROOT)bin /r:Google.OrTools.ConstraintSolver.dll $(OR_ROOT)csharp$S$(EX).cs +csc: $(BIN_DIR)/Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp/$(EX).cs + $(CSC) /target:exe /out:$(BIN_DIR)$S$(EX).exe /platform:$(NETPLATFORM) /lib:$(BIN_DIR) /r:Google.OrTools.ConstraintSolver.dll $(SRC_DIR)csharp$S$(EX).cs rcs: csc - $(MONO) $(BINPREFIX)$S$(EX).exe $(ARGS) + $(MONO) $(BIN_DIR)$S$(EX).exe $(ARGS) # Build archive. diff --git a/makefiles/Makefile.java.mk b/makefiles/Makefile.java.mk index 2187a00fb5..830714904f 100644 --- a/makefiles/Makefile.java.mk +++ b/makefiles/Makefile.java.mk @@ -3,341 +3,341 @@ java: javacp javaalgorithms javagraph javalp # Clean target clean_java: - -$(DEL) $(LIBPREFIX)jni*.$(JNILIBEXT) - -$(DEL) $(OR_ROOT)lib$S*.jar - -$(DEL) $(OR_ROOT)gen$Salgorithms$S*java_wrap* - -$(DEL) $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sconstraintsolver$S*.java - -$(DEL) $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sgraph$S*.java - -$(DEL) $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sknapsacksolver$S*.java - -$(DEL) $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Slinearsolver$S*.java - -$(DEL) $(OR_ROOT)gen$Sconstraint_solver$S*java_wrap* - -$(DEL) $(OR_ROOT)gen$Sgraph$S*java_wrap* - -$(DEL) $(OR_ROOT)gen$Slinear_solver$S*java_wrap* - -$(DEL) $(OR_ROOT)objs$Scom$Sgoogle$Sortools$Sconstraintsolver$S*.class - -$(DEL) $(OR_ROOT)objs$Scom$Sgoogle$Sortools$Sgraph$S*.class - -$(DEL) $(OR_ROOT)objs$Scom$Sgoogle$Sortools$Sknapsacksolver$S*.class - -$(DEL) $(OR_ROOT)objs$Scom$Sgoogle$Sortools$Slinearsolver$S*.class - -$(DEL) $(OR_ROOT)objs$Scom$Sgoogle$Sortools$Sconstraintsolver$Ssamples$S*.class - -$(DEL) $(OR_ROOT)objs$Scom$Sgoogle$Sortools$Sgraph$Ssamples$S*.class - -$(DEL) $(OR_ROOT)objs$Scom$Sgoogle$Sortools$Sknapsacksolver$Ssamples$S*.class - -$(DEL) $(OR_ROOT)objs$Scom$Sgoogle$Sortools$Slinearsolver$Ssamples$S*.class - -$(DEL) $(OR_ROOT)objs$S*java_wrap.$O + -$(DEL) $(LIB_DIR)$(LIBPREFIX)jni*.$(JNILIBEXT) + -$(DEL) $(LIB_DIR)$S*.jar + -$(DEL) $(GEN_DIR)$Salgorithms$S*java_wrap* + -$(DEL) $(GEN_DIR)$Scom$Sgoogle$Sortools$Sconstraintsolver$S*.java + -$(DEL) $(GEN_DIR)$Scom$Sgoogle$Sortools$Sgraph$S*.java + -$(DEL) $(GEN_DIR)$Scom$Sgoogle$Sortools$Sknapsacksolver$S*.java + -$(DEL) $(GEN_DIR)$Scom$Sgoogle$Sortools$Slinearsolver$S*.java + -$(DEL) $(GEN_DIR)$Sconstraint_solver$S*java_wrap* + -$(DEL) $(GEN_DIR)$Sgraph$S*java_wrap* + -$(DEL) $(GEN_DIR)$Slinear_solver$S*java_wrap* + -$(DEL) $(OBJ_DIR)$Scom$Sgoogle$Sortools$Sconstraintsolver$S*.class + -$(DEL) $(OBJ_DIR)$Scom$Sgoogle$Sortools$Sgraph$S*.class + -$(DEL) $(OBJ_DIR)$Scom$Sgoogle$Sortools$Sknapsacksolver$S*.class + -$(DEL) $(OBJ_DIR)$Scom$Sgoogle$Sortools$Slinearsolver$S*.class + -$(DEL) $(OBJ_DIR)$Scom$Sgoogle$Sortools$Sconstraintsolver$Ssamples$S*.class + -$(DEL) $(OBJ_DIR)$Scom$Sgoogle$Sortools$Sgraph$Ssamples$S*.class + -$(DEL) $(OBJ_DIR)$Scom$Sgoogle$Sortools$Sknapsacksolver$Ssamples$S*.class + -$(DEL) $(OBJ_DIR)$Scom$Sgoogle$Sortools$Slinearsolver$Ssamples$S*.class + -$(DEL) $(OBJ_DIR)$S*java_wrap.$O # ---------- Java support using SWIG ---------- # javacp -javacp: $(OR_ROOT)lib/com.google.ortools.constraintsolver.jar $(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT) -$(OR_ROOT)gen/constraint_solver/constraint_solver_java_wrap.cc: $(OR_ROOT)constraint_solver/constraint_solver.swig $(OR_ROOT)base/base.swig $(OR_ROOT)util/data.swig $(OR_ROOT)constraint_solver/constraint_solver.h - $(SWIG_BINARY) -I$(OR_ROOT_INC) -c++ -java -o $(OR_ROOT)gen$Sconstraint_solver$Sconstraint_solver_java_wrap.cc -package com.google.ortools.constraintsolver -outdir $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sconstraintsolver $(OR_ROOT)constraint_solver$Sconstraint_solver.swig +javacp: $(LIB_DIR)/com.google.ortools.constraintsolver.jar $(LIB_DIR)$(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT) +$(GEN_DIR)/constraint_solver/constraint_solver_java_wrap.cc: $(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) -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)constraint_solver$Sconstraint_solver.swig -$(OR_ROOT)objs/constraint_solver_java_wrap.$O: $(OR_ROOT)gen/constraint_solver/constraint_solver_java_wrap.cc - $(CCC) $(JNIFLAGS) $(JAVA_INC) -c $(OR_ROOT)gen$Sconstraint_solver$Sconstraint_solver_java_wrap.cc $(OBJOUT)objs/constraint_solver_java_wrap.$O +$(OBJ_DIR)/constraint_solver_java_wrap.$O: $(GEN_DIR)/constraint_solver/constraint_solver_java_wrap.cc + $(CCC) $(JNIFLAGS) $(JAVA_INC) -c $(GEN_DIR)$Sconstraint_solver$Sconstraint_solver_java_wrap.cc $(OBJ_OUT)constraint_solver_java_wrap.$O -$(OR_ROOT)lib/com.google.ortools.constraintsolver.jar: $(OR_ROOT)gen/constraint_solver/constraint_solver_java_wrap.cc - $(JAVAC_BIN) -d $(OR_ROOT)objs $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$S*.java $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sconstraintsolver$S*.java - $(JAR_BIN) cf $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar -C $(OR_ROOT)objs $Scom$Sgoogle$Sortools$Sconstraintsolver +$(LIB_DIR)/com.google.ortools.constraintsolver.jar: $(GEN_DIR)/constraint_solver/constraint_solver_java_wrap.cc + $(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 -$(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT): $(OR_ROOT)objs/constraint_solver_java_wrap.$O $(CP_DEPS) - $(LD) $(LDOUT)$(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT) $(OR_ROOT)objs$Sconstraint_solver_java_wrap.$O $(CP_LNK) $(LDFLAGS) +$(LIB_DIR)$(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT): $(OBJ_DIR)/constraint_solver_java_wrap.$O $(CP_DEPS) + $(LD) $(LDOUT)$(LIB_DIR)$(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT) $(OBJ_DIR)$Sconstraint_solver_java_wrap.$O $(CP_LNK) $(LDFLAGS) # Java CP Examples -compile_RabbitsPheasants: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/RabbitsPheasants.class +compile_RabbitsPheasants: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/RabbitsPheasants.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/RabbitsPheasants.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/RabbitsPheasants.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SRabbitsPheasants.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/RabbitsPheasants.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/RabbitsPheasants.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SRabbitsPheasants.java run_RabbitsPheasants: compile_RabbitsPheasants - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.RabbitsPheasants + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.RabbitsPheasants -compile_GolombRuler: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/GolombRuler.class +compile_GolombRuler: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/GolombRuler.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/GolombRuler.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/GolombRuler.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SGolombRuler.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/GolombRuler.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/GolombRuler.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SGolombRuler.java run_GolombRuler: compile_GolombRuler - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.GolombRuler + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.GolombRuler -compile_Partition: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Partition.class +compile_Partition: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Partition.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Partition.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/Partition.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)$Scom$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SPartition.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Partition.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/Partition.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)$Scom$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SPartition.java run_Partition: compile_Partition - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Partition + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Partition -compile_SendMoreMoney: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/SendMoreMoney.class +compile_SendMoreMoney: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/SendMoreMoney.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/SendMoreMoney.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/SendMoreMoney.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSendMoreMoney.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/SendMoreMoney.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/SendMoreMoney.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSendMoreMoney.java run_SendMoreMoney: compile_SendMoreMoney - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.SendMoreMoney + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.SendMoreMoney -compile_SendMoreMoney2: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/SendMoreMoney2.class +compile_SendMoreMoney2: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/SendMoreMoney2.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/SendMoreMoney2.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/SendMoreMoney2.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSendMoreMoney2.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/SendMoreMoney2.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/SendMoreMoney2.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSendMoreMoney2.java run_SendMoreMoney2: compile_SendMoreMoney2 - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.SendMoreMoney2 + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.SendMoreMoney2 -compile_LeastDiff: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/LeastDiff.class +compile_LeastDiff: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/LeastDiff.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/LeastDiff.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/LeastDiff.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SLeastDiff.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/LeastDiff.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/LeastDiff.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SLeastDiff.java run_LeastDiff: compile_LeastDiff - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.LeastDiff + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.LeastDiff -compile_MagicSquare: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/MagicSquare.class +compile_MagicSquare: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/MagicSquare.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/MagicSquare.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/MagicSquare.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SMagicSquare.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/MagicSquare.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/MagicSquare.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SMagicSquare.java run_MagicSquare: compile_MagicSquare - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.MagicSquare + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.MagicSquare -compile_NQueens: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/NQueens.class +compile_NQueens: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/NQueens.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/NQueens.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/NQueens.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SNQueens.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/NQueens.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/NQueens.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SNQueens.java run_NQueens: compile_NQueens - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.NQueens + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.NQueens -compile_NQueens2: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/NQueens2.class +compile_NQueens2: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/NQueens2.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/NQueens2.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/NQueens2.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SNQueens2.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/NQueens2.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/NQueens2.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SNQueens2.java run_NQueens2: compile_NQueens2 - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.NQueens2 + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.NQueens2 -compile_AllDifferentExcept0: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/AllDifferentExcept0.class +compile_AllDifferentExcept0: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/AllDifferentExcept0.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/AllDifferentExcept0.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/AllDifferentExcept0.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SAllDifferentExcept0.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/AllDifferentExcept0.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/AllDifferentExcept0.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SAllDifferentExcept0.java run_AllDifferentExcept0: compile_AllDifferentExcept0 - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.AllDifferentExcept0 + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.AllDifferentExcept0 -compile_Diet: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Diet.class +compile_Diet: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Diet.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Diet.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/Diet.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SDiet.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Diet.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/Diet.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SDiet.java run_Diet: compile_Diet - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Diet + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Diet -compile_Map: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Map.class +compile_Map: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Map.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Map.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/Map.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SMap.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Map.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/Map.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SMap.java run_Map: compile_Map - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Map + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Map -compile_Map2: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Map2.class +compile_Map2: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Map2.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Map2.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/Map2.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SMap2.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Map2.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/Map2.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SMap2.java run_Map2: compile_Map2 - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Map2 + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Map2 -compile_Minesweeper: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Minesweeper.class +compile_Minesweeper: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Minesweeper.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Minesweeper.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/Minesweeper.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SMinesweeper.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Minesweeper.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/Minesweeper.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SMinesweeper.java run_Minesweeper: compile_Minesweeper - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Minesweeper + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Minesweeper -compile_QuasigroupCompletion: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/QuasigroupCompletion.class +compile_QuasigroupCompletion: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/QuasigroupCompletion.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/QuasigroupCompletion.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/QuasigroupCompletion.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SQuasigroupCompletion.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/QuasigroupCompletion.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/QuasigroupCompletion.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SQuasigroupCompletion.java run_QuasigroupCompletion: compile_QuasigroupCompletion - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.QuasigroupCompletion + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.QuasigroupCompletion -compile_SendMostMoney: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/SendMostMoney.class +compile_SendMostMoney: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/SendMostMoney.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/SendMostMoney.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/SendMostMoney.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSendMostMoney.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/SendMostMoney.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/SendMostMoney.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSendMostMoney.java run_SendMostMoney: compile_SendMostMoney - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.SendMostMoney + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.SendMostMoney -compile_Seseman: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Seseman.class +compile_Seseman: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Seseman.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Seseman.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/Seseman.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSeseman.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Seseman.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/Seseman.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSeseman.java run_Seseman: compile_Seseman - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Seseman + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Seseman -compile_Sudoku: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Sudoku.class +compile_Sudoku: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Sudoku.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Sudoku.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/Sudoku.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSudoku.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Sudoku.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/Sudoku.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSudoku.java run_Sudoku: compile_Sudoku - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Sudoku + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Sudoku -compile_Xkcd: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Xkcd.class +compile_Xkcd: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Xkcd.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Xkcd.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/Xkcd.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SXkcd.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Xkcd.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/Xkcd.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SXkcd.java run_Xkcd: compile_Xkcd - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Xkcd + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Xkcd -compile_SurvoPuzzle: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/SurvoPuzzle.class +compile_SurvoPuzzle: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/SurvoPuzzle.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/SurvoPuzzle.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/SurvoPuzzle.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSurvoPuzzle.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/SurvoPuzzle.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/SurvoPuzzle.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SSurvoPuzzle.java run_SurvoPuzzle: compile_SurvoPuzzle - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.SurvoPuzzle + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.SurvoPuzzle -compile_Circuit: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Circuit.class +compile_Circuit: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Circuit.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/Circuit.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/Circuit.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SCircuit.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/Circuit.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/Circuit.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SCircuit.java run_Circuit: compile_Circuit - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Circuit + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.Circuit -compile_CoinsGrid: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/CoinsGrid.class +compile_CoinsGrid: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/CoinsGrid.class -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/CoinsGrid.class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/CoinsGrid.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SCoinsGrid.java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/CoinsGrid.class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/CoinsGrid.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$SCoinsGrid.java run_CoinsGrid: compile_CoinsGrid - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.CoinsGrid + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.CoinsGrid # javaalgorithms -javaalgorithms: $(OR_ROOT)lib/com.google.ortools.knapsacksolver.jar $(LIBPREFIX)jniknapsacksolver.$(JNILIBEXT) +javaalgorithms: $(LIB_DIR)/com.google.ortools.knapsacksolver.jar $(LIB_DIR)$(LIBPREFIX)jniknapsacksolver.$(JNILIBEXT) -$(OR_ROOT)gen/algorithms/knapsack_solver_java_wrap.cc: $(OR_ROOT)algorithms/knapsack_solver.swig $(OR_ROOT)base/base.swig $(OR_ROOT)util/data.swig $(OR_ROOT)algorithms/knapsack_solver.h - $(SWIG_BINARY) -I$(OR_ROOT_INC) -c++ -java -o $(OR_ROOT)gen$Salgorithms$Sknapsack_solver_java_wrap.cc -package com.google.ortools.knapsacksolver -outdir $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sknapsacksolver $(OR_ROOT)algorithms$Sknapsack_solver.swig +$(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 -$(OR_ROOT)objs/knapsack_solver_java_wrap.$O: $(OR_ROOT)gen/algorithms/knapsack_solver_java_wrap.cc - $(CCC) $(JNIFLAGS) $(JAVA_INC) -c $(OR_ROOT)gen$Salgorithms$Sknapsack_solver_java_wrap.cc $(OBJOUT)objs$Sknapsack_solver_java_wrap.$O +$(OBJ_DIR)/knapsack_solver_java_wrap.$O: $(GEN_DIR)/algorithms/knapsack_solver_java_wrap.cc + $(CCC) $(JNIFLAGS) $(JAVA_INC) -c $(GEN_DIR)$Salgorithms$Sknapsack_solver_java_wrap.cc $(OBJ_OUT)knapsack_solver_java_wrap.$O -$(OR_ROOT)lib/com.google.ortools.knapsacksolver.jar: $(OR_ROOT)gen/algorithms/knapsack_solver_java_wrap.cc - $(JAVAC_BIN) -d $(OR_ROOT)objs $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sknapsacksolver$S*.java - $(JAR_BIN) cf $(OR_ROOT)lib$Scom.google.ortools.knapsacksolver.jar -C $(OR_ROOT)objs com$Sgoogle$Sortools$Sknapsacksolver +$(LIB_DIR)/com.google.ortools.knapsacksolver.jar: $(GEN_DIR)/algorithms/knapsack_solver_java_wrap.cc + $(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 -$(LIBPREFIX)jniknapsacksolver.$(JNILIBEXT): $(OR_ROOT)objs/knapsack_solver_java_wrap.$O $(ALGORITHMS_DEPS) - $(LD) $(LDOUT)$(LIBPREFIX)jniknapsacksolver.$(JNILIBEXT) $(OR_ROOT)objs$Sknapsack_solver_java_wrap.$O $(ALGORITHMS_LNK) $(LDFLAGS) +$(LIB_DIR)$(LIBPREFIX)jniknapsacksolver.$(JNILIBEXT): $(OBJ_DIR)/knapsack_solver_java_wrap.$O $(ALGORITHMS_DEPS) + $(LD) $(LDOUT)$(LIB_DIR)$(LIBPREFIX)jniknapsacksolver.$(JNILIBEXT) $(OBJ_DIR)$Sknapsack_solver_java_wrap.$O $(ALGORITHMS_LNK) $(LDFLAGS) # Java Algorithms Examples -compile_Knapsack: $(OR_ROOT)objs/com/google/ortools/knapsacksolver/samples/Knapsack.class +compile_Knapsack: $(OBJ_DIR)/com/google/ortools/knapsacksolver/samples/Knapsack.class -$(OR_ROOT)objs/com/google/ortools/knapsacksolver/samples/Knapsack.class: javaalgorithms $(OR_ROOT)com/google/ortools/knapsacksolver/samples/Knapsack.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.knapsacksolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sknapsacksolver$Ssamples$SKnapsack.java +$(OBJ_DIR)/com/google/ortools/knapsacksolver/samples/Knapsack.class: javaalgorithms $(SRC_DIR)com/google/ortools/knapsacksolver/samples/Knapsack.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.knapsacksolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sknapsacksolver$Ssamples$SKnapsack.java run_Knapsack: compile_Knapsack - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.knapsacksolver.jar com.google.ortools.knapsacksolver.samples.Knapsack + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.knapsacksolver.jar com.google.ortools.knapsacksolver.samples.Knapsack # javagraph -javagraph: $(OR_ROOT)lib/com.google.ortools.graph.jar $(LIBPREFIX)jnigraph.$(JNILIBEXT) +javagraph: $(LIB_DIR)/com.google.ortools.graph.jar $(LIB_DIR)$(LIBPREFIX)jnigraph.$(JNILIBEXT) -$(OR_ROOT)gen/graph/graph_java_wrap.cc: $(OR_ROOT)graph/graph.swig $(OR_ROOT)base/base.swig $(OR_ROOT)util/data.swig $(OR_ROOT)graph/max_flow.h $(OR_ROOT)graph/min_cost_flow.h $(OR_ROOT)graph/linear_assignment.h - $(SWIG_BINARY) -I$(OR_ROOT_INC) -c++ -java -o $(OR_ROOT)gen$Sgraph$Sgraph_java_wrap.cc -package com.google.ortools.graph -outdir $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sgraph graph$Sgraph.swig +$(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 -$(OR_ROOT)objs/graph_java_wrap.$O: $(OR_ROOT)gen/graph/graph_java_wrap.cc - $(CCC) $(JNIFLAGS) $(JAVA_INC) -c $(OR_ROOT)gen$Sgraph$Sgraph_java_wrap.cc $(OBJOUT)objs$Sgraph_java_wrap.$O +$(OBJ_DIR)/graph_java_wrap.$O: $(GEN_DIR)/graph/graph_java_wrap.cc + $(CCC) $(JNIFLAGS) $(JAVA_INC) -c $(GEN_DIR)$Sgraph$Sgraph_java_wrap.cc $(OBJ_OUT)graph_java_wrap.$O -$(OR_ROOT)lib/com.google.ortools.graph.jar: $(OR_ROOT)gen/graph/graph_java_wrap.cc - $(JAVAC_BIN) -d $(OR_ROOT)objs $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Sgraph$S*.java - $(JAR_BIN) cf $(OR_ROOT)lib$Scom.google.ortools.graph.jar -C $(OR_ROOT)objs com$Sgoogle$Sortools$Sgraph +$(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 -$(LIBPREFIX)jnigraph.$(JNILIBEXT): $(OR_ROOT)objs/graph_java_wrap.$O $(GRAPH_DEPS) - $(LD) $(LDOUT)$(LIBPREFIX)jnigraph.$(JNILIBEXT) $(OR_ROOT)objs$Sgraph_java_wrap.$O $(GRAPH_LNK) $(LDFLAGS) +$(LIB_DIR)$(LIBPREFIX)jnigraph.$(JNILIBEXT): $(OBJ_DIR)/graph_java_wrap.$O $(GRAPH_DEPS) + $(LD) $(LDOUT)$(LIB_DIR)$(LIBPREFIX)jnigraph.$(JNILIBEXT) $(OBJ_DIR)$Sgraph_java_wrap.$O $(GRAPH_LNK) $(LDFLAGS) # Java Algorithms Examples -compile_FlowExample: $(OR_ROOT)objs/com/google/ortools/graph/samples/FlowExample.class +compile_FlowExample: $(OBJ_DIR)/com/google/ortools/graph/samples/FlowExample.class -$(OR_ROOT)objs/com/google/ortools/graph/samples/FlowExample.class: javagraph $(OR_ROOT)com/google/ortools/graph/samples/FlowExample.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.graph.jar $(OR_ROOT)com$Sgoogle$Sortools$Sgraph$Ssamples$SFlowExample.java +$(OBJ_DIR)/com/google/ortools/graph/samples/FlowExample.class: javagraph $(SRC_DIR)com/google/ortools/graph/samples/FlowExample.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.graph.jar $(SRC_DIR)com$Sgoogle$Sortools$Sgraph$Ssamples$SFlowExample.java run_FlowExample: compile_FlowExample javagraph - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.graph.jar com.google.ortools.graph.samples.FlowExample + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.graph.jar com.google.ortools.graph.samples.FlowExample -compile_LinearAssignmentAPI: $(OR_ROOT)objs/com/google/ortools/graph/samples/LinearAssignmentAPI.class +compile_LinearAssignmentAPI: $(OBJ_DIR)/com/google/ortools/graph/samples/LinearAssignmentAPI.class -$(OR_ROOT)objs/com/google/ortools/graph/samples/LinearAssignmentAPI.class: javagraph $(OR_ROOT)com/google/ortools/graph/samples/LinearAssignmentAPI.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.graph.jar $(OR_ROOT)com$Sgoogle$Sortools$Sgraph$Ssamples$SLinearAssignmentAPI.java +$(OBJ_DIR)/com/google/ortools/graph/samples/LinearAssignmentAPI.class: javagraph $(SRC_DIR)com/google/ortools/graph/samples/LinearAssignmentAPI.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.graph.jar $(SRC_DIR)com$Sgoogle$Sortools$Sgraph$Ssamples$SLinearAssignmentAPI.java run_LinearAssignmentAPI: compile_LinearAssignmentAPI javagraph - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.graph.jar com.google.ortools.graph.samples.LinearAssignmentAPI + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.graph.jar com.google.ortools.graph.samples.LinearAssignmentAPI # javalp -javalp: $(OR_ROOT)lib/com.google.ortools.linearsolver.jar $(LIBPREFIX)jnilinearsolver.$(JNILIBEXT) +javalp: $(LIB_DIR)/com.google.ortools.linearsolver.jar $(LIB_DIR)$(LIBPREFIX)jnilinearsolver.$(JNILIBEXT) -$(OR_ROOT)gen/linear_solver/linear_solver_java_wrap.cc: $(OR_ROOT)linear_solver/linear_solver.swig $(OR_ROOT)base/base.swig $(OR_ROOT)util/data.swig $(OR_ROOT)linear_solver/linear_solver.h $(OR_ROOT)gen/linear_solver/linear_solver.pb.h - $(SWIG_BINARY) $(SWIG_INC) -I$(OR_ROOT_INC) -c++ -java -o $(OR_ROOT)gen$Slinear_solver$Slinear_solver_java_wrap.cc -package com.google.ortools.linearsolver -outdir $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Slinearsolver $(OR_ROOT)linear_solver$Slinear_solver.swig +$(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 -$(OR_ROOT)objs/linear_solver_java_wrap.$O: $(OR_ROOT)gen/linear_solver/linear_solver_java_wrap.cc - $(CCC) $(JNIFLAGS) $(JAVA_INC) -c $(OR_ROOT)gen$Slinear_solver$Slinear_solver_java_wrap.cc $(OBJOUT)objs$Slinear_solver_java_wrap.$O +$(OBJ_DIR)/linear_solver_java_wrap.$O: $(GEN_DIR)/linear_solver/linear_solver_java_wrap.cc + $(CCC) $(JNIFLAGS) $(JAVA_INC) -c $(GEN_DIR)$Slinear_solver$Slinear_solver_java_wrap.cc $(OBJ_OUT)linear_solver_java_wrap.$O -$(OR_ROOT)lib/com.google.ortools.linearsolver.jar: $(OR_ROOT)gen/linear_solver/linear_solver_java_wrap.cc - $(JAVAC_BIN) -d $(OR_ROOT)objs $(OR_ROOT)gen$Scom$Sgoogle$Sortools$Slinearsolver$S*.java - $(JAR_BIN) cf $(OR_ROOT)lib$Scom.google.ortools.linearsolver.jar -C $(OR_ROOT)objs com$Sgoogle$Sortools$Slinearsolver +$(LIB_DIR)/com.google.ortools.linearsolver.jar: $(GEN_DIR)/linear_solver/linear_solver_java_wrap.cc + $(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 -$(LIBPREFIX)jnilinearsolver.$(JNILIBEXT): $(OR_ROOT)objs/linear_solver_java_wrap.$O $(LP_DEPS) - $(LD) $(LDOUT)$(LIBPREFIX)jnilinearsolver.$(JNILIBEXT) $(OR_ROOT)objs$Slinear_solver_java_wrap.$O $(LP_LNK) $(LDFLAGS) +$(LIB_DIR)$(LIBPREFIX)jnilinearsolver.$(JNILIBEXT): $(OBJ_DIR)/linear_solver_java_wrap.$O $(LP_DEPS) + $(LD) $(LDOUT)$(LIB_DIR)$(LIBPREFIX)jnilinearsolver.$(JNILIBEXT) $(OBJ_DIR)$Slinear_solver_java_wrap.$O $(LP_LNK) $(LDFLAGS) # Java Linear Programming Examples -compile_LinearProgramming: $(OR_ROOT)objs/com/google/ortools/linearsolver/samples/LinearProgramming.class +compile_LinearProgramming: $(OBJ_DIR)/com/google/ortools/linearsolver/samples/LinearProgramming.class -$(OR_ROOT)objs/com/google/ortools/linearsolver/samples/LinearProgramming.class: javalp $(OR_ROOT)com/google/ortools/linearsolver/samples/LinearProgramming.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.linearsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Slinearsolver$Ssamples$SLinearProgramming.java +$(OBJ_DIR)/com/google/ortools/linearsolver/samples/LinearProgramming.class: javalp $(SRC_DIR)com/google/ortools/linearsolver/samples/LinearProgramming.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.linearsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Slinearsolver$Ssamples$SLinearProgramming.java run_LinearProgramming: compile_LinearProgramming - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.linearsolver.jar com.google.ortools.linearsolver.samples.LinearProgramming + $(JAVA_BIN) -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.linearsolver.jar com.google.ortools.linearsolver.samples.LinearProgramming -compile_IntegerProgramming: $(OR_ROOT)objs/com/google/ortools/linearsolver/samples/IntegerProgramming.class +compile_IntegerProgramming: $(OBJ_DIR)/com/google/ortools/linearsolver/samples/IntegerProgramming.class -$(OR_ROOT)objs/com/google/ortools/linearsolver/samples/IntegerProgramming.class: javalp $(OR_ROOT)com/google/ortools/linearsolver/samples/IntegerProgramming.java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.linearsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Slinearsolver$Ssamples$SIntegerProgramming.java +$(OBJ_DIR)/com/google/ortools/linearsolver/samples/IntegerProgramming.class: javalp $(SRC_DIR)com/google/ortools/linearsolver/samples/IntegerProgramming.java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.linearsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Slinearsolver$Ssamples$SIntegerProgramming.java run_IntegerProgramming: compile_IntegerProgramming - $(JAVA_BIN) -Xss2048k -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.linearsolver.jar com.google.ortools.linearsolver.samples.IntegerProgramming + $(JAVA_BIN) -Xss2048k -Djava.library.path=$(LIB_DIR) -cp $(OBJ_DIR)$(CPSEP)$(LIB_DIR)$Scom.google.ortools.linearsolver.jar com.google.ortools.linearsolver.samples.IntegerProgramming # Compile and Run CP java example: -$(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/$(EX).class: javacp $(OR_ROOT)com/google/ortools/constraintsolver/samples/$(EX).java - $(JAVAC_BIN) -d $(OR_ROOT)objs -cp $(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar $(OR_ROOT)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$S$(EX).java +$(OBJ_DIR)/com/google/ortools/constraintsolver/samples/$(EX).class: javacp $(SRC_DIR)com/google/ortools/constraintsolver/samples/$(EX).java + $(JAVAC_BIN) -d $(OBJ_DIR) -cp $(LIB_DIR)$Scom.google.ortools.constraintsolver.jar $(SRC_DIR)com$Sgoogle$Sortools$Sconstraintsolver$Ssamples$S$(EX).java -cjava: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/$(EX).class com.google.ortools.constraintsolver.jar +cjava: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/$(EX).class com.google.ortools.constraintsolver.jar -rjava: $(OR_ROOT)objs/com/google/ortools/constraintsolver/samples/$(EX).class $(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT) com.google.ortools.constraintsolver.jar - $(JAVA_BIN) -Djava.library.path=$(OR_ROOT)lib -cp $(OR_ROOT)objs$(CPSEP)$(OR_ROOT)lib$Scom.google.ortools.constraintsolver.jar com.google.ortools.constraintsolver.samples.$(EX) +rjava: $(OBJ_DIR)/com/google/ortools/constraintsolver/samples/$(EX).class $(LIB_DIR)$(LIBPREFIX)jniconstraintsolver.$(JNILIBEXT) 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. @@ -346,7 +346,7 @@ java_archive: java $(MKDIR) temp $(MKDIR) temp$Sor-tools.$(PLATFORM) $(COPY) *.jar temp$Sor-tools.$(PLATFORM) - $(COPY) $(LIBPREFIX)jni*.$(JNILIBEXT) temp$Sor-tools.$(PLATFORM) + $(COPY) $(LIB_DIR)$(LIBPREFIX)jni*.$(JNILIBEXT) temp$Sor-tools.$(PLATFORM) ifeq ("$(SYSTEM)","win") tools\mkdir temp\or-tools.$(PLATFORM)\com tools\mkdir temp\or-tools.$(PLATFORM)\com\google diff --git a/makefiles/Makefile.python.mk b/makefiles/Makefile.python.mk index 11de6c7049..3ba2119303 100644 --- a/makefiles/Makefile.python.mk +++ b/makefiles/Makefile.python.mk @@ -5,116 +5,116 @@ python: pycp pyalgorithms pygraph pylp # Clean target clean_python: - -$(DEL) $(OR_ROOT)gen$Salgorithms$S*python_wrap* - -$(DEL) $(OR_ROOT)gen$Sconstraint_solver$S*python_wrap* - -$(DEL) $(OR_ROOT)gen$Sgraph$S*python_wrap* - -$(DEL) $(OR_ROOT)gen$Slinear_solver$S*python_wrap* - -$(DEL) $(OR_ROOT)gen$Salgorithms$S*.py - -$(DEL) $(OR_ROOT)gen$Sconstraint_solver$S*.py - -$(DEL) $(OR_ROOT)gen$Sgraph$S*.py - -$(DEL) $(OR_ROOT)gen$Slinear_solver$S*.py - -$(DEL) $(OR_ROOT)gen$Salgorithms$S*.pyc - -$(DEL) $(OR_ROOT)gen$Sconstraint_solver$S*.pyc - -$(DEL) $(OR_ROOT)gen$Sgraph$S*.pyc - -$(DEL) $(OR_ROOT)gen$Slinear_solver$S*.pyc - -$(DEL) $(OR_ROOT)lib$S_pywrap*.$(SHAREDLIBEXT) - -$(DEL) $(OR_ROOT)objs$S*python_wrap.$O + -$(DEL) $(GEN_DIR)$Salgorithms$S*python_wrap* + -$(DEL) $(GEN_DIR)$Sconstraint_solver$S*python_wrap* + -$(DEL) $(GEN_DIR)$Sgraph$S*python_wrap* + -$(DEL) $(GEN_DIR)$Slinear_solver$S*python_wrap* + -$(DEL) $(GEN_DIR)$Salgorithms$S*.py + -$(DEL) $(GEN_DIR)$Sconstraint_solver$S*.py + -$(DEL) $(GEN_DIR)$Sgraph$S*.py + -$(DEL) $(GEN_DIR)$Slinear_solver$S*.py + -$(DEL) $(GEN_DIR)$Salgorithms$S*.pyc + -$(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) $(OBJ_DIR)$S*python_wrap.$O # pywrapknapsack_solver -pyalgorithms: $(OR_ROOT)lib/_pywrapknapsack_solver.$(SHAREDLIBEXT) $(OR_ROOT)gen/algorithms/pywrapknapsack_solver.py +pyalgorithms: $(LIB_DIR)/_pywrapknapsack_solver.$(SHAREDLIBEXT) $(GEN_DIR)/algorithms/pywrapknapsack_solver.py -$(OR_ROOT)gen/algorithms/pywrapknapsack_solver.py: $(OR_ROOT)algorithms/knapsack_solver.swig $(OR_ROOT)algorithms/knapsack_solver.h $(OR_ROOT)base/base.swig - $(SWIG_BINARY) -I$(OR_ROOT_INC) -c++ -python -o $(OR_ROOT)gen$Salgorithms$Sknapsack_solver_python_wrap.cc -module pywrapknapsack_solver $(OR_ROOT)algorithms$Sknapsack_solver.swig +$(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 -$(OR_ROOT)gen/algorithms/knapsack_solver_python_wrap.cc: $(OR_ROOT)gen/algorithms/pywrapknapsack_solver.py +$(GEN_DIR)/algorithms/knapsack_solver_python_wrap.cc: $(GEN_DIR)/algorithms/pywrapknapsack_solver.py -$(OR_ROOT)objs/knapsack_solver_python_wrap.$O: $(OR_ROOT)gen/algorithms/knapsack_solver_python_wrap.cc - $(CCC) $(CFLAGS) $(PYTHON_INC) -c $(OR_ROOT)gen$Salgorithms$Sknapsack_solver_python_wrap.cc $(OBJOUT)objs$Sknapsack_solver_python_wrap.$O +$(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 -$(OR_ROOT)lib/_pywrapknapsack_solver.$(SHAREDLIBEXT): $(OR_ROOT)objs/knapsack_solver_python_wrap.$O $(ALGORITHMS_LIBS) $(LP_LIBS) $(BASE_LIBS) - $(LD) $(LDOUT)$(OR_ROOT)lib$S_pywrapknapsack_solver.$(SHAREDLIBEXT) $(OR_ROOT)objs$Sknapsack_solver_python_wrap.$O $(ALGORITHMS_LNK) $(LDFLAGS) $(PYTHON_LNK) +$(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) ifeq "$(SYSTEM)" "win" - copy $(OR_ROOT)lib\\_pywrapknapsack_solver.dll $(OR_ROOT)gen\\algorithms\\_pywrapknapsack_solver.pyd + copy $(LIB_DIR)\\_pywrapknapsack_solver.dll $(GEN_DIR)\\algorithms\\_pywrapknapsack_solver.pyd endif # pywrapgraph -pygraph: $(OR_ROOT)lib/_pywrapgraph.$(SHAREDLIBEXT) $(OR_ROOT)gen/graph/pywrapgraph.py +pygraph: $(LIB_DIR)/_pywrapgraph.$(SHAREDLIBEXT) $(GEN_DIR)/graph/pywrapgraph.py -$(OR_ROOT)gen/graph/pywrapgraph.py: $(OR_ROOT)graph/graph.swig $(OR_ROOT)graph/min_cost_flow.h $(OR_ROOT)graph/max_flow.h $(OR_ROOT)graph/ebert_graph.h $(OR_ROOT)base/base.swig - $(SWIG_BINARY) -I$(OR_ROOT_INC) -c++ -python -o $(OR_ROOT)gen$Sgraph$Spywrapgraph_python_wrap.cc -module pywrapgraph $(OR_ROOT)graph$Sgraph.swig +$(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 -$(OR_ROOT)gen/graph/pywrapgraph_python_wrap.cc: $(OR_ROOT)gen/graph/pywrapgraph.py +$(GEN_DIR)/graph/pywrapgraph_python_wrap.cc: $(GEN_DIR)/graph/pywrapgraph.py -$(OR_ROOT)objs/pywrapgraph_python_wrap.$O: $(OR_ROOT)gen/graph/pywrapgraph_python_wrap.cc - $(CCC) $(CFLAGS) $(PYTHON_INC) -c $(OR_ROOT)gen/graph/pywrapgraph_python_wrap.cc $(OBJOUT)objs$Spywrapgraph_python_wrap.$O +$(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 -$(OR_ROOT)lib/_pywrapgraph.$(SHAREDLIBEXT): $(OR_ROOT)objs/pywrapgraph_python_wrap.$O $(GRAPH_DEPS) - $(LD) $(LDOUT)$(OR_ROOT)lib$S_pywrapgraph.$(SHAREDLIBEXT) $(OR_ROOT)objs$Spywrapgraph_python_wrap.$O $(GRAPH_LNK) $(LDFLAGS) $(PYTHON_LNK) +$(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) ifeq "$(SYSTEM)" "win" - copy $(OR_ROOT)lib\\_pywrapgraph.dll $(OR_ROOT)gen\\graph\\_pywrapgraph.pyd + copy $(LIB_DIR)\\_pywrapgraph.dll $(GEN_DIR)\\graph\\_pywrapgraph.pyd endif # pywrapcp -pycp: $(OR_ROOT)lib/_pywrapcp.$(SHAREDLIBEXT) $(OR_ROOT)gen/constraint_solver/pywrapcp.py $(OR_ROOT)lib/_pywraprouting.$(SHAREDLIBEXT) $(OR_ROOT)gen/constraint_solver/pywraprouting.py +pycp: $(LIB_DIR)/_pywrapcp.$(SHAREDLIBEXT) $(GEN_DIR)/constraint_solver/pywrapcp.py $(LIB_DIR)/_pywraprouting.$(SHAREDLIBEXT) $(GEN_DIR)/constraint_solver/pywraprouting.py -$(OR_ROOT)gen/constraint_solver/pywrapcp.py: $(OR_ROOT)constraint_solver/constraint_solver.swig $(OR_ROOT)constraint_solver/constraint_solver.h $(OR_ROOT)constraint_solver/constraint_solveri.h $(OR_ROOT)base/base.swig - $(SWIG_BINARY) -I$(OR_ROOT_INC) -c++ -python -o $(OR_ROOT)gen$Sconstraint_solver$Sconstraint_solver_python_wrap.cc -module pywrapcp $(OR_ROOT)constraint_solver$Sconstraint_solver.swig +$(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 -$(OR_ROOT)gen/constraint_solver/constraint_solver_python_wrap.cc: $(OR_ROOT)gen/constraint_solver/pywrapcp.py +$(GEN_DIR)/constraint_solver/constraint_solver_python_wrap.cc: $(GEN_DIR)/constraint_solver/pywrapcp.py -$(OR_ROOT)objs/constraint_solver_python_wrap.$O: $(OR_ROOT)gen/constraint_solver/constraint_solver_python_wrap.cc - $(CCC) $(CFLAGS) $(PYTHON_INC) -c $(OR_ROOT)gen$Sconstraint_solver$Sconstraint_solver_python_wrap.cc $(OBJOUT)objs/constraint_solver_python_wrap.$O +$(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 -$(OR_ROOT)lib/_pywrapcp.$(SHAREDLIBEXT): $(OR_ROOT)objs/constraint_solver_python_wrap.$O $(CP_DEPS) - $(LD) $(LDOUT)$(OR_ROOT)lib$S_pywrapcp.$(SHAREDLIBEXT) $(OR_ROOT)objs$Sconstraint_solver_python_wrap.$O $(CP_LNK) $(LDFLAGS) $(PYTHON_LNK) +$(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) ifeq "$(SYSTEM)" "win" - copy $(OR_ROOT)lib\\_pywrapcp.dll $(OR_ROOT)gen\\constraint_solver\\_pywrapcp.pyd + copy $(LIB_DIR)\\_pywrapcp.dll $(GEN_DIR)\\constraint_solver\\_pywrapcp.pyd endif # pywraprouting -$(OR_ROOT)gen/constraint_solver/pywraprouting.py: $(OR_ROOT)constraint_solver/routing.swig $(OR_ROOT)constraint_solver/constraint_solver.h $(OR_ROOT)constraint_solver/constraint_solveri.h $(OR_ROOT)constraint_solver/routing.h $(OR_ROOT)base/base.swig - $(SWIG_BINARY) -I$(OR_ROOT_INC) -c++ -python -o $(OR_ROOT)gen$Sconstraint_solver$Srouting_python_wrap.cc -module pywraprouting $(OR_ROOT)constraint_solver$Srouting.swig +$(GEN_DIR)/constraint_solver/pywraprouting.py: $(SRC_DIR)constraint_solver/routing.swig $(SRC_DIR)constraint_solver/constraint_solver.h $(SRC_DIR)constraint_solver/constraint_solveri.h $(SRC_DIR)constraint_solver/routing.h $(SRC_DIR)base/base.swig + $(SWIG_BINARY) -I$(INC_DIR) -c++ -python -o $(GEN_DIR)$Sconstraint_solver$Srouting_python_wrap.cc -module pywraprouting $(SRC_DIR)constraint_solver$Srouting.swig -$(OR_ROOT)gen/constraint_solver/routing_python_wrap.cc: $(OR_ROOT)gen/constraint_solver/pywraprouting.py +$(GEN_DIR)/constraint_solver/routing_python_wrap.cc: $(GEN_DIR)/constraint_solver/pywraprouting.py -$(OR_ROOT)objs/routing_python_wrap.$O: $(OR_ROOT)gen/constraint_solver/routing_python_wrap.cc - $(CCC) $(CFLAGS) $(PYTHON_INC) -c $(OR_ROOT)gen/constraint_solver/routing_python_wrap.cc $(OBJOUT)objs/routing_python_wrap.$O +$(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 -$(OR_ROOT)lib/_pywraprouting.$(SHAREDLIBEXT): $(OR_ROOT)objs/routing_python_wrap.$O $(ROUTING_DEPS) - $(LD) $(LDOUT)$(OR_ROOT)lib$S_pywraprouting.$(SHAREDLIBEXT) $(OR_ROOT)objs$Srouting_python_wrap.$O $(ROUTING_LNK) $(LDFLAGS) $(PYTHON_LNK) +$(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) ifeq "$(SYSTEM)" "win" - copy $(OR_ROOT)lib\\_pywraprouting.dll $(OR_ROOT)gen\\constraint_solver\\_pywraprouting.pyd + copy $(LIB_DIR)\\_pywraprouting.dll $(GEN_DIR)\\constraint_solver\\_pywraprouting.pyd endif # pywraplp -pylp: $(OR_ROOT)lib/_pywraplp.$(SHAREDLIBEXT) $(OR_ROOT)gen/linear_solver/pywraplp.py +pylp: $(LIB_DIR)/_pywraplp.$(SHAREDLIBEXT) $(GEN_DIR)/linear_solver/pywraplp.py -$(OR_ROOT)gen/linear_solver/pywraplp.py: $(OR_ROOT)linear_solver/linear_solver.swig $(OR_ROOT)linear_solver/linear_solver.h $(OR_ROOT)base/base.swig $(OR_ROOT)gen/linear_solver/linear_solver.pb.h - $(SWIG_BINARY) $(SWIG_INC) -I$(OR_ROOT_INC) -c++ -python -o $(OR_ROOT)gen$Slinear_solver$Slinear_solver_python_wrap.cc -module pywraplp $(OR_ROOT)linear_solver$Slinear_solver.swig +$(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 -$(OR_ROOT)gen/linear_solver/linear_solver_python_wrap.cc: $(OR_ROOT)gen/linear_solver/pywraplp.py +$(GEN_DIR)/linear_solver/linear_solver_python_wrap.cc: $(GEN_DIR)/linear_solver/pywraplp.py -$(OR_ROOT)objs/linear_solver_python_wrap.$O: $(OR_ROOT)gen/linear_solver/linear_solver_python_wrap.cc - $(CCC) $(CFLAGS) $(PYTHON_INC) -c $(OR_ROOT)gen$Slinear_solver$Slinear_solver_python_wrap.cc $(OBJOUT)objs/linear_solver_python_wrap.$O +$(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 -$(OR_ROOT)lib/_pywraplp.$(SHAREDLIBEXT): $(OR_ROOT)objs/linear_solver_python_wrap.$O $(LP_DEPS) - $(LD) $(LDOUT)$(OR_ROOT)lib$S_pywraplp.$(SHAREDLIBEXT) $(OR_ROOT)objs$Slinear_solver_python_wrap.$O $(LP_LNK) $(LDFLAGS) $(PYTHON_LNK) +$(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) ifeq "$(SYSTEM)" "win" - copy $(OR_ROOT)lib\\_pywraplp.dll $(OR_ROOT)gen\\linear_solver\\_pywraplp.pyd + copy $(LIB_DIR)\\_pywraplp.dll $(GEN_DIR)\\linear_solver\\_pywraplp.pyd endif # Run a single example -rpy: $(OR_ROOT)lib/_pywraplp.$(SHAREDLIBEXT) $(OR_ROOT)lib/_pywrapcp.$(SHAREDLIBEXT) $(OR_ROOT)lib/_pywrapgraph.$(SHAREDLIBEXT) $(OR_ROOT)lib/_pywrapknapsack_solver.$(SHAREDLIBEXT) $(OR_ROOT)lib/_pywraprouting.$(SHAREDLIBEXT) $(OR_ROOT)python/$(EX).py +rpy: $(LIB_DIR)/_pywraplp.$(SHAREDLIBEXT) $(LIB_DIR)/_pywrapcp.$(SHAREDLIBEXT) $(LIB_DIR)/_pywrapgraph.$(SHAREDLIBEXT) $(LIB_DIR)/_pywrapknapsack_solver.$(SHAREDLIBEXT) $(LIB_DIR)/_pywraprouting.$(SHAREDLIBEXT) $(SRC_DIR)python/$(EX).py ifeq ($(SYSTEM),win) @echo Running python$S$(EX).py - @set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)$Spython $(OR_ROOT)python$S$(EX).py + @set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)$Spython $(SRC_DIR)python$S$(EX).py else @echo Running python$S$(EX).py - @PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(OR_ROOT)python$S$(EX).py + @PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(SRC_DIR)python$S$(EX).py endif diff --git a/makefiles/Makefile.test.unix b/makefiles/Makefile.test.unix index 8adcb966dc..ffbc1598fd 100644 --- a/makefiles/Makefile.test.unix +++ b/makefiles/Makefile.test.unix @@ -2,31 +2,31 @@ test: test_cc test_python test_java test_csharp test_cc: cc - $(OR_ROOT)bin/golomb --size=5 - $(OR_ROOT)bin/cvrptw - $(OR_ROOT)bin/flow_api - $(OR_ROOT)bin/linear_programming - $(OR_ROOT)bin/integer_programming + $(BIN_DIR)/golomb --size=5 + $(BIN_DIR)/cvrptw + $(BIN_DIR)/flow_api + $(BIN_DIR)/linear_programming + $(BIN_DIR)/integer_programming test_python: python - PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(OR_ROOT)python/hidato_table.py - PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(OR_ROOT)python/tsp.py - PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(OR_ROOT)python/pyflow_example.py - PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(OR_ROOT)python/knapsack.py - PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(OR_ROOT)python/linear_programming.py - PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(OR_ROOT)python/integer_programming.py + PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(SRC_DIR)python/hidato_table.py + PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(SRC_DIR)python/tsp.py + PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(SRC_DIR)python/pyflow_example.py + PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(SRC_DIR)python/knapsack.py + PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(SRC_DIR)python/linear_programming.py + PYTHONPATH=$(OR_ROOT_FULL) python$(PYTHONVERSION) $(SRC_DIR)python/integer_programming.py test_java: java run_RabbitsPheasants run_FlowExample run_LinearProgramming run_IntegerProgramming run_Knapsack # csharp test -test_csharp: $(CSHARPEXE) $(BINPREFIX)/testlp.exe $(BINPREFIX)/testcp.exe - $(MONO) $(BINPREFIX)/cslinearprogramming.exe - $(MONO) $(BINPREFIX)/csintegerprogramming.exe - $(MONO) $(BINPREFIX)/csrabbitspheasants.exe - $(MONO) $(BINPREFIX)/csflow.exe - $(MONO) $(BINPREFIX)/csknapsack.exe - $(MONO) $(BINPREFIX)/furniture_moving_intervals.exe - $(MONO) $(BINPREFIX)/organize_day_intervals.exe - $(MONO) $(BINPREFIX)/cstsp.exe - $(MONO) $(BINPREFIX)/testlp.exe - $(MONO) $(BINPREFIX)/testcp.exe +test_csharp: $(CSHARPEXE) $(BIN_DIR)/testlp.exe $(BIN_DIR)/testcp.exe + $(MONO) $(BIN_DIR)/cslinearprogramming.exe + $(MONO) $(BIN_DIR)/csintegerprogramming.exe + $(MONO) $(BIN_DIR)/csrabbitspheasants.exe + $(MONO) $(BIN_DIR)/csflow.exe + $(MONO) $(BIN_DIR)/csknapsack.exe + $(MONO) $(BIN_DIR)/furniture_moving_intervals.exe + $(MONO) $(BIN_DIR)/organize_day_intervals.exe + $(MONO) $(BIN_DIR)/cstsp.exe + $(MONO) $(BIN_DIR)/testlp.exe + $(MONO) $(BIN_DIR)/testcp.exe diff --git a/makefiles/Makefile.test.win b/makefiles/Makefile.test.win index 987d3e4cb1..fcf0537f56 100644 --- a/makefiles/Makefile.test.win +++ b/makefiles/Makefile.test.win @@ -1,34 +1,34 @@ test: test_cc test_python test_java test_csharp test_cc: cc - $(BINPREFIX)\\golomb --size=5 - $(BINPREFIX)\\cvrptw - $(BINPREFIX)\\flow_api - $(BINPREFIX)\\linear_programming - $(BINPREFIX)\\integer_programming - $(BINPREFIX)\\tsp + $(BIN_DIR)\\golomb --size=5 + $(BIN_DIR)\\cvrptw + $(BIN_DIR)\\flow_api + $(BIN_DIR)\\linear_programming + $(BIN_DIR)\\integer_programming + $(BIN_DIR)\\tsp test_python: python - set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(OR_ROOT)python\\hidato_table.py - set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(OR_ROOT)python\\tsp.py - set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(OR_ROOT)python\\pyflow_example.py - set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(OR_ROOT)python\\knapsack.py - set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(OR_ROOT)python\\linear_programming.py - set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(OR_ROOT)python\\integer_programming.py + set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(SRC_DIR)python\\hidato_table.py + set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(SRC_DIR)python\\tsp.py + set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(SRC_DIR)python\\pyflow_example.py + set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(SRC_DIR)python\\knapsack.py + set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(SRC_DIR)python\\linear_programming.py + set PYTHONPATH=$(OR_ROOT_FULL) && $(WINDOWS_PYTHON_PATH)\\python $(SRC_DIR)python\\integer_programming.py test_java: java run_RabbitsPheasants run_FlowExample run_LinearProgramming run_IntegerProgramming run_Knapsack # csharp test -test_csharp: $(CSHARPEXE) $(BINPREFIX)\\testlp.exe - $(BINPREFIX)\\cslinearprogramming.exe - $(BINPREFIX)\\csintegerprogramming.exe - $(BINPREFIX)\\csrabbitspheasants.exe - $(BINPREFIX)\\csflow.exe - $(BINPREFIX)\\csknapsack.exe - $(BINPREFIX)\\furniture_moving_intervals.exe - $(BINPREFIX)\\organize_day_intervals.exe - $(BINPREFIX)\\cstsp.exe - $(BINPREFIX)\\testlp.exe +test_csharp: $(CSHARPEXE) $(BIN_DIR)\\testlp.exe + $(BIN_DIR)\\cslinearprogramming.exe + $(BIN_DIR)\\csintegerprogramming.exe + $(BIN_DIR)\\csrabbitspheasants.exe + $(BIN_DIR)\\csflow.exe + $(BIN_DIR)\\csknapsack.exe + $(BIN_DIR)\\furniture_moving_intervals.exe + $(BIN_DIR)\\organize_day_intervals.exe + $(BIN_DIR)\\cstsp.exe + $(BIN_DIR)\\testlp.exe diff --git a/makefiles/Makefile.unix b/makefiles/Makefile.unix index 9fff369787..d660b110e5 100644 --- a/makefiles/Makefile.unix +++ b/makefiles/Makefile.unix @@ -153,10 +153,10 @@ ifeq ($(PLATFORM),MACOSX) endif endif # MAC OS X -CFLAGS = $(SYSCFLAGS) $(DEBUG) -I$(OR_ROOT_INC) -I$(OR_ROOT)gen $(GFLAGS_INC) $(ARCH) \ +CFLAGS = $(SYSCFLAGS) $(DEBUG) -I$(INC_DIR) -I$(OR_ROOT)gen $(GFLAGS_INC) $(ARCH) \ -Wno-deprecated $(PROTOBUF_INC) $(CBC_INC) $(CLP_INC) $(GLPK_INC) \ $(SCIP_INC) $(SPARSEHASH_INC) -JNIFLAGS = $(SYSCFLAGS) $(JNIDEBUG) -I$(OR_ROOT_INC) -I$(OR_ROOT)gen $(GFLAGS_INC) $(ARCH) \ +JNIFLAGS = $(SYSCFLAGS) $(JNIDEBUG) -I$(INC_DIR) -I$(OR_ROOT)gen $(GFLAGS_INC) $(ARCH) \ -Wno-deprecated $(PROTOBUF_INC) $(CBC_INC) $(CLP_INC) $(GLPK_INC) $(SCIP_INC) LDFLAGS = $(GFLAGS_LNK) $(ZLIB_LNK) $(PROTOBUF_LNK) $(SYS_LNK) LDLPDEPS = $(GLPK_LNK) $(CBC_LNK) $(CLP_LNK) $(SCIP_LNK) @@ -167,19 +167,23 @@ SWIG_BINARY = $(UNIX_SWIG_BINARY) MKDIR=mkdir COPY=cp TOUCH=touch +LIBPREFIX = lib ifeq ($(PLATFORM),MACOSX) # Keep the path in the lib as it is stored upon construction. -LIBPREFIX = $(OR_ROOT_FULL)/lib/lib +LIB_DIR = $(OR_ROOT_FULL)/lib else # No need to keep the path in the lib, it is not stored there on linux. -LIBPREFIX = $(OR_ROOT)lib/lib +LIB_DIR = $(OR_ROOT)lib endif -BINPREFIX = $(OR_ROOT)bin +BIN_DIR = $(OR_ROOT)bin +GEN_DIR = $(OR_ROOT)gen +OBJ_DIR = $(OR_ROOT)objs +SRC_DIR = $(OR_ROOT) O = o E = SHAREDLIBEXT = so LDOUT = -o # need the space. -OBJOUT = -o $(OR_ROOT) -EXEOUT = -o $(OR_ROOT)bin/ +OBJ_OUT = -o $(OBJ_DIR)/ +EXEOUT = -o $(BIN_DIR)/ DEL = rm -f DELREC = rm -rf S = / diff --git a/makefiles/Makefile.win b/makefiles/Makefile.win index c11bdb734d..abdb931ae0 100644 --- a/makefiles/Makefile.win +++ b/makefiles/Makefile.win @@ -56,16 +56,20 @@ LDLPDEPS=$(CBC_LNK) $(CLP_LNK) $(GLPK_LNK) # Windows specific definitions PROTOBUF_DIR=$(WINDOWS_PROTOBUF_DIR) SWIG_BINARY=$(WINDOWS_SWIG_BINARY) -LIBPREFIX=$(OR_ROOT)lib\\ +LIB_DIR = $(OR_ROOT)lib +LIBPREFIX = LIBSUFFIX=lib -BINPREFIX=$(OR_ROOT)bin +BIN_DIR=$(OR_ROOT)bin +GEN_DIR=$(OR_ROOT)gen +OBJ_DIR=$(OR_ROOT)objs +SRC_DIR=$(OR_ROOT) LINKCMD=lib LINKPREFIX=/OUT: PRE_LIB = $(OR_ROOT)lib\\ POST_LIB = .lib O=obj E=.exe -OBJOUT=/Fo +OBJ_OUT=/Fo$(OR_ROOT)objs\\ EXEOUT=/Fe$(OR_ROOT)bin\\ SHAREDLIBEXT=dll JNILIBEXT=dll