Files
ortools-clone/makefiles/Makefile.java.mk

580 lines
20 KiB
Makefile
Raw Normal View History

2017-01-10 21:05:56 +01:00
# ---------- Java support using SWIG ----------
2018-03-02 13:41:00 +01:00
.PHONY: help_java # Generate list of Java targets with descriptions.
2018-02-23 14:55:24 +01:00
help_java:
2018-03-02 13:41:00 +01:00
@echo Use one of the following Java targets:
2018-02-27 14:49:18 +01:00
ifeq ($(SYSTEM),win)
2018-07-05 16:08:54 +02:00
@$(GREP) "^.PHONY: .* #" $(CURDIR)/makefiles/Makefile.java.mk | $(SED) "s/\.PHONY: \(.*\) # \(.*\)/\1\t\2/"
2018-03-06 15:03:19 +01:00
@echo off & echo(
2018-02-27 14:49:18 +01:00
else
2018-07-05 16:08:54 +02:00
@$(GREP) "^.PHONY: .* #" $(CURDIR)/makefiles/Makefile.java.mk | $(SED) "s/\.PHONY: \(.*\) # \(.*\)/\1\t\2/" | expand -t24
@echo
2018-02-27 14:49:18 +01:00
endif
2017-01-10 21:05:56 +01:00
2018-08-31 18:13:31 +02:00
JAVA_OR_TOOLS_LIBS= $(LIB_DIR)/com.google.ortools$J
JAVA_OR_TOOLS_NATIVE_LIBS := $(LIB_DIR)/$(LIB_PREFIX)jniortools.$(JNI_LIB_EXT)
2018-07-06 21:03:33 +02:00
JAVAFLAGS = -Djava.library.path=$(LIB_DIR)
HAS_JAVA = true
ifndef JAVAC_BIN
HAS_JAVA =
endif
ifndef JAR_BIN
HAS_JAVA =
endif
ifndef JAVA_BIN
HAS_JAVA =
endif
# Main target
.PHONY: java # Build Java OR-Tools.
.PHONY: test_java # Test Java OR-Tools using various examples.
2018-07-06 21:03:33 +02:00
ifndef HAS_JAVA
java:
2018-07-17 15:02:26 +02:00
@echo JAVA_HOME = $(JAVA_HOME)
@echo JAVAC_BIN = $(JAVAC_BIN)
@echo JAR_BIN = $(JAR_BIN)
@echo JAVA_BIN = $(JAVA_BIN)
$(warning Cannot find 'java' command which is needed for build. \
Please make sure it is installed and in system path. \
Check Makefile.local for more information.)
check_java: java
test_java: java
else
java: $(JAVA_OR_TOOLS_LIBS)
check_java: check_java_pimpl
test_java: test_java_pimpl
BUILT_LANGUAGES +=, Java
endif
$(GEN_DIR)/com/google/ortools/algorithms:
-$(MKDIR_P) $(GEN_PATH)$Scom$Sgoogle$Sortools$Salgorithms
$(GEN_DIR)/com/google/ortools/constraintsolver:
-$(MKDIR_P) $(GEN_PATH)$Scom$Sgoogle$Sortools$Sconstraintsolver
$(GEN_DIR)/com/google/ortools/graph:
-$(MKDIR_P) $(GEN_PATH)$Scom$Sgoogle$Sortools$Sgraph
$(GEN_DIR)/com/google/ortools/linearsolver:
-$(MKDIR_P) $(GEN_PATH)$Scom$Sgoogle$Sortools$Slinearsolver
$(GEN_DIR)/com/google/ortools/flatzinc:
-$(MKDIR_P) $(GEN_PATH)$Scom$Sgoogle$Sortools$Sflatzinc
$(GEN_DIR)/com/google/ortools/sat:
-$(MKDIR_P) $(GEN_PATH)$Scom$Sgoogle$Sortools$Ssat
dotnet: Remove reference to dotnet release command - Currently not implemented... Add abseil patch - Add patches/absl-config.cmake Makefile: Add abseil-cpp on unix - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake Makefile: Add abseil-cpp on windows - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake CMake: Add abseil-cpp - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake port to absl: C++ Part - Fix warning with the use of ABSL_MUST_USE_RESULT > The macro must appear as the very first part of a function declaration or definition: ... Note: past advice was to place the macro after the argument list. src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418 - Rename enum after windows clash - Remove non compact table constraints - Change index type from int64 to int in routing library - Fix file_nonport compilation on windows - Fix another naming conflict with windows (NO_ERROR is a macro) - Cleanup hash containers; work on sat internals - Add optional_boolean sub-proto Sync cpp examples with internal code - reenable issue173 after reducing number of loops port to absl: Python Part - Add back cp_model.INT32_MIN|MAX for examples Update Python examples - Add random_tsp.py - Run words_square example - Run magic_square in python tests port to absl: Java Part - Fix compilation of the new routing parameters in java - Protect some code from SWIG parsing Update Java Examples port to absl: .Net Part Update .Net examples work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code Remove VS 2015 in Appveyor-CI - abseil-cpp does not support VS 2015... improve tables upgrade C++ sat examples to use the new API; work on sat internals update license dates rewrite jobshop_ft06_distance.py to use the CP-SAT solver rename last example revert last commit more work on SAT internals fix
2018-10-31 16:18:18 +01:00
$(GEN_DIR)/com/google/ortools/util:
$(MKDIR_P) $(GEN_PATH)$Scom$Sgoogle$Sortools$Sutil
2018-07-06 21:03:33 +02:00
$(CLASS_DIR):
-$(MKDIR_P) $(CLASS_DIR)
2018-07-06 21:03:33 +02:00
$(CLASS_DIR)/com: | $(CLASS_DIR)
-$(MKDIR) $(CLASS_DIR)$Scom
2018-07-06 21:03:33 +02:00
$(CLASS_DIR)/com/google: | $(CLASS_DIR)/com
-$(MKDIR) $(CLASS_DIR)$Scom$Sgoogle
2018-07-06 21:03:33 +02:00
$(CLASS_DIR)/com/google/ortools: | $(CLASS_DIR)/com/google
-$(MKDIR) $(CLASS_DIR)$Scom$Sgoogle$Sortools
2018-08-31 18:13:31 +02:00
################
## JAVA JNI ##
################
$(GEN_DIR)/ortools/constraint_solver/constraint_solver_java_wrap.cc: \
$(SRC_DIR)/ortools/constraint_solver/java/constraint_solver.i \
$(SRC_DIR)/ortools/constraint_solver/java/routing.i \
$(SRC_DIR)/ortools/base/base.i \
$(SRC_DIR)/ortools/util/java/vector.i \
$(SRC_DIR)/ortools/base/base.i \
$(SRC_DIR)/ortools/util/java/proto.i \
$(CP_DEPS) \
$(SRC_DIR)/ortools/constraint_solver/routing.h \
| $(GEN_DIR)/ortools/constraint_solver $(GEN_DIR)/com/google/ortools/constraintsolver
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -java \
2018-08-31 18:13:31 +02:00
-o $(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_java_wrap.cc \
-package com.google.ortools.constraintsolver \
dotnet: Remove reference to dotnet release command - Currently not implemented... Add abseil patch - Add patches/absl-config.cmake Makefile: Add abseil-cpp on unix - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake Makefile: Add abseil-cpp on windows - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake CMake: Add abseil-cpp - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake port to absl: C++ Part - Fix warning with the use of ABSL_MUST_USE_RESULT > The macro must appear as the very first part of a function declaration or definition: ... Note: past advice was to place the macro after the argument list. src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418 - Rename enum after windows clash - Remove non compact table constraints - Change index type from int64 to int in routing library - Fix file_nonport compilation on windows - Fix another naming conflict with windows (NO_ERROR is a macro) - Cleanup hash containers; work on sat internals - Add optional_boolean sub-proto Sync cpp examples with internal code - reenable issue173 after reducing number of loops port to absl: Python Part - Add back cp_model.INT32_MIN|MAX for examples Update Python examples - Add random_tsp.py - Run words_square example - Run magic_square in python tests port to absl: Java Part - Fix compilation of the new routing parameters in java - Protect some code from SWIG parsing Update Java Examples port to absl: .Net Part Update .Net examples work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code Remove VS 2015 in Appveyor-CI - abseil-cpp does not support VS 2015... improve tables upgrade C++ sat examples to use the new API; work on sat internals update license dates rewrite jobshop_ft06_distance.py to use the CP-SAT solver rename last example revert last commit more work on SAT internals fix
2018-10-31 16:18:18 +01:00
-module main \
2018-08-31 18:13:31 +02:00
-outdir $(GEN_PATH)$Scom$Sgoogle$Sortools$Sconstraintsolver \
$(SRC_DIR)$Sortools$Sconstraint_solver$Sjava$Srouting.i
2018-12-10 13:35:51 +01:00
$(SED) -i -e 's/< long long >/< int64 >/g' \
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_java_wrap.cc
$(SED) -i -e 's/< long long,long long >/< int64, int64 >/g' \
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_java_wrap.cc
$(OBJ_DIR)/swig/constraint_solver_java_wrap.$O: \
$(GEN_DIR)/ortools/constraint_solver/constraint_solver_java_wrap.cc \
$(CP_DEPS) \
$(SRC_DIR)/ortools/constraint_solver/routing.h \
| $(OBJ_DIR)/swig
2018-08-31 18:13:31 +02:00
$(CCC) $(JNIFLAGS) $(JAVA_INC) \
-c $(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_java_wrap.cc \
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sconstraint_solver_java_wrap.$O
$(GEN_DIR)/ortools/algorithms/knapsack_solver_java_wrap.cc: \
$(SRC_DIR)/ortools/algorithms/java/knapsack_solver.i \
$(SRC_DIR)/ortools/base/base.i \
$(SRC_DIR)/ortools/util/java/vector.i \
$(SRC_DIR)/ortools/algorithms/knapsack_solver.h \
| $(GEN_DIR)/ortools/algorithms $(GEN_DIR)/com/google/ortools/algorithms
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -java \
2018-08-31 18:13:31 +02:00
-o $(GEN_PATH)$Sortools$Salgorithms$Sknapsack_solver_java_wrap.cc \
-package com.google.ortools.algorithms \
dotnet: Remove reference to dotnet release command - Currently not implemented... Add abseil patch - Add patches/absl-config.cmake Makefile: Add abseil-cpp on unix - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake Makefile: Add abseil-cpp on windows - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake CMake: Add abseil-cpp - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake port to absl: C++ Part - Fix warning with the use of ABSL_MUST_USE_RESULT > The macro must appear as the very first part of a function declaration or definition: ... Note: past advice was to place the macro after the argument list. src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418 - Rename enum after windows clash - Remove non compact table constraints - Change index type from int64 to int in routing library - Fix file_nonport compilation on windows - Fix another naming conflict with windows (NO_ERROR is a macro) - Cleanup hash containers; work on sat internals - Add optional_boolean sub-proto Sync cpp examples with internal code - reenable issue173 after reducing number of loops port to absl: Python Part - Add back cp_model.INT32_MIN|MAX for examples Update Python examples - Add random_tsp.py - Run words_square example - Run magic_square in python tests port to absl: Java Part - Fix compilation of the new routing parameters in java - Protect some code from SWIG parsing Update Java Examples port to absl: .Net Part Update .Net examples work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code Remove VS 2015 in Appveyor-CI - abseil-cpp does not support VS 2015... improve tables upgrade C++ sat examples to use the new API; work on sat internals update license dates rewrite jobshop_ft06_distance.py to use the CP-SAT solver rename last example revert last commit more work on SAT internals fix
2018-10-31 16:18:18 +01:00
-module main \
2018-08-31 18:13:31 +02:00
-outdir $(GEN_PATH)$Scom$Sgoogle$Sortools$Salgorithms \
$(SRC_DIR)$Sortools$Salgorithms$Sjava$Sknapsack_solver.i
$(OBJ_DIR)/swig/knapsack_solver_java_wrap.$O: \
$(GEN_DIR)/ortools/algorithms/knapsack_solver_java_wrap.cc \
| $(OBJ_DIR)/swig
2018-08-31 18:13:31 +02:00
$(CCC) $(JNIFLAGS) $(JAVA_INC) \
-c $(GEN_PATH)$Sortools$Salgorithms$Sknapsack_solver_java_wrap.cc \
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sknapsack_solver_java_wrap.$O
$(GEN_DIR)/ortools/graph/graph_java_wrap.cc: \
$(SRC_DIR)/ortools/graph/java/graph.i \
$(SRC_DIR)/ortools/base/base.i \
$(GRAPH_DEPS) \
| $(GEN_DIR)/ortools/graph $(GEN_DIR)/com/google/ortools/graph
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -java \
2018-08-31 18:13:31 +02:00
-o $(GEN_PATH)$Sortools$Sgraph$Sgraph_java_wrap.cc \
-package com.google.ortools.graph \
dotnet: Remove reference to dotnet release command - Currently not implemented... Add abseil patch - Add patches/absl-config.cmake Makefile: Add abseil-cpp on unix - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake Makefile: Add abseil-cpp on windows - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake CMake: Add abseil-cpp - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake port to absl: C++ Part - Fix warning with the use of ABSL_MUST_USE_RESULT > The macro must appear as the very first part of a function declaration or definition: ... Note: past advice was to place the macro after the argument list. src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418 - Rename enum after windows clash - Remove non compact table constraints - Change index type from int64 to int in routing library - Fix file_nonport compilation on windows - Fix another naming conflict with windows (NO_ERROR is a macro) - Cleanup hash containers; work on sat internals - Add optional_boolean sub-proto Sync cpp examples with internal code - reenable issue173 after reducing number of loops port to absl: Python Part - Add back cp_model.INT32_MIN|MAX for examples Update Python examples - Add random_tsp.py - Run words_square example - Run magic_square in python tests port to absl: Java Part - Fix compilation of the new routing parameters in java - Protect some code from SWIG parsing Update Java Examples port to absl: .Net Part Update .Net examples work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code Remove VS 2015 in Appveyor-CI - abseil-cpp does not support VS 2015... improve tables upgrade C++ sat examples to use the new API; work on sat internals update license dates rewrite jobshop_ft06_distance.py to use the CP-SAT solver rename last example revert last commit more work on SAT internals fix
2018-10-31 16:18:18 +01:00
-module main \
2018-08-31 18:13:31 +02:00
-outdir $(GEN_PATH)$Scom$Sgoogle$Sortools$Sgraph \
$(SRC_DIR)$Sortools$Sgraph$Sjava$Sgraph.i
$(OBJ_DIR)/swig/graph_java_wrap.$O: \
$(GEN_DIR)/ortools/graph/graph_java_wrap.cc \
$(GRAPH_DEPS) \
| $(OBJ_DIR)/swig
$(CCC) $(JNIFLAGS) $(JAVA_INC) \
-c $(GEN_PATH)$Sortools$Sgraph$Sgraph_java_wrap.cc \
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sgraph_java_wrap.$O
$(GEN_DIR)/ortools/linear_solver/linear_solver_java_wrap.cc: \
$(SRC_DIR)/ortools/linear_solver/java/linear_solver.i \
$(SRC_DIR)/ortools/base/base.i \
$(SRC_DIR)/ortools/util/java/vector.i \
$(LP_DEPS) \
| $(GEN_DIR)/ortools/linear_solver $(GEN_DIR)/com/google/ortools/linearsolver
2019-06-29 13:03:00 +02:00
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -java $(SWIG_DOXYGEN) \
2018-08-31 18:13:31 +02:00
-o $(GEN_PATH)$Sortools$Slinear_solver$Slinear_solver_java_wrap.cc \
-package com.google.ortools.linearsolver \
dotnet: Remove reference to dotnet release command - Currently not implemented... Add abseil patch - Add patches/absl-config.cmake Makefile: Add abseil-cpp on unix - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake Makefile: Add abseil-cpp on windows - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake CMake: Add abseil-cpp - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake port to absl: C++ Part - Fix warning with the use of ABSL_MUST_USE_RESULT > The macro must appear as the very first part of a function declaration or definition: ... Note: past advice was to place the macro after the argument list. src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418 - Rename enum after windows clash - Remove non compact table constraints - Change index type from int64 to int in routing library - Fix file_nonport compilation on windows - Fix another naming conflict with windows (NO_ERROR is a macro) - Cleanup hash containers; work on sat internals - Add optional_boolean sub-proto Sync cpp examples with internal code - reenable issue173 after reducing number of loops port to absl: Python Part - Add back cp_model.INT32_MIN|MAX for examples Update Python examples - Add random_tsp.py - Run words_square example - Run magic_square in python tests port to absl: Java Part - Fix compilation of the new routing parameters in java - Protect some code from SWIG parsing Update Java Examples port to absl: .Net Part Update .Net examples work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code Remove VS 2015 in Appveyor-CI - abseil-cpp does not support VS 2015... improve tables upgrade C++ sat examples to use the new API; work on sat internals update license dates rewrite jobshop_ft06_distance.py to use the CP-SAT solver rename last example revert last commit more work on SAT internals fix
2018-10-31 16:18:18 +01:00
-module main_research_linear_solver \
2018-08-31 18:13:31 +02:00
-outdir $(GEN_PATH)$Scom$Sgoogle$Sortools$Slinearsolver \
$(SRC_DIR)$Sortools$Slinear_solver$Sjava$Slinear_solver.i
2018-08-01 14:10:19 -07:00
$(OBJ_DIR)/swig/linear_solver_java_wrap.$O: \
$(GEN_DIR)/ortools/linear_solver/linear_solver_java_wrap.cc \
$(LP_DEPS) \
| $(OBJ_DIR)/swig
2018-08-31 18:13:31 +02:00
$(CCC) $(JNIFLAGS) $(JAVA_INC) \
-c $(GEN_PATH)$Sortools$Slinear_solver$Slinear_solver_java_wrap.cc \
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Slinear_solver_java_wrap.$O
2018-08-31 18:13:31 +02:00
$(GEN_DIR)/ortools/sat/sat_java_wrap.cc: \
$(SRC_DIR)/ortools/sat/java/sat.i \
$(SRC_DIR)/ortools/base/base.i \
$(SAT_DEPS) \
| $(GEN_DIR)/ortools/sat $(GEN_DIR)/com/google/ortools/sat
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -java \
2018-08-31 18:13:31 +02:00
-o $(GEN_PATH)$Sortools$Ssat$Ssat_java_wrap.cc \
-package com.google.ortools.sat \
dotnet: Remove reference to dotnet release command - Currently not implemented... Add abseil patch - Add patches/absl-config.cmake Makefile: Add abseil-cpp on unix - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake Makefile: Add abseil-cpp on windows - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake CMake: Add abseil-cpp - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake port to absl: C++ Part - Fix warning with the use of ABSL_MUST_USE_RESULT > The macro must appear as the very first part of a function declaration or definition: ... Note: past advice was to place the macro after the argument list. src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418 - Rename enum after windows clash - Remove non compact table constraints - Change index type from int64 to int in routing library - Fix file_nonport compilation on windows - Fix another naming conflict with windows (NO_ERROR is a macro) - Cleanup hash containers; work on sat internals - Add optional_boolean sub-proto Sync cpp examples with internal code - reenable issue173 after reducing number of loops port to absl: Python Part - Add back cp_model.INT32_MIN|MAX for examples Update Python examples - Add random_tsp.py - Run words_square example - Run magic_square in python tests port to absl: Java Part - Fix compilation of the new routing parameters in java - Protect some code from SWIG parsing Update Java Examples port to absl: .Net Part Update .Net examples work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code Remove VS 2015 in Appveyor-CI - abseil-cpp does not support VS 2015... improve tables upgrade C++ sat examples to use the new API; work on sat internals update license dates rewrite jobshop_ft06_distance.py to use the CP-SAT solver rename last example revert last commit more work on SAT internals fix
2018-10-31 16:18:18 +01:00
-module main \
2018-08-31 18:13:31 +02:00
-outdir $(GEN_PATH)$Scom$Sgoogle$Sortools$Ssat \
$(SRC_DIR)$Sortools$Ssat$Sjava$Ssat.i
$(SED) -i -e 's/< long long >/< int64 >/g' \
$(GEN_PATH)$Sortools$Ssat$Ssat_java_wrap.cc
2018-08-01 14:10:19 -07:00
$(OBJ_DIR)/swig/sat_java_wrap.$O: \
$(GEN_DIR)/ortools/sat/sat_java_wrap.cc \
$(SAT_DEPS) \
| $(OBJ_DIR)/swig
2018-08-31 18:13:31 +02:00
$(CCC) $(JNIFLAGS) $(JAVA_INC) \
-c $(GEN_PATH)$Sortools$Ssat$Ssat_java_wrap.cc \
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Ssat_java_wrap.$O
2019-05-06 22:21:53 +02:00
$(GEN_DIR)/ortools/util/util_java_wrap.cc: \
$(SRC_DIR)/ortools/util/java/sorted_interval_list.i \
$(SRC_DIR)/ortools/base/base.i \
$(UTIL_DEPS) \
| $(GEN_DIR)/ortools/util $(GEN_DIR)/com/google/ortools/util
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -java $(SWIG_DOXYGEN) \
2019-05-06 22:21:53 +02:00
-o $(GEN_PATH)$Sortools$Sutil$Sutil_java_wrap.cc \
-package com.google.ortools.util \
-module main \
-outdir $(GEN_PATH)$Scom$Sgoogle$Sortools$Sutil \
$(SRC_DIR)$Sortools$Sutil$Sjava$Ssorted_interval_list.i
$(SED) -i -e 's/< long long >/< int64 >/g' \
$(GEN_PATH)$Sortools$Sutil$Sutil_java_wrap.cc
$(OBJ_DIR)/swig/util_java_wrap.$O: \
$(GEN_DIR)/ortools/util/util_java_wrap.cc \
$(UTIL_DEPS) \
| $(OBJ_DIR)/swig
$(CCC) $(JNIFLAGS) $(JAVA_INC) \
-c $(GEN_PATH)$Sortools$Sutil$Sutil_java_wrap.cc \
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sutil_java_wrap.$O
2018-08-31 18:13:31 +02:00
$(JAVA_OR_TOOLS_NATIVE_LIBS): \
$(OR_TOOLS_LIBS) \
2018-08-31 18:13:31 +02:00
$(OBJ_DIR)/swig/constraint_solver_java_wrap.$O \
$(OBJ_DIR)/swig/knapsack_solver_java_wrap.$O \
$(OBJ_DIR)/swig/graph_java_wrap.$O \
$(OBJ_DIR)/swig/linear_solver_java_wrap.$O \
2019-05-06 22:21:53 +02:00
$(OBJ_DIR)/swig/sat_java_wrap.$O \
$(OBJ_DIR)/swig/util_java_wrap.$O
2018-08-31 18:13:31 +02:00
$(DYNAMIC_LD) $(LD_OUT)$(LIB_DIR)$S$(LIB_PREFIX)jniortools.$(JNI_LIB_EXT) \
$(OBJ_DIR)$Sswig$Sconstraint_solver_java_wrap.$O \
$(OBJ_DIR)$Sswig$Sknapsack_solver_java_wrap.$O \
$(OBJ_DIR)$Sswig$Sgraph_java_wrap.$O \
$(OBJ_DIR)$Sswig$Slinear_solver_java_wrap.$O \
$(OBJ_DIR)$Sswig$Ssat_java_wrap.$O \
2019-05-06 22:21:53 +02:00
$(OBJ_DIR)$Sswig$Sutil_java_wrap.$O \
2018-08-31 18:13:31 +02:00
$(OR_TOOLS_LNK) \
$(OR_TOOLS_LDFLAGS)
############
## JAVA ##
############
$(LIB_DIR)/protobuf.jar: \
dependencies/install/lib/protobuf.jar \
| $(LIB_DIR)
$(COPY) dependencies$Sinstall$Slib$Sprotobuf.jar $(LIB_DIR)
2018-08-01 14:10:19 -07:00
$(GEN_DIR)/com/google/ortools/constraintsolver/SearchLimitProtobuf.java: \
$(SRC_DIR)/ortools/constraint_solver/search_limit.proto \
| $(GEN_DIR)/com/google/ortools/constraintsolver
$(PROTOC) --proto_path=$(SRC_DIR) --java_out=$(GEN_PATH) $(SRC_DIR)$Sortools$Sconstraint_solver$Ssearch_limit.proto
$(GEN_DIR)/com/google/ortools/constraintsolver/SolverParameters.java: \
$(SRC_DIR)/ortools/constraint_solver/solver_parameters.proto \
| $(GEN_DIR)/com/google/ortools/constraintsolver
$(PROTOC) --proto_path=$(SRC_DIR) --java_out=$(GEN_PATH) $(SRC_DIR)$Sortools$Sconstraint_solver$Ssolver_parameters.proto
$(GEN_DIR)/com/google/ortools/constraintsolver/RoutingParameters.java: \
$(SRC_DIR)/ortools/constraint_solver/routing_parameters.proto \
| $(GEN_DIR)/com/google/ortools/constraintsolver
$(PROTOC) --proto_path=$(SRC_DIR) --java_out=$(GEN_PATH) $(SRC_DIR)$Sortools$Sconstraint_solver$Srouting_parameters.proto
$(GEN_DIR)/com/google/ortools/constraintsolver/RoutingEnums.java: \
$(SRC_DIR)/ortools/constraint_solver/routing_enums.proto \
| $(GEN_DIR)/com/google/ortools/constraintsolver
$(PROTOC) --proto_path=$(SRC_DIR) --java_out=$(GEN_PATH) $(SRC_DIR)$Sortools$Sconstraint_solver$Srouting_enums.proto
2019-07-01 14:13:15 +02:00
$(GEN_DIR)/com/google/ortools/linearsolver/MPModelProto.java: \
$(SRC_DIR)/ortools/linear_solver/linear_solver.proto \
| $(GEN_DIR)/com/google/ortools/linearsolver
$(PROTOC) --proto_path=$(SRC_DIR) --java_out=$(GEN_PATH) $(SRC_DIR)$Sortools$Slinear_solver$Slinear_solver.proto
2018-08-01 14:10:19 -07:00
$(GEN_DIR)/com/google/ortools/sat/CpModel.java: \
$(SRC_DIR)/ortools/sat/cp_model.proto \
| $(GEN_DIR)/com/google/ortools/sat
$(PROTOC) --proto_path=$(SRC_DIR) --java_out=$(GEN_PATH) $(SRC_DIR)$Sortools$Ssat$Scp_model.proto
$(GEN_DIR)/com/google/ortools/sat/SatParameters.java: \
$(SRC_DIR)/ortools/sat/sat_parameters.proto \
| $(GEN_DIR)/com/google/ortools/sat
$(PROTOC) --proto_path=$(SRC_DIR) --java_out=$(GEN_PATH) $(SRC_DIR)$Sortools$Ssat$Ssat_parameters.proto
dotnet: Remove reference to dotnet release command - Currently not implemented... Add abseil patch - Add patches/absl-config.cmake Makefile: Add abseil-cpp on unix - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake Makefile: Add abseil-cpp on windows - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake CMake: Add abseil-cpp - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake port to absl: C++ Part - Fix warning with the use of ABSL_MUST_USE_RESULT > The macro must appear as the very first part of a function declaration or definition: ... Note: past advice was to place the macro after the argument list. src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418 - Rename enum after windows clash - Remove non compact table constraints - Change index type from int64 to int in routing library - Fix file_nonport compilation on windows - Fix another naming conflict with windows (NO_ERROR is a macro) - Cleanup hash containers; work on sat internals - Add optional_boolean sub-proto Sync cpp examples with internal code - reenable issue173 after reducing number of loops port to absl: Python Part - Add back cp_model.INT32_MIN|MAX for examples Update Python examples - Add random_tsp.py - Run words_square example - Run magic_square in python tests port to absl: Java Part - Fix compilation of the new routing parameters in java - Protect some code from SWIG parsing Update Java Examples port to absl: .Net Part Update .Net examples work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code Remove VS 2015 in Appveyor-CI - abseil-cpp does not support VS 2015... improve tables upgrade C++ sat examples to use the new API; work on sat internals update license dates rewrite jobshop_ft06_distance.py to use the CP-SAT solver rename last example revert last commit more work on SAT internals fix
2018-10-31 16:18:18 +01:00
$(GEN_DIR)/com/google/ortools/util/OptionalBoolean.java: \
$(SRC_DIR)/ortools/util/optional_boolean.proto \
| $(GEN_DIR)/com/google/ortools/util
$(PROTOC) --proto_path=$(SRC_DIR) --java_out=$(GEN_PATH) $(SRC_DIR)$Sortools$Sutil$Soptional_boolean.proto
2018-08-31 18:13:31 +02:00
$(JAVA_OR_TOOLS_LIBS): \
$(JAVA_OR_TOOLS_NATIVE_LIBS) \
$(LIB_DIR)/protobuf.jar \
$(GEN_DIR)/com/google/ortools/constraintsolver/SolverParameters.java \
$(GEN_DIR)/com/google/ortools/constraintsolver/SearchLimitProtobuf.java \
$(GEN_DIR)/com/google/ortools/constraintsolver/RoutingParameters.java \
2018-08-01 14:10:19 -07:00
$(GEN_DIR)/com/google/ortools/constraintsolver/RoutingEnums.java \
2019-07-01 14:13:15 +02:00
$(GEN_DIR)/com/google/ortools/linearsolver/MPModelProto.java \
2018-08-01 14:10:19 -07:00
$(GEN_DIR)/com/google/ortools/sat/SatParameters.java \
dotnet: Remove reference to dotnet release command - Currently not implemented... Add abseil patch - Add patches/absl-config.cmake Makefile: Add abseil-cpp on unix - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake Makefile: Add abseil-cpp on windows - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake CMake: Add abseil-cpp - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake port to absl: C++ Part - Fix warning with the use of ABSL_MUST_USE_RESULT > The macro must appear as the very first part of a function declaration or definition: ... Note: past advice was to place the macro after the argument list. src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418 - Rename enum after windows clash - Remove non compact table constraints - Change index type from int64 to int in routing library - Fix file_nonport compilation on windows - Fix another naming conflict with windows (NO_ERROR is a macro) - Cleanup hash containers; work on sat internals - Add optional_boolean sub-proto Sync cpp examples with internal code - reenable issue173 after reducing number of loops port to absl: Python Part - Add back cp_model.INT32_MIN|MAX for examples Update Python examples - Add random_tsp.py - Run words_square example - Run magic_square in python tests port to absl: Java Part - Fix compilation of the new routing parameters in java - Protect some code from SWIG parsing Update Java Examples port to absl: .Net Part Update .Net examples work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code Remove VS 2015 in Appveyor-CI - abseil-cpp does not support VS 2015... improve tables upgrade C++ sat examples to use the new API; work on sat internals update license dates rewrite jobshop_ft06_distance.py to use the CP-SAT solver rename last example revert last commit more work on SAT internals fix
2018-10-31 16:18:18 +01:00
$(GEN_DIR)/com/google/ortools/util/OptionalBoolean.java \
2018-08-01 14:10:19 -07:00
$(GEN_DIR)/com/google/ortools/sat/CpModel.java | \
2018-07-06 21:03:33 +02:00
$(CLASS_DIR)/com/google/ortools
2018-09-17 11:06:57 +02:00
"$(JAVAC_BIN)" -d $(CLASS_DIR) \
2018-07-06 21:03:33 +02:00
-cp $(LIB_DIR)$Sprotobuf.jar \
$(SRC_DIR)$Sortools$Scom$Sgoogle$Sortools$Sconstraintsolver$S*.java \
2018-08-01 14:10:19 -07:00
$(SRC_DIR)$Sortools$Scom$Sgoogle$Sortools$Ssat$S*.java \
$(GEN_PATH)$Scom$Sgoogle$Sortools$Sconstraintsolver$S*.java \
2018-08-01 14:10:19 -07:00
$(GEN_PATH)$Scom$Sgoogle$Sortools$Ssat$S*.java \
dotnet: Remove reference to dotnet release command - Currently not implemented... Add abseil patch - Add patches/absl-config.cmake Makefile: Add abseil-cpp on unix - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake Makefile: Add abseil-cpp on windows - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake CMake: Add abseil-cpp - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake port to absl: C++ Part - Fix warning with the use of ABSL_MUST_USE_RESULT > The macro must appear as the very first part of a function declaration or definition: ... Note: past advice was to place the macro after the argument list. src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418 - Rename enum after windows clash - Remove non compact table constraints - Change index type from int64 to int in routing library - Fix file_nonport compilation on windows - Fix another naming conflict with windows (NO_ERROR is a macro) - Cleanup hash containers; work on sat internals - Add optional_boolean sub-proto Sync cpp examples with internal code - reenable issue173 after reducing number of loops port to absl: Python Part - Add back cp_model.INT32_MIN|MAX for examples Update Python examples - Add random_tsp.py - Run words_square example - Run magic_square in python tests port to absl: Java Part - Fix compilation of the new routing parameters in java - Protect some code from SWIG parsing Update Java Examples port to absl: .Net Part Update .Net examples work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code Remove VS 2015 in Appveyor-CI - abseil-cpp does not support VS 2015... improve tables upgrade C++ sat examples to use the new API; work on sat internals update license dates rewrite jobshop_ft06_distance.py to use the CP-SAT solver rename last example revert last commit more work on SAT internals fix
2018-10-31 16:18:18 +01:00
$(GEN_PATH)$Scom$Sgoogle$Sortools$Sutil$S*.java \
$(GEN_PATH)$Scom$Sgoogle$Sortools$Salgorithms$S*.java \
$(GEN_PATH)$Scom$Sgoogle$Sortools$Sgraph$S*.java \
$(GEN_PATH)$Scom$Sgoogle$Sortools$Slinearsolver$S*.java
2018-09-17 11:06:57 +02:00
"$(JAR_BIN)" cvf $(LIB_DIR)$Scom.google.ortools.jar -C $(CLASS_DIR) com$Sgoogle$Sortools$S
2014-01-16 01:23:35 +00:00
###################
## Java SOURCE ##
###################
ifeq ($(SOURCE_SUFFIX),.java) # Those rules will be used if SOURCE contain a .java file
$(CLASS_DIR)/$(SOURCE_NAME): $(SOURCE) $(JAVA_OR_TOOLS_LIBS) | $(CLASS_DIR)
-$(DELREC) $(CLASS_DIR)$S$(SOURCE_NAME)
-$(MKDIR_P) $(CLASS_DIR)$S$(SOURCE_NAME)
"$(JAVAC_BIN)" -d $(CLASS_DIR)$S$(SOURCE_NAME) \
-cp $(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar \
$(SOURCE_PATH)
$(LIB_DIR)/$(SOURCE_NAME)$J: $(CLASS_DIR)/$(SOURCE_NAME) | $(LIB_DIR)
-$(DEL) $(LIB_DIR)$S$(SOURCE_NAME)$J
"$(JAR_BIN)" cvf $(LIB_DIR)$S$(SOURCE_NAME)$J -C $(CLASS_DIR)$S$(SOURCE_NAME) .
.PHONY: build # Build a Java program.
build: $(LIB_DIR)/$(SOURCE_NAME)$J
.PHONY: run # Run a Java program.
run: build
"$(JAVA_BIN)" -Xss2048k $(JAVAFLAGS) \
-cp $(LIB_DIR)$S$(SOURCE_NAME)$J$(CPSEP)$(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar \
$(SOURCE_NAME) $(ARGS)
endif
2018-08-31 18:13:31 +02:00
#############################
## Java Examples/Samples ##
#############################
$(CLASS_DIR)/%: $(TEST_DIR)/%.java $(JAVA_OR_TOOLS_LIBS) | $(CLASS_DIR)
-$(DELREC) $(CLASS_DIR)$S$*
-$(MKDIR_P) $(CLASS_DIR)$S$*
"$(JAVAC_BIN)" -d $(CLASS_DIR)$S$* \
-cp $(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar \
$(TEST_PATH)$S$*.java
$(CLASS_DIR)/%: $(JAVA_EX_DIR)/%.java $(JAVA_OR_TOOLS_LIBS) | $(CLASS_DIR)
-$(DELREC) $(CLASS_DIR)$S$*
-$(MKDIR_P) $(CLASS_DIR)$S$*
"$(JAVAC_BIN)" -d $(CLASS_DIR)$S$* \
-cp $(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar \
$(JAVA_EX_PATH)$S$*.java
2018-11-07 21:31:58 +01:00
$(CLASS_DIR)/%: $(CONTRIB_EX_DIR)/%.java $(JAVA_OR_TOOLS_LIBS) | $(CLASS_DIR)
-$(DELREC) $(CLASS_DIR)$S$*
-$(MKDIR_P) $(CLASS_DIR)$S$*
"$(JAVAC_BIN)" -d $(CLASS_DIR)$S$* \
-cp $(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar \
$(CONTRIB_EX_PATH)$S$*.java
$(CLASS_DIR)/%: $(SRC_DIR)/ortools/algorithms/samples/%.java $(JAVA_OR_TOOLS_LIBS) | $(CLASS_DIR)
2018-08-01 15:29:10 -07:00
-$(DELREC) $(CLASS_DIR)$S$*
-$(MKDIR_P) $(CLASS_DIR)$S$*
"$(JAVAC_BIN)" -d $(CLASS_DIR)$S$* \
2018-08-01 15:29:10 -07:00
-cp $(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar \
ortools$Salgorithms$Ssamples$S$*.java
2018-12-27 10:48:02 +01:00
$(CLASS_DIR)/%: $(SRC_DIR)/ortools/constraint_solver/samples/%.java $(JAVA_OR_TOOLS_LIBS) | $(CLASS_DIR)
-$(DELREC) $(CLASS_DIR)$S$*
-$(MKDIR_P) $(CLASS_DIR)$S$*
"$(JAVAC_BIN)" -d $(CLASS_DIR)$S$* \
-cp $(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar \
ortools$Sconstraint_solver$Ssamples$S$*.java
$(CLASS_DIR)/%: $(SRC_DIR)/ortools/graph/samples/%.java $(JAVA_OR_TOOLS_LIBS) | $(CLASS_DIR)
-$(DELREC) $(CLASS_DIR)$S$*
-$(MKDIR_P) $(CLASS_DIR)$S$*
"$(JAVAC_BIN)" -d $(CLASS_DIR)$S$* \
-cp $(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar \
ortools$Sgraph$Ssamples$S$*.java
2018-08-01 15:29:10 -07:00
$(CLASS_DIR)/%: $(SRC_DIR)/ortools/linear_solver/samples/%.java $(JAVA_OR_TOOLS_LIBS) | $(CLASS_DIR)
-$(DELREC) $(CLASS_DIR)$S$*
-$(MKDIR_P) $(CLASS_DIR)$S$*
"$(JAVAC_BIN)" -d $(CLASS_DIR)$S$* \
-cp $(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar \
ortools$Slinear_solver$Ssamples$S$*.java
$(CLASS_DIR)/%: $(SRC_DIR)/ortools/sat/samples/%.java $(JAVA_OR_TOOLS_LIBS) | $(CLASS_DIR)
-$(DELREC) $(CLASS_DIR)$S$*
-$(MKDIR_P) $(CLASS_DIR)$S$*
"$(JAVAC_BIN)" -d $(CLASS_DIR)$S$* \
-cp $(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar \
ortools$Ssat$Ssamples$S$*.java
2018-07-17 15:02:26 +02:00
$(LIB_DIR)/%$J: $(CLASS_DIR)/% | $(LIB_DIR)
2018-07-06 21:03:33 +02:00
-$(DEL) $(LIB_DIR)$S$*.jar
"$(JAR_BIN)" cvf $(LIB_DIR)$S$*.jar -C $(CLASS_DIR)$S$* .
2018-07-06 21:03:33 +02:00
rjava_%: $(LIB_DIR)/%$J FORCE
"$(JAVA_BIN)" -Xss2048k $(JAVAFLAGS) \
-cp $(LIB_DIR)$S$*$J$(CPSEP)$(LIB_DIR)$Scom.google.ortools.jar$(CPSEP)$(LIB_DIR)$Sprotobuf.jar \
2018-07-06 21:03:33 +02:00
$* $(ARGS)
.PHONY: test_java_algorithms_samples # Build and Run all Java Algorithms Samples (located in ortools/algorithms/samples)
test_java_algorithms_samples: \
2019-05-10 22:51:10 +02:00
rjava_Knapsack
2018-12-27 10:48:02 +01:00
.PHONY: test_java_constraint_solver_samples # Build and Run all Java CP Samples (located in ortools/constraint_solver/samples)
test_java_constraint_solver_samples: \
2019-03-14 12:58:56 +01:00
rjava_SimpleCpProgram \
2018-12-27 14:58:47 +01:00
rjava_SimpleRoutingProgram \
2018-12-27 10:48:02 +01:00
rjava_Tsp \
rjava_TspCities \
rjava_TspCircuitBoard \
2019-01-09 11:28:14 +01:00
rjava_TspDistanceMatrix \
2018-12-27 10:48:02 +01:00
rjava_Vrp \
2019-01-07 17:22:59 +01:00
rjava_VrpCapacity \
2019-01-09 11:28:14 +01:00
rjava_VrpDropNodes \
rjava_VrpGlobalSpan \
2019-03-04 11:25:55 +01:00
rjava_VrpInitialRoutes \
2019-01-10 16:03:15 +01:00
rjava_VrpPickupDelivery \
rjava_VrpPickupDeliveryFifo \
rjava_VrpPickupDeliveryLifo \
2019-03-08 17:21:54 +01:00
rjava_VrpResources \
2019-01-09 11:28:14 +01:00
rjava_VrpStartsEnds \
rjava_VrpTimeWindows \
2019-04-19 18:47:28 +02:00
rjava_VrpWithTimeLimit
2018-12-27 10:48:02 +01:00
.PHONY: test_java_graph_samples # Build and Run all Java Graph Samples (located in ortools/graph/samples)
test_java_graph_samples: \
.PHONY: test_java_linear_solver_samples # Build and Run all Java LP Samples (located in ortools/linear_solver/samples)
test_java_linear_solver_samples: \
2018-11-22 09:32:03 +01:00
rjava_SimpleLpProgram \
2018-11-26 17:30:10 +01:00
rjava_SimpleMipProgram \
rjava_LinearProgrammingExample
.PHONY: test_java_sat_samples # Build and Run all Java SAT Samples (located in ortools/sat/samples)
test_java_sat_samples: \
rjava_BinPackingProblemSat \
rjava_BoolOrSampleSat \
rjava_ChannelingSampleSat \
rjava_CpIsFunSat \
rjava_EarlinessTardinessCostSampleSat \
rjava_IntervalSampleSat \
rjava_LiteralSampleSat \
rjava_NoOverlapSampleSat \
rjava_OptionalIntervalSampleSat \
rjava_RabbitsAndPheasantsSat \
rjava_RankingSampleSat \
rjava_ReifiedSampleSat \
rjava_SearchForAllSolutionsSampleSat \
rjava_SimpleSatProgram \
rjava_SolveAndPrintIntermediateSolutionsSampleSat \
rjava_SolveWithTimeLimitSampleSat \
rjava_StepFunctionSampleSat \
rjava_StopAfterNSolutionsSampleSat
.PHONY: check_java_pimpl
check_java_pimpl: \
test_java_algorithms_samples \
2018-12-27 10:48:02 +01:00
test_java_constraint_solver_samples \
test_java_graph_samples \
test_java_linear_solver_samples \
test_java_sat_samples \
\
rjava_LinearProgramming \
2019-05-10 22:51:10 +02:00
rjava_IntegerProgramming
2018-08-31 18:13:31 +02:00
.PHONY: test_java_tests # Build and Run all Java Tests (located in examples/tests)
test_java_tests: \
2019-04-23 13:16:20 +02:00
rjava_TestLinearSolver \
rjava_TestConstraintSolver \
2019-04-23 13:16:20 +02:00
rjava_TestRoutingSolver \
rjava_TestSatSolver \
.PHONY: test_java_contrib # Build and Run all Java Contrib (located in examples/contrib)
test_java_contrib: \
rjava_AllDifferentExcept0 \
rjava_AllInterval \
rjava_Circuit \
rjava_CoinsGridMIP \
rjava_ColoringMIP \
rjava_CoveringOpl \
rjava_Crossword \
rjava_DeBruijn \
rjava_Diet \
rjava_DietMIP \
rjava_DivisibleBy9Through1 \
rjava_GolombRuler \
rjava_KnapsackMIP \
rjava_LeastDiff \
rjava_MagicSquare \
rjava_Map2 \
rjava_Map \
rjava_Minesweeper \
rjava_MultiThreadTest \
rjava_NQueens2 \
rjava_NQueens \
rjava_Partition \
rjava_QuasigroupCompletion \
rjava_SendMoreMoney2 \
rjava_SendMoreMoney \
rjava_SendMostMoney \
rjava_Seseman \
rjava_SetCovering2 \
rjava_SetCovering3 \
rjava_SetCovering4 \
rjava_SetCoveringDeployment \
rjava_SetCovering \
rjava_SimpleRoutingTest \
rjava_StableMarriage \
rjava_StiglerMIP \
rjava_Strimko2 \
rjava_Sudoku \
rjava_SurvoPuzzle \
rjava_ToNum \
rjava_WhoKilledAgatha \
rjava_Xkcd \
rjava_YoungTableaux
2018-08-31 18:13:31 +02:00
.PHONY: test_java_java # Build and Run all Java Examples (located in ortools/examples/java)
test_java_java: \
rjava_CapacitatedVehicleRoutingProblemWithTimeWindows \
rjava_FlowExample \
rjava_IntegerProgramming \
rjava_Knapsack \
rjava_LinearAssignmentAPI \
rjava_LinearProgramming \
rjava_RabbitsPheasants \
2019-01-09 11:28:14 +01:00
rjava_RandomTsp
.PHONY: test_java_pimpl
test_java_pimpl: \
check_java_pimpl \
test_java_tests \
test_java_contrib \
test_java_java
2018-08-31 18:13:31 +02:00
2018-07-17 15:02:26 +02:00
################
## Cleaning ##
################
2018-02-23 14:55:24 +01:00
.PHONY: clean_java # Clean Java output from previous build.
2017-01-11 19:12:16 +01:00
clean_java:
2018-07-06 21:03:33 +02:00
-$(DELREC) $(GEN_PATH)$Scom
-$(DELREC) $(OBJ_DIR)$Scom
-$(DEL) $(CLASS_DIR)$S*.class
-$(DELREC) $(CLASS_DIR)
-$(DEL) $(GEN_PATH)$Sortools$Salgorithms$S*java_wrap*
-$(DEL) $(GEN_PATH)$Sortools$Sconstraint_solver$S*java_wrap*
-$(DEL) $(GEN_PATH)$Sortools$Sgraph$S*java_wrap*
-$(DEL) $(GEN_PATH)$Sortools$Slinear_solver$S*java_wrap*
2018-08-01 14:10:19 -07:00
-$(DEL) $(GEN_PATH)$Sortools$Ssat$S*java_wrap*
2019-05-06 22:21:53 +02:00
-$(DEL) $(GEN_PATH)$Sortools$Sutil$S*java_wrap*
-$(DEL) $(OBJ_DIR)$Sswig$S*_java_wrap.$O
2018-07-06 21:03:33 +02:00
-$(DEL) $(LIB_DIR)$S$(LIB_PREFIX)jni*.$(JNI_LIB_EXT)
-$(DEL) $(LIB_DIR)$S*.jar
2018-02-23 14:55:24 +01:00
2018-07-17 15:02:26 +02:00
#############
## DEBUG ##
#############
2018-02-23 14:55:24 +01:00
.PHONY: detect_java # Show variables used to build Java OR-Tools.
detect_java:
2018-03-06 14:34:17 +01:00
@echo Relevant info for the Java build:
2018-02-23 14:55:24 +01:00
@echo JAVA_INC = $(JAVA_INC)
2018-07-06 21:03:33 +02:00
@echo JNIFLAGS = $(JNIFLAGS)
@echo JAVA_HOME = $(JAVA_HOME)
2018-02-23 14:55:24 +01:00
@echo JAVAC_BIN = $(JAVAC_BIN)
2018-07-06 21:03:33 +02:00
@echo CLASS_DIR = $(CLASS_DIR)
2018-02-23 14:55:24 +01:00
@echo JAR_BIN = $(JAR_BIN)
2018-07-06 21:03:33 +02:00
@echo JAVA_BIN = $(JAVA_BIN)
@echo JAVAFLAGS = $(JAVAFLAGS)
@echo JAVA_OR_TOOLS_LIBS = $(JAVA_OR_TOOLS_LIBS)
2019-04-23 13:16:20 +02:00
@echo SWIG_BINARY = $(SWIG_BINARY)
@echo SWIG_INC = $(SWIG_INC)
2018-03-06 14:34:17 +01:00
ifeq ($(SYSTEM),win)
2018-03-06 15:03:19 +01:00
@echo off & echo(
2018-03-06 14:34:17 +01:00
else
@echo
endif