Rework *EX_DIR/*EX_PATH macro

This commit is contained in:
Corentin Le Molgat
2018-09-18 10:10:25 +02:00
parent 6bbf49935b
commit 4bb95a8193
5 changed files with 74 additions and 67 deletions

View File

@@ -43,6 +43,7 @@ cc: $(OR_TOOLS_LIBS)
test_cc: \
ccexe \
test_cc_tests \
test_cc_samples \
test_cc_examples
test_fz: \
@@ -182,7 +183,7 @@ endif
CVRPTW_LIBS = $(LIB_DIR)/$(LIB_PREFIX)cvrptw_lib.$L
CVRPTW_PATH = $(subst /,$S,$(CVRPTW_LIBS))
CVRPTW_DEPS = \
$(EX_DIR)/cpp/cvrptw_lib.h \
$(CC_EX_DIR)/cvrptw_lib.h \
$(CP_DEPS)
CVRPTW_LNK = $(PRE_LIB)cvrptw_lib$(POST_LIB) $(OR_TOOLS_LNK)
ifeq ($(PLATFORM),MACOSX)
@@ -193,8 +194,8 @@ cvrptwlibs: $(CVRPTW_LIBS)
DIMACS_LIBS = $(LIB_DIR)/$(LIB_PREFIX)dimacs.$L
DIMACS_PATH = $(subst /,$S,$(DIMACS_LIBS))
DIMACS_DEPS = \
$(EX_DIR)/cpp/parse_dimacs_assignment.h \
$(EX_DIR)/cpp/print_dimacs_assignment.h \
$(CC_EX_DIR)/parse_dimacs_assignment.h \
$(CC_EX_DIR)/print_dimacs_assignment.h \
$(GRAPH_DEPS)
DIMACS_LNK = $(PRE_LIB)dimacs$(POST_LIB) $(OR_TOOLS_LNK)
ifeq ($(PLATFORM),MACOSX)
@@ -205,9 +206,9 @@ dimacslibs: $(DIMACS_LIBS)
FAP_LIBS = $(LIB_DIR)/$(LIB_PREFIX)fap.$L
FAP_PATH = $(subst /,$S,$(FAP_LIBS))
FAP_DEPS = \
$(EX_DIR)/cpp/fap_model_printer.h \
$(EX_DIR)/cpp/fap_parser.h \
$(EX_DIR)/cpp/fap_utilities.h \
$(CC_EX_DIR)/fap_model_printer.h \
$(CC_EX_DIR)/fap_parser.h \
$(CC_EX_DIR)/fap_utilities.h \
$(CP_DEPS) \
$(LP_DEPS)
FAP_LNK = $(PRE_LIB)fap$(POST_LIB) $(OR_TOOLS_LNK)
@@ -294,11 +295,11 @@ ccexe: \
# CVRPTW common library
CVRPTW_OBJS = $(OBJ_DIR)/cvrptw_lib.$O
$(CVRPTW_OBJS): \
$(EX_DIR)/cpp/cvrptw_lib.cc \
$(EX_DIR)/cpp/cvrptw_lib.h \
$(CC_EX_DIR)/cvrptw_lib.cc \
$(CC_EX_DIR)/cvrptw_lib.h \
$(CP_DEPS) \
| $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/cvrptw_lib.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrptw_lib.$O
$(CCC) $(CFLAGS) -c $(CC_EX_PATH)$Scvrptw_lib.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrptw_lib.$O
$(CVRPTW_LIBS): $(OR_TOOLS_LIBS) $(CVRPTW_OBJS) | $(LIB_DIR)
$(LINK_CMD) \
@@ -334,22 +335,22 @@ $(FAP_LIBS): $(OR_TOOLS_LIBS) $(FAP_OBJS) | $(LIB_DIR)
$(OR_TOOLS_LDFLAGS)
# CVRP Problem
$(OBJ_DIR)/cvrp%.$O: $(EX_DIR)/cpp/cvrp%.cc $(CVRPTW_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp$Scvrp$*.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrp$*.$O
$(OBJ_DIR)/cvrp%.$O: $(CC_EX_DIR)/cvrp%.cc $(CVRPTW_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(CC_EX_PATH)$Scvrp$*.cc $(OBJ_OUT)$(OBJ_DIR)$Scvrp$*.$O
$(BIN_DIR)/cvrp%$E: $(OR_TOOLS_LIBS) $(CVRPTW_LIBS) $(OBJ_DIR)/cvrp%.$O | $(BIN_DIR)
$(CCC) $(CFLAGS) $(OBJ_DIR)$Scvrp$*.$O $(CVRPTW_LNK) $(OR_TOOLS_LDFLAGS) $(EXE_OUT)$(BIN_DIR)$Scvrp$*$E
# Dimacs Assignment Problem
$(OBJ_DIR)/dimacs_assignment.$O: $(EX_DIR)/cpp/dimacs_assignment.cc $(DIMACS_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp$Sdimacs_assignment.cc $(OBJ_OUT)$(OBJ_DIR)$Sdimacs_assignment.$O
$(OBJ_DIR)/dimacs_assignment.$O: $(CC_EX_DIR)/dimacs_assignment.cc $(DIMACS_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(CC_EX_PATH)$Sdimacs_assignment.cc $(OBJ_OUT)$(OBJ_DIR)$Sdimacs_assignment.$O
$(BIN_DIR)/dimacs_assignment$E: $(DIMACS_LIBS) $(OR_TOOLS_LIBS) $(OBJ_DIR)/dimacs_assignment.$O | $(BIN_DIR)
$(CCC) $(CFLAGS) $(OBJ_DIR)$Sdimacs_assignment.$O $(DIMACS_LNK) $(OR_TOOLS_LDFLAGS) $(EXE_OUT)$(BIN_DIR)$Sdimacs_assignment$E
# Frequency Assignment Problem
$(OBJ_DIR)/frequency_assignment_problem.$O: $(EX_DIR)/cpp/frequency_assignment_problem.cc $(FAP_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp/frequency_assignment_problem.cc $(OBJ_OUT)$(OBJ_DIR)$Sfrequency_assignment_problem.$O
$(OBJ_DIR)/frequency_assignment_problem.$O: $(CC_EX_DIR)/frequency_assignment_problem.cc $(FAP_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(CC_EX_PATH)$Sfrequency_assignment_problem.cc $(OBJ_OUT)$(OBJ_DIR)$Sfrequency_assignment_problem.$O
$(BIN_DIR)/frequency_assignment_problem$E: $(FAP_LIBS) $(OR_TOOLS_LIBS) $(OBJ_DIR)/frequency_assignment_problem.$O | $(BIN_DIR)
$(CCC) $(CFLAGS) $(OBJ_DIR)/frequency_assignment_problem.$O $(FAP_LNK) $(OR_TOOLS_LDFLAGS) $(EXE_OUT)$(BIN_DIR)$Sfrequency_assignment_problem$E
@@ -416,8 +417,8 @@ $(FLATZINC_LIBS): $(OR_TOOLS_LIBS) $(FLATZINC_OBJS) | $(LIB_DIR)
$(OR_TOOLS_LNK) \
$(OR_TOOLS_LDFLAGS)
$(OBJ_DIR)/boolean_test.$O: $(EX_DIR)/tests/boolean_test.cc $(FLATZINC_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(EX_DIR)$Stests$Sboolean_test.cc $(OBJ_OUT)$(OBJ_DIR)$Sboolean_test.$O
$(OBJ_DIR)/boolean_test.$O: $(TEST_DIR)/boolean_test.cc $(FLATZINC_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(TEST_PATH)$Sboolean_test.cc $(OBJ_OUT)$(OBJ_DIR)$Sboolean_test.$O
$(BIN_DIR)/boolean_test$E: $(OBJ_DIR)/boolean_test.$O $(FLATZINC_LIBS) | $(BIN_DIR)
$(CCC) $(CFLAGS) $(OBJ_DIR)$Sboolean_test.$O $(FLATZINC_LNK) $(OR_TOOLS_LDFLAGS) $(EXE_OUT)$(BIN_DIR)$Sboolean_test$E
@@ -440,23 +441,17 @@ $(BIN_DIR)/parser_main$E: $(OBJ_DIR)/flatzinc/parser_main.$O $(FLATZINC_LIBS) $(
sat: $(BIN_DIR)/sat_runner$E
$(OBJ_DIR)/sat_runner.$O: \
$(EX_DIR)/cpp/sat_runner.cc \
$(EX_DIR)/cpp/opb_reader.h \
$(EX_DIR)/cpp/sat_cnf_reader.h \
$(CC_EX_DIR)/sat_runner.cc \
$(CC_EX_DIR)/opb_reader.h \
$(CC_EX_DIR)/sat_cnf_reader.h \
$(SAT_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp$Ssat_runner.cc $(OBJ_OUT)$(OBJ_DIR)$Ssat_runner.$O
$(CCC) $(CFLAGS) -c $(CC_EX_PATH)$Ssat_runner.cc $(OBJ_OUT)$(OBJ_DIR)$Ssat_runner.$O
############################
## CPP Examples/Samples ##
############################
.PHONY: test_cc_examples # Build and Run all C++ Examples (located in examples/cpp)
test_cc_examples: cc
$(MAKE) rcc_golomb ARGS="--size=5"
$(MAKE) rcc_cvrptw
$(MAKE) rcc_flow_api
$(MAKE) rcc_linear_programming
$(MAKE) rcc_integer_programming
$(MAKE) rcc_tsp
.PHONY: test_cc_tests # Build and Run all C++ Examples (located in examples/tests)
test_cc_tests: cc
$(MAKE) rcc_ac4r_table_test
$(MAKE) rcc_boolean_test
$(MAKE) rcc_bug_fz1
@@ -468,6 +463,21 @@ test_cc_examples: cc
$(MAKE) rcc_min_max_test
$(MAKE) rcc_visitor_test
$(OBJ_DIR)/%.$O: $(TEST_DIR)/%.cc $(CP_DEPS) $(SAT_DEPS) $(LP_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(TEST_PATH)$S$*.cc $(OBJ_OUT)$(OBJ_DIR)$S$*.$O
.PHONY: test_cc_examples # Build and Run all C++ Examples (located in examples/cpp)
test_cc_examples: cc
$(MAKE) rcc_golomb ARGS="--size=5"
$(MAKE) rcc_cvrptw
$(MAKE) rcc_flow_api
$(MAKE) rcc_linear_programming
$(MAKE) rcc_integer_programming
$(MAKE) rcc_tsp
$(OBJ_DIR)/%.$O: $(CC_EX_DIR)/%.cc $(CP_DEPS) $(SAT_DEPS) $(LP_DEPS)| $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(CC_EX_PATH)$S$*.cc $(OBJ_OUT)$(OBJ_DIR)$S$*.$O
.PHONY: test_cc_samples # Build and Run all C++ Samples (located in ortools/*/samples)
test_cc_samples: cc
$(MAKE) rcc_binpacking_problem
@@ -487,13 +497,6 @@ test_cc_samples: cc
$(MAKE) rcc_solve_with_time_limit
$(MAKE) rcc_stop_after_n_solutions
# Generic CPP rules
$(OBJ_DIR)/%.$O: $(EX_DIR)/tests/%.cc $(CP_DEPS) $(SAT_DEPS) $(LP_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(EX_DIR)$Stests$S$*.cc $(OBJ_OUT)$(OBJ_DIR)$S$*.$O
$(OBJ_DIR)/%.$O: $(EX_DIR)/cpp/%.cc $(CP_DEPS) $(SAT_DEPS) $(LP_DEPS)| $(OBJ_DIR)
$(CCC) $(CFLAGS) -c $(EX_DIR)$Scpp$S$*.cc $(OBJ_OUT)$(OBJ_DIR)$S$*.$O
$(OBJ_DIR)/%.$O: ortools/sat/samples/%.cc $(CP_DEPS) $(SAT_DEPS) $(LP_DEPS) | $(OBJ_DIR)
$(CCC) $(CFLAGS) -c ortools$Ssat$Ssamples$S$*.cc $(OBJ_OUT)$(OBJ_DIR)$S$*.$O
@@ -508,8 +511,8 @@ test_fz_examples: fz
$(MAKE) rfz_golomb
$(MAKE) rfz_alpha
rfz_%: fz $(EX_DIR)/flatzinc/%.fzn
$(BIN_DIR)$Sfz$E $(EX_PATH)$Sflatzinc$S$*.fzn
rfz_%: fz $(FZ_EX_DIR)/%.fzn
$(BIN_DIR)$Sfz$E $(FZ_EX_PATH)$S$*.fzn
####################
## C++ Examples ##
####################
@@ -709,7 +712,7 @@ detect_cc:
@echo DEPENDENCIES_LNK = $(DEPENDENCIES_LNK)
@echo SRC_DIR = $(SRC_DIR)
@echo GEN_DIR = $(GEN_DIR)
@echo EX_DIR = $(EX_DIR)
@echo CC_EX_DIR = $(CC_EX_DIR)
@echo OBJ_DIR = $(OBJ_DIR)
@echo LIB_DIR = $(LIB_DIR)
@echo BIN_DIR = $(BIN_DIR)

View File

@@ -413,11 +413,11 @@ test_dotnet_tests: $(DOTNET_ORTOOLS_NUPKG)
$(MAKE) rdotnet_test_sat_model
rdotnet_%: \
$(DOTNET_TEST_DIR)/%.cs \
$(DOTNET_TEST_DIR)/%.csproj \
$(TEST_DIR)/%.cs \
$(TEST_DIR)/%.csproj \
$(DOTNET_ORTOOLS_NUPKG)
"$(DOTNET_BIN)" build $(DOTNET_TEST_PATH)$S$*.csproj
"$(DOTNET_BIN)" run --no-build --project $(DOTNET_TEST_PATH)$S$*.csproj -- $(ARGS)
"$(DOTNET_BIN)" build $(TEST_PATH)$S$*.csproj
"$(DOTNET_BIN)" run --no-build --project $(TEST_PATH)$S$*.csproj -- $(ARGS)
.PHONY: test_dotnet_examples # Build and Run all .Net Examples (located in examples/dotnet)
test_dotnet_examples: test_dotnet_examples_csharp test_dotnet_examples_fsharp
@@ -685,8 +685,8 @@ clean_dotnet:
-$(DEL) $(BIN_DIR)$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).*
-$(DELREC) $(DOTNET_EX_PATH)$Sbin
-$(DELREC) $(DOTNET_EX_PATH)$Sobj
-$(DELREC) $(DOTNET_TEST_PATH)$Sbin
-$(DELREC) $(DOTNET_TEST_PATH)$Sobj
-$(DELREC) $(TEST_PATH)$Sbin
-$(DELREC) $(TEST_PATH)$Sobj
-$(DELREC) ortools$Ssat$Ssamples$Sbin
-$(DELREC) ortools$Ssat$Ssamples$Sobj
-$(DELREC) $(TEMP_DOTNET_DIR)

View File

@@ -622,8 +622,18 @@ test_python_examples: python
$(MAKE) rpy_xkcd
$(MAKE) rpy_young_tableaux
$(MAKE) rpy_zebra
$(SET_PYTHONPATH) "$(PYTHON_EXECUTABLE)" $(EX_DIR)$Stests$Stest_cp_api.py
$(SET_PYTHONPATH) "$(PYTHON_EXECUTABLE)" $(EX_DIR)$Stests$Stest_lp_api.py
$(SET_PYTHONPATH) "$(PYTHON_EXECUTABLE)" $(TEST_PATH)$Stest_cp_api.py
$(SET_PYTHONPATH) "$(PYTHON_EXECUTABLE)" $(TEST_PATH)$Stest_lp_api.py
rpy_%: \
$(PYTHON_EX_DIR)/%.py \
$(PYLP_LIBS) \
$(PYCP_LIBS) \
$(PYGRAPH_LIBS) \
$(PYALGORITHMS_LIBS) \
$(PYSAT_LIBS) \
$(PYDATA_LIBS)
$(SET_PYTHONPATH) "$(PYTHON_EXECUTABLE)" $(PYTHON_EX_PATH)$S$*.py $(ARGS)
.PHONY: test_python_samples # Run all Python Samples (located in ortools/*/python)
test_python_samples: python
@@ -644,16 +654,6 @@ test_python_samples: python
$(MAKE) rpy_solve_with_time_limit
$(MAKE) rpy_stop_after_n_solutions
rpy_%: \
$(PYTHON_EX_DIR)/%.py \
$(PYLP_LIBS) \
$(PYCP_LIBS) \
$(PYGRAPH_LIBS) \
$(PYALGORITHMS_LIBS) \
$(PYSAT_LIBS) \
$(PYDATA_LIBS)
$(SET_PYTHONPATH) "$(PYTHON_EXECUTABLE)" $(PYTHON_EX_PATH)$S$*.py $(ARGS)
rpy_%: \
ortools/sat/samples/%.py \
$(PYLP_LIBS) \

View File

@@ -13,8 +13,12 @@ GEN_PATH = $(subst /,$S,$(GEN_DIR))
OBJ_DIR = $(OR_ROOT)objs
LIB_DIR = $(OR_ROOT)lib
BIN_DIR = $(OR_ROOT)bin
EX_DIR = $(OR_ROOT)examples
EX_PATH = $(subst /,$S,$(EX_DIR))
TEST_DIR = $(OR_ROOT)examples/tests
TEST_PATH = $(subst /,$S,$(TEST_DIR))
CC_EX_DIR = $(OR_ROOT)examples/cpp
CC_EX_PATH = $(subst /,$S,$(CC_EX_DIR))
FZ_EX_DIR = $(OR_ROOT)examples/flatzinc
FZ_EX_PATH = $(subst /,$S,$(FZ_EX_DIR))
# Python relevant directory
PYTHON_EX_DIR = $(OR_ROOT)examples/python
PYTHON_EX_PATH = $(subst /,$S,$(PYTHON_EX_DIR))
@@ -28,8 +32,6 @@ JAVA_TEST_PATH = $(subst /,$S,$(JAVA_TEST_DIR))
PACKAGE_DIR = $(OR_ROOT)packages
DOTNET_EX_DIR = $(OR_ROOT)examples/dotnet
DOTNET_EX_PATH = $(subst /,$S,$(DOTNET_EX_DIR))
DOTNET_TEST_DIR = $(OR_ROOT)examples/tests
DOTNET_TEST_PATH = $(subst /,$S,$(DOTNET_TEST_DIR))
O = o
ifeq ($(PLATFORM),LINUX)
@@ -242,7 +244,7 @@ ifeq ($(PLATFORM),MACOSX)
-Wl,-rpath,@loader_path/../../../../dependencies/install/lib
endif # ifeq ($(PLATFORM),MACOSX)
DEPENDENCIES_INC = -I$(INC_DIR) -I$(EX_DIR) -I$(GEN_DIR) \
DEPENDENCIES_INC = -I$(INC_DIR) -I$(GEN_DIR) \
$(GFLAGS_INC) $(GLOG_INC) $(PROTOBUF_INC) \
$(COIN_INC) \
-Wno-deprecated -DUSE_GLOP -DUSE_BOP \

View File

@@ -23,8 +23,12 @@ GEN_PATH = $(subst /,$S,$(GEN_DIR))
OBJ_DIR = $(OR_ROOT)objs
LIB_DIR = $(OR_ROOT)lib
BIN_DIR = $(OR_ROOT)bin
EX_DIR = $(OR_ROOT)examples
EX_PATH = $(subst /,$S,$(EX_DIR))
TEST_DIR = $(OR_ROOT)examples/tests
TEST_PATH = $(subst /,$S,$(TEST_DIR))
CC_EX_DIR = $(OR_ROOT)examples/cpp
CC_EX_PATH = $(subst /,$S,$(CC_EX_DIR))
FZ_EX_DIR = $(OR_ROOT)examples/flatzinc
FZ_EX_PATH = $(subst /,$S,$(FZ_EX_DIR))
# Python relevant directory
PYTHON_EX_DIR = $(OR_ROOT)examples/python
PYTHON_EX_PATH = $(subst /,$S,$(PYTHON_EX_DIR))
@@ -38,8 +42,6 @@ JAVA_TEST_PATH = $(subst /,$S,$(JAVA_TEST_DIR))
PACKAGE_DIR = $(OR_ROOT)packages
DOTNET_EX_DIR = $(OR_ROOT)examples/dotnet
DOTNET_EX_PATH = $(subst /,$S,$(DOTNET_EX_DIR))
DOTNET_TEST_DIR = $(OR_ROOT)examples/tests
DOTNET_TEST_PATH = $(subst /,$S,$(DOTNET_TEST_DIR))
O = obj
L = lib
@@ -154,7 +156,7 @@ JAVAC_BIN=$(shell $(WHICH) "$(JAVA_HOME)\bin\javac")
JAVA_BIN=$(shell $(WHICH) "$(JAVA_HOME)\bin\java")
JAR_BIN=$(shell $(WHICH) "$(JAVA_HOME)\bin\jar")
DEPENDENCIES_INC = /I$(INC_DIR) /I$(EX_DIR) /I$(GEN_DIR) \
DEPENDENCIES_INC = /I$(INC_DIR) /I$(GEN_DIR) \
$(ZLIB_INC) $(GFLAGS_INC) $(GLOG_INC) $(PROTOBUF_INC) \
$(COIN_INC) \
/DUSE_GLOP /DUSE_BOP \