make: Rework archive_java
This commit is contained in:
@@ -36,26 +36,36 @@ clean_archive:
|
||||
-$(DEL) $(DATA_INSTALL_DIR)$(ARCHIVE_EXT)
|
||||
|
||||
$(TEMP_ARCHIVE_DIR):
|
||||
-$(MKDIR_P) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)
|
||||
$(MKDIR_P) $(TEMP_ARCHIVE_DIR)
|
||||
|
||||
$(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR): | $(TEMP_ARCHIVE_DIR)
|
||||
$(MKDIR) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)
|
||||
|
||||
$(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples: | $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)
|
||||
$(MKDIR) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples
|
||||
|
||||
$(INSTALL_DIR)$(ARCHIVE_EXT): archive_cc archive_java archive_dotnet \
|
||||
tools/README.cc.java.dotnet tools/Makefile.cc.java.dotnet
|
||||
$(COPY) tools$SREADME.cc.java.dotnet $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$SREADME.md
|
||||
$(COPY) tools$SMakefile.cc.java.dotnet $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$SMakefile
|
||||
$(SED) -i -e 's/@PROJECT_VERSION@/$(OR_TOOLS_VERSION)/' $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$SMakefile
|
||||
ifeq ($(SYSTEM),win)
|
||||
-$(MKDIR_P) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Stools$Swin
|
||||
$(COPY) tools$Smake.exe $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Stools
|
||||
$(COPY) $(WHICH) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Stools$Swin
|
||||
$(COPY) $(TOUCH) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Stools$Swin
|
||||
cd $(TEMP_ARCHIVE_DIR) && ..$S$(ZIP) -r ..$S$(INSTALL_DIR)$(ARCHIVE_EXT) $(INSTALL_DIR)
|
||||
else
|
||||
$(TAR) -C $(TEMP_ARCHIVE_DIR) --no-same-owner -czvf $(INSTALL_DIR)$(ARCHIVE_EXT) $(INSTALL_DIR)
|
||||
endif
|
||||
# -$(DELREC) $(TEMP_ARCHIVE_DIR)
|
||||
|
||||
$(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/cpp: | $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples
|
||||
$(MKDIR) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Scpp
|
||||
|
||||
.PHONY: archive_cc # Add C++ OR-Tools to archive.
|
||||
archive_cc: cc | $(TEMP_ARCHIVE_DIR)
|
||||
archive_cc: cc | $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/cpp
|
||||
$(MAKE) install_cc prefix=$(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)
|
||||
-$(MKDIR_P) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Scpp
|
||||
-$(COPY) $(CC_EX_PATH)$S*.h $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Scpp
|
||||
-$(COPY) $(CC_EX_PATH)$S*.cc $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Scpp
|
||||
-$(COPY) $(CC_EX_PATH)$SREADME.md $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Scpp
|
||||
@@ -68,34 +78,64 @@ archive_cc: cc | $(TEMP_ARCHIVE_DIR)
|
||||
-$(COPY) ortools$Srouting$Ssamples$S*.cc $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Scpp
|
||||
-$(COPY) ortools$Ssat$Ssamples$S*.cc $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Scpp
|
||||
|
||||
$(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/java: | $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples
|
||||
$(MKDIR) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
|
||||
define java-sample-archive
|
||||
$$(TEMP_ARCHIVE_DIR)/$$(INSTALL_DIR)/examples/java/%/pom.xml: \
|
||||
$$(TEMP_JAVA_DIR)/$1/%/pom.xml \
|
||||
ortools/$1/samples/%.java \
|
||||
| $$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava
|
||||
-$$(MKDIR_P) $$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*$$S$$(JAVA_SRC_PATH)
|
||||
$$(COPY) $$(SRC_DIR)$$Sortools$$S$1$$Ssamples$$S$$*.java \
|
||||
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*$$S$$(JAVA_SRC_PATH)
|
||||
$$(COPY) $$(TEMP_JAVA_DIR)$$S$1$$S$$*$$Spom.xml \
|
||||
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*
|
||||
|
||||
endef
|
||||
|
||||
$(foreach sample,$(SAMPLES),$(eval $(call java-sample-archive,$(sample))))
|
||||
|
||||
define java-example-archive
|
||||
$$(TEMP_ARCHIVE_DIR)/$$(INSTALL_DIR)/examples/java/%/pom.xml: \
|
||||
$$(TEMP_JAVA_DIR)/$1/%/pom.xml \
|
||||
examples/$1/%.java \
|
||||
| $$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava
|
||||
-$$(MKDIR_P) $$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*$$S$$(JAVA_SRC_PATH)
|
||||
$$(COPY) $$(SRC_DIR)$$Sexamples$$S$1$$S$$*.java \
|
||||
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*$$S$$(JAVA_SRC_PATH)
|
||||
$$(COPY) $$(TEMP_JAVA_DIR)$$S$1$$S$$*$$Spom.xml \
|
||||
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*
|
||||
|
||||
endef
|
||||
|
||||
$(foreach example,$(EXAMPLES),$(eval $(call java-example-archive,$(example))))
|
||||
|
||||
|
||||
SAMPLE_JAVA_FILES = $(addsuffix /pom.xml,$(addprefix $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/java/,$(basename $(notdir $(wildcard ortools/*/samples/*.java)))))
|
||||
|
||||
EXAMPLE_JAVA_FILES = \
|
||||
$(addsuffix /pom.xml,$(addprefix $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/java/,$(basename $(notdir $(wildcard examples/contrib/*.java))))) \
|
||||
$(addsuffix /pom.xml,$(addprefix $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/java/,$(basename $(notdir $(wildcard examples/java/*.java)))))
|
||||
|
||||
.PHONY: archive_java # Add Java OR-Tools to archive.
|
||||
archive_java: java | $(TEMP_ARCHIVE_DIR)
|
||||
$(COPY) $(LIB_DIR)$Scom.google.ortools.jar $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Slib
|
||||
$(COPY) $(LIB_DIR)$Sprotobuf.jar $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Slib
|
||||
$(COPY) $(LIB_DIR)$S$(LIB_PREFIX)jniortools.$(JNI_LIB_EXT) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Slib
|
||||
-$(MKDIR_P) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
-$(COPY) $(JAVA_EX_PATH)$S*.java $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
-$(COPY) $(JAVA_EX_PATH)$SREADME.md $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
-$(COPY) $(CONTRIB_EX_PATH)$S*.java $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
-$(SED) -i -e 's/ortools.contrib/ortools.examples/' $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S*.java
|
||||
-$(COPY) ortools$Salgorithms$Ssamples$S*.java $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
-$(SED) -i -e 's/algorithms.samples/examples/' $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S*.java
|
||||
-$(COPY) ortools$Sgraph$Ssamples$S*.java $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
-$(SED) -i -e 's/graph.samples/examples/' $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S*.java
|
||||
-$(COPY) ortools$Slinear_solver$Ssamples$S*.java $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
-$(SED) -i -e 's/linearsolver.samples/examples/' $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S*.java
|
||||
-$(COPY) ortools$Sconstraint_solver$Ssamples$S*.java $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
-$(SED) -i -e 's/constraintsolver.samples/examples/' $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S*.java
|
||||
-$(COPY) ortools$Srouting$Ssamples$S*.java $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
-$(SED) -i -e 's/routing.samples/examples/' $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S*.java
|
||||
-$(COPY) ortools$Ssat$Ssamples$S*.java $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
-$(SED) -i -e 's/sat.samples/examples/' $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S*.java
|
||||
archive_java: java \
|
||||
$(SAMPLE_JAVA_FILES) \
|
||||
$(EXAMPLE_JAVA_FILES) \
|
||||
| $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/java
|
||||
$(COPY) $(TEMP_JAVA_DIR)$S$(JAVA_ORTOOLS_NATIVE_PROJECT)$Starget$Sortools-*.jar $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)
|
||||
$(COPY) $(TEMP_JAVA_DIR)$S$(JAVA_ORTOOLS_NATIVE_PROJECT)$Spom.xml $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Spom-runtime.xml
|
||||
$(COPY) $(TEMP_JAVA_DIR)$S$(JAVA_ORTOOLS_PROJECT)$Starget$Sortools-*.jar $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)
|
||||
$(COPY) $(TEMP_JAVA_DIR)$S$(JAVA_ORTOOLS_PROJECT)$Spom.xml $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Spom-local.xml
|
||||
$(COPY) $(JAVA_EX_PATH)$SREADME.md $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava
|
||||
|
||||
$(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/dotnet: | $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples
|
||||
$(MKDIR) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet
|
||||
|
||||
.PHONY: archive_dotnet # Add .Net OR-Tools to archive.
|
||||
archive_dotnet: dotnet | $(TEMP_ARCHIVE_DIR)
|
||||
archive_dotnet: dotnet | $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/dotnet
|
||||
-$(MKDIR_P) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Spackages
|
||||
$(COPY) packages$S*.nupkg $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Spackages
|
||||
-$(MKDIR_P) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet
|
||||
-$(COPY) $(DOTNET_EX_PATH)$S*.cs* $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet
|
||||
-$(COPY) $(DOTNET_EX_PATH)$S*.fs* $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet
|
||||
-$(COPY) $(DOTNET_EX_PATH)$SREADME.md $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet
|
||||
|
||||
@@ -49,10 +49,10 @@ check_java: java
|
||||
test_java: java
|
||||
package_java: java
|
||||
else
|
||||
java: $(JAVA_ORTOOLS_JAR)
|
||||
java: java_package
|
||||
check_java: check_java_pimpl
|
||||
test_java: test_java_pimpl
|
||||
package_java: package_java_pimpl
|
||||
package_java: java
|
||||
BUILT_LANGUAGES +=, Java
|
||||
endif
|
||||
|
||||
@@ -378,8 +378,6 @@ clean_java:
|
||||
###################
|
||||
## Maven package ##
|
||||
###################
|
||||
package_java_pimpl: java_package
|
||||
|
||||
$(TEMP_JAVA_DIR):
|
||||
-$(MKDIR) $(TEMP_JAVA_DIR)
|
||||
|
||||
@@ -404,7 +402,7 @@ $(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_NATIVE_PROJECT)/pom.xml: \
|
||||
java_runtime: $(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_NATIVE_PROJECT)/timestamp
|
||||
|
||||
$(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_NATIVE_PROJECT)/timestamp: \
|
||||
$(JAVA_ORTOOLS_JAR) \
|
||||
$(JAVA_ORTOOLS_NATIVE_LIBS) \
|
||||
$(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_NATIVE_PROJECT)/pom.xml
|
||||
$(MKDIR_P) $(JAVA_NATIVE_PATH)$Sresources$S$(JAVA_NATIVE_IDENTIFIER)
|
||||
$(COPY) $(subst /,$S,$(JAVA_ORTOOLS_NATIVE_LIBS)) $(JAVA_NATIVE_PATH)$Sresources$S$(JAVA_NATIVE_IDENTIFIER)
|
||||
@@ -435,6 +433,14 @@ java_package: $(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_PROJECT)/timestamp
|
||||
|
||||
$(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_PROJECT)/timestamp: \
|
||||
$(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_NATIVE_PROJECT)/timestamp \
|
||||
$(GEN_DIR)/java/com/google/ortools/constraintsolver/SolverParameters.java \
|
||||
$(GEN_DIR)/java/com/google/ortools/constraintsolver/SearchLimitProtobuf.java \
|
||||
$(GEN_DIR)/java/com/google/ortools/constraintsolver/RoutingParameters.java \
|
||||
$(GEN_DIR)/java/com/google/ortools/constraintsolver/RoutingEnums.java \
|
||||
$(GEN_DIR)/java/com/google/ortools/linearsolver/MPModelProto.java \
|
||||
$(GEN_DIR)/java/com/google/ortools/sat/SatParameters.java \
|
||||
$(GEN_DIR)/java/com/google/ortools/util/OptionalBoolean.java \
|
||||
$(GEN_DIR)/java/com/google/ortools/sat/CpModel.java \
|
||||
$(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_PROJECT)/pom.xml
|
||||
$(MKDIR_P) $(JAVA_PATH)$Sjava
|
||||
ifeq ($(SYSTEM),unix)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
VERSION := @PROJECT_VERSION@
|
||||
# Let's discover something about where we run
|
||||
ifeq ($(OS),Windows_NT)
|
||||
OS = Windows
|
||||
@@ -27,6 +28,7 @@ BIN_DIR = bin
|
||||
# Unix specific part.
|
||||
ifeq ($(SYSTEM),unix)
|
||||
OS = $(shell uname -s)
|
||||
TOUCH = touch
|
||||
# C++
|
||||
ifeq ($(OS),Linux)
|
||||
CXX = g++
|
||||
@@ -102,6 +104,7 @@ endif # SYSTEM == unix
|
||||
# Windows specific part.
|
||||
ifeq ($(SYSTEM),win)
|
||||
WHICH = tools\\win\\which.exe
|
||||
TOUCH = tools\\win\\touch.exe
|
||||
ifeq ("$(Platform)","X64")
|
||||
PLATFORM = Win64
|
||||
endif
|
||||
@@ -180,6 +183,7 @@ clean:
|
||||
|
||||
.PHONY: detect_port
|
||||
detect_port:
|
||||
@echo VERSION = $(VERSION)
|
||||
@echo SHELL = $(SHELL)
|
||||
@echo SYSTEM = $(SYSTEM)
|
||||
@echo PORT = $(PORT)
|
||||
@@ -325,62 +329,6 @@ endif
|
||||
############
|
||||
## JAVA ##
|
||||
############
|
||||
JAR = \
|
||||
$(LIB_DIR)/LinearProgramming$J \
|
||||
$(LIB_DIR)/IntegerProgramming$J \
|
||||
$(LIB_DIR)/RabbitsPheasants$J \
|
||||
$(LIB_DIR)/Tsp$J \
|
||||
$(LIB_DIR)/Vrp$J \
|
||||
$(LIB_DIR)/Knapsack$J \
|
||||
\
|
||||
$(LIB_DIR)/AllDifferentExcept0$J \
|
||||
$(LIB_DIR)/AllInterval$J \
|
||||
$(LIB_DIR)/CapacitatedVehicleRoutingProblemWithTimeWindows$J \
|
||||
$(LIB_DIR)/Circuit$J \
|
||||
$(LIB_DIR)/CoinsGrid$J \
|
||||
$(LIB_DIR)/CoinsGridMIP$J \
|
||||
$(LIB_DIR)/ColoringMIP$J \
|
||||
$(LIB_DIR)/CoveringOpl$J \
|
||||
$(LIB_DIR)/Crossword$J \
|
||||
$(LIB_DIR)/DeBruijn$J \
|
||||
$(LIB_DIR)/Diet$J \
|
||||
$(LIB_DIR)/DietMIP$J \
|
||||
$(LIB_DIR)/DivisibleBy9Through1$J \
|
||||
$(LIB_DIR)/FlowExample$J \
|
||||
$(LIB_DIR)/GolombRuler$J \
|
||||
$(LIB_DIR)/Issue173$J \
|
||||
$(LIB_DIR)/KnapsackMIP$J \
|
||||
$(LIB_DIR)/LeastDiff$J \
|
||||
$(LIB_DIR)/LinearAssignmentAPI$J \
|
||||
$(LIB_DIR)/MagicSquare$J \
|
||||
$(LIB_DIR)/Map2$J \
|
||||
$(LIB_DIR)/Map$J \
|
||||
$(LIB_DIR)/Minesweeper$J \
|
||||
$(LIB_DIR)/MultiThreadTest$J \
|
||||
$(LIB_DIR)/NQueens2$J \
|
||||
$(LIB_DIR)/NQueens$J \
|
||||
$(LIB_DIR)/Partition$J \
|
||||
$(LIB_DIR)/QuasigroupCompletion$J \
|
||||
$(LIB_DIR)/SendMoreMoney2$J \
|
||||
$(LIB_DIR)/SendMoreMoney$J \
|
||||
$(LIB_DIR)/SendMostMoney$J \
|
||||
$(LIB_DIR)/Seseman$J \
|
||||
$(LIB_DIR)/SetCovering2$J \
|
||||
$(LIB_DIR)/SetCovering3$J \
|
||||
$(LIB_DIR)/SetCovering4$J \
|
||||
$(LIB_DIR)/SetCoveringDeployment$J \
|
||||
$(LIB_DIR)/SetCovering$J \
|
||||
$(LIB_DIR)/SimpleRoutingTest$J \
|
||||
$(LIB_DIR)/StableMarriage$J \
|
||||
$(LIB_DIR)/StiglerMIP$J \
|
||||
$(LIB_DIR)/Strimko2$J \
|
||||
$(LIB_DIR)/Sudoku$J \
|
||||
$(LIB_DIR)/SurvoPuzzle$J \
|
||||
$(LIB_DIR)/ToNum$J \
|
||||
$(LIB_DIR)/WhoKilledAgatha$J \
|
||||
$(LIB_DIR)/Xkcd$J \
|
||||
$(LIB_DIR)/YoungTableaux$J
|
||||
|
||||
HAS_JAVA = true
|
||||
ifndef JAVAC_BIN
|
||||
HAS_JAVA =
|
||||
@@ -401,52 +349,107 @@ java test_java:
|
||||
@echo the command 'java', 'javac', 'jar' or 'mvn' was not found in your PATH
|
||||
exit 127
|
||||
else
|
||||
java: $(JAR)
|
||||
java:
|
||||
$(MAKE) run SOURCE=examples/java/LinearProgramming/src/main/java/com/google/ortools/LinearProgramming.java
|
||||
$(MAKE) run SOURCE=examples/java/IntegerProgramming/src/main/java/com/google/ortools/IntegerProgramming.java
|
||||
$(MAKE) run SOURCE=examples/java/RabbitsPheasants/src/main/java/com/google/ortools/RabbitsPheasants.java
|
||||
$(MAKE) run SOURCE=examples/java/Tsp/src/main/java/com/google/ortools/Tsp.java
|
||||
$(MAKE) run SOURCE=examples/java/Vrp/src/main/java/com/google/ortools/Vrp.java
|
||||
$(MAKE) run SOURCE=examples/java/Knapsack/src/main/java/com/google/ortools/Knapsack.java
|
||||
$(MAKE) run SOURCE=examples/java/AllDifferentExcept0/src/main/java/com/google/ortools/AllDifferentExcept0.java
|
||||
$(MAKE) run SOURCE=examples/java/AllInterval/src/main/java/com/google/ortools/AllInterval.java
|
||||
$(MAKE) run SOURCE=examples/java/CapacitatedVehicleRoutingProblemWithTimeWindows/src/main/java/com/google/ortools/CapacitatedVehicleRoutingProblemWithTimeWindows.java
|
||||
$(MAKE) run SOURCE=examples/java/Circuit/src/main/java/com/google/ortools/Circuit.java
|
||||
$(MAKE) run SOURCE=examples/java/CoinsGrid/src/main/java/com/google/ortools/CoinsGrid.java
|
||||
$(MAKE) run SOURCE=examples/java/CoinsGridMIP/src/main/java/com/google/ortools/CoinsGridMIP.java
|
||||
$(MAKE) run SOURCE=examples/java/ColoringMIP/src/main/java/com/google/ortools/ColoringMIP.java
|
||||
$(MAKE) run SOURCE=examples/java/CoveringOpl/src/main/java/com/google/ortools/CoveringOpl.java
|
||||
$(MAKE) run SOURCE=examples/java/Crossword/src/main/java/com/google/ortools/Crossword.java
|
||||
$(MAKE) run SOURCE=examples/java/DeBruijn/src/main/java/com/google/ortools/DeBruijn.java
|
||||
$(MAKE) run SOURCE=examples/java/Diet/src/main/java/com/google/ortools/Diet.java
|
||||
$(MAKE) run SOURCE=examples/java/DietMIP/src/main/java/com/google/ortools/DietMIP.java
|
||||
$(MAKE) run SOURCE=examples/java/DivisibleBy9Through1/src/main/java/com/google/ortools/DivisibleBy9Through1.java
|
||||
$(MAKE) run SOURCE=examples/java/FlowExample/src/main/java/com/google/ortools/FlowExample.java
|
||||
$(MAKE) run SOURCE=examples/java/GolombRuler/src/main/java/com/google/ortools/GolombRuler.java
|
||||
$(MAKE) run SOURCE=examples/java/Issue173/src/main/java/com/google/ortools/Issue173.java
|
||||
$(MAKE) run SOURCE=examples/java/KnapsackMIP/src/main/java/com/google/ortools/KnapsackMIP.java
|
||||
$(MAKE) run SOURCE=examples/java/LeastDiff/src/main/java/com/google/ortools/LeastDiff.java
|
||||
$(MAKE) run SOURCE=examples/java/LinearAssignmentAPI/src/main/java/com/google/ortools/LinearAssignmentAPI.java
|
||||
$(MAKE) run SOURCE=examples/java/MagicSquare/src/main/java/com/google/ortools/MagicSquare.java
|
||||
$(MAKE) run SOURCE=examples/java/Map2/src/main/java/com/google/ortools/Map2.java
|
||||
$(MAKE) run SOURCE=examples/java/Map/src/main/java/com/google/ortools/Map.java
|
||||
$(MAKE) run SOURCE=examples/java/Minesweeper/src/main/java/com/google/ortools/Minesweeper.java
|
||||
$(MAKE) run SOURCE=examples/java/MultiThreadTest/src/main/java/com/google/ortools/MultiThreadTest.java
|
||||
$(MAKE) run SOURCE=examples/java/NQueens2/src/main/java/com/google/ortools/NQueens2.java
|
||||
$(MAKE) run SOURCE=examples/java/NQueens/src/main/java/com/google/ortools/NQueens.java
|
||||
$(MAKE) run SOURCE=examples/java/Partition/src/main/java/com/google/ortools/Partition.java
|
||||
$(MAKE) run SOURCE=examples/java/QuasigroupCompletion/src/main/java/com/google/ortools/QuasigroupCompletion.java
|
||||
$(MAKE) run SOURCE=examples/java/SendMoreMoney2/src/main/java/com/google/ortools/SendMoreMoney2.java
|
||||
$(MAKE) run SOURCE=examples/java/SendMoreMoney/src/main/java/com/google/ortools/SendMoreMoney.java
|
||||
$(MAKE) run SOURCE=examples/java/SendMostMoney/src/main/java/com/google/ortools/SendMostMoney.java
|
||||
$(MAKE) run SOURCE=examples/java/Seseman/src/main/java/com/google/ortools/Seseman.java
|
||||
$(MAKE) run SOURCE=examples/java/SetCovering2/src/main/java/com/google/ortools/SetCovering2.java
|
||||
$(MAKE) run SOURCE=examples/java/SetCovering3/src/main/java/com/google/ortools/SetCovering3.java
|
||||
$(MAKE) run SOURCE=examples/java/SetCovering4/src/main/java/com/google/ortools/SetCovering4.java
|
||||
$(MAKE) run SOURCE=examples/java/SetCoveringDeployment/src/main/java/com/google/ortools/SetCoveringDeployment.java
|
||||
$(MAKE) run SOURCE=examples/java/SetCovering/src/main/java/com/google/ortools/SetCovering.java
|
||||
$(MAKE) run SOURCE=examples/java/SimpleRoutingTest/src/main/java/com/google/ortools/SimpleRoutingTest.java
|
||||
$(MAKE) run SOURCE=examples/java/StableMarriage/src/main/java/com/google/ortools/StableMarriage.java
|
||||
$(MAKE) run SOURCE=examples/java/StiglerMIP/src/main/java/com/google/ortools/StiglerMIP.java
|
||||
$(MAKE) run SOURCE=examples/java/Strimko2/src/main/java/com/google/ortools/Strimko2.java
|
||||
$(MAKE) run SOURCE=examples/java/Sudoku/src/main/java/com/google/ortools/Sudoku.java
|
||||
$(MAKE) run SOURCE=examples/java/SurvoPuzzle/src/main/java/com/google/ortools/SurvoPuzzle.java
|
||||
$(MAKE) run SOURCE=examples/java/ToNum/src/main/java/com/google/ortools/ToNum.java
|
||||
$(MAKE) run SOURCE=examples/java/WhoKilledAgatha/src/main/java/com/google/ortools/WhoKilledAgatha.java
|
||||
$(MAKE) run SOURCE=examples/java/Xkcd/src/main/java/com/google/ortools/Xkcd.java
|
||||
$(MAKE) run SOURCE=examples/java/YoungTableaux/src/main/java/com/google/ortools/YoungTableaux.java
|
||||
|
||||
test_java: detect_java
|
||||
$(MAKE) run SOURCE=examples/java/SimpleLpProgram.java
|
||||
$(MAKE) run SOURCE=examples/java/SimpleMipProgram.java
|
||||
$(MAKE) run SOURCE=examples/java/SimpleSatProgram.java
|
||||
$(MAKE) run SOURCE=examples/java/Tsp.java
|
||||
$(MAKE) run SOURCE=examples/java/Vrp.java
|
||||
$(MAKE) run SOURCE=examples/java/Knapsack.java
|
||||
$(MAKE) run SOURCE=examples/java/SimpleLpProgram/src/main/java/com/google/ortools/SimpleLpProgram.java
|
||||
$(MAKE) run SOURCE=examples/java/SimpleMipProgram/src/main/java/com/google/ortools/SimpleMipProgram.java
|
||||
$(MAKE) run SOURCE=examples/java/SimpleSatProgram/src/main/java/com/google/ortools/SimpleSatProgram.java
|
||||
$(MAKE) run SOURCE=examples/java/Tsp/src/main/java/com/google/ortools/Tsp.java
|
||||
$(MAKE) run SOURCE=examples/java/Vrp/src/main/java/com/google/ortools/Vrp.java
|
||||
$(MAKE) run SOURCE=examples/java/Knapsack/src/main/java/com/google/ortools/Knapsack.java
|
||||
|
||||
###################
|
||||
## Java SOURCE ##
|
||||
###################
|
||||
ifeq ($(SOURCE_SUFFIX),.java) # Those rules will be used if SOURCE contain a .java file
|
||||
$(CLASS_DIR)/$(SOURCE_NAME): $(SOURCE) | $(CLASS_DIR)
|
||||
-$(MKDIR) $(CLASS_DIR)$S$(SOURCE_NAME)
|
||||
"$(JAVAC_BIN)" -encoding UTF-8 -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
|
||||
build: $(SOURCE) examples/java/$(SOURCE_NAME)/pom.xml | java.log
|
||||
cd examples$Sjava$S$(SOURCE_NAME) && "$(MVN_BIN)" compile
|
||||
|
||||
.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 \
|
||||
com.google.ortools.examples.$(SOURCE_NAME) $(ARGS)
|
||||
cd examples$Sjava$S$(SOURCE_NAME) && "$(MVN_BIN)" exec:java $(ARGS)
|
||||
endif # ifeq ($(SOURCE_SUFFIX),.java)
|
||||
|
||||
endif # ifndef HAS_JAVA
|
||||
|
||||
$(CLASS_DIR):
|
||||
-$(MKDIR) $(CLASS_DIR)
|
||||
ifeq ($(OS),Windows)
|
||||
JAVA_NATIVE_IDENTIFIER=win32-x86-64
|
||||
else
|
||||
ifeq ($(OS),Linux)
|
||||
JAVA_NATIVE_IDENTIFIER=linux-x86-64
|
||||
else
|
||||
ifeq ($(OS),Darwin)
|
||||
JAVA_NATIVE_IDENTIFIER=darwin
|
||||
else
|
||||
$(error OS unknown !)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
$(CLASS_DIR)/%: $(JAVA_EX_DIR)/%.java | $(CLASS_DIR)
|
||||
-$(MKDIR) $(CLASS_DIR)$S$*
|
||||
"$(JAVAC_BIN)" -d $(CLASS_DIR)$S$* \
|
||||
-cp $(LIB_DIR)$Scom.google.ortools$J$(CPSEP)$(LIB_DIR)$Sprotobuf$J \
|
||||
$(JAVA_EX_PATH)$S$*.java
|
||||
JAVA_NATIVE_PROJECT := ortools-$(JAVA_NATIVE_IDENTIFIER)-@PROJECT_VERSION@.jar
|
||||
JAVA_PROJECT := ortools-java-@PROJECT_VERSION@.jar
|
||||
|
||||
$(LIB_DIR)/%$J: $(CLASS_DIR)/% | $(LIB_DIR)
|
||||
"$(JAR_BIN)" cvf $(LIB_DIR)$S$*$J -C $(CLASS_DIR)$S$* .
|
||||
java.log: pom-runtime.xml pom-local.xml
|
||||
"$(MVN_BIN)" org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file \
|
||||
-Dfile=$(JAVA_NATIVE_PROJECT) -DpomFile=pom-runtime.xml
|
||||
"$(MVN_BIN)" org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file \
|
||||
-Dfile=$(JAVA_PROJECT) -DpomFile=pom-local.xml
|
||||
@$(TOUCH) $@
|
||||
|
||||
.PHONY: detect_java
|
||||
detect_java:
|
||||
@@ -456,6 +459,7 @@ detect_java:
|
||||
@echo JAR_BIN = $(JAR_BIN)
|
||||
@echo JAVA_BIN = $(JAVA_BIN)
|
||||
@echo JAVAFLAGS = $(JAVAFLAGS)
|
||||
@echo MVN_BIN = $(MVN_BIN)
|
||||
ifeq ($(SYSTEM),win)
|
||||
@echo off & echo(
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user