diff options
Diffstat (limited to '_make/java.mk')
-rw-r--r-- | _make/java.mk | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/_make/java.mk b/_make/java.mk index 475ac6b..2bf0f1d 100644 --- a/_make/java.mk +++ b/_make/java.mk @@ -16,12 +16,23 @@ # Variables may add suffix _$(PROJECTMODULE), in full or "host-only", # e.g. JAVA_MODULES_org.example.mydemo or JAVA_MODULES_mydemo. +# resolve Java version +JAVA_MAJOR_VERSION := $(shell $(JAVA) -version 2>&1 \ + | grep -Pom1 '"\K\d+' ) + # defaults overridable at make invocation JAVA_ROOT ?= src/main/java JAVAC ?= javac JAVA ?= java JAR ?= jar +# check javadoc only with JDK 23+ supporting Markdown-flavored javadoc +ifeq ($(shell expr $(JAVA_MAJOR_VERSION) \>= 23), 1) +JAVACFLAGS ?= -Xlint -Xdoclint -implicit:none +else +JAVACFLAGS ?= -Xlint -implicit:none +endif + # account for one annoyingly popular class of non-POSIX system _java_path_separator := $(if $(filter Windows%,$($(shell uname))),;,:) _java_module_separator = , @@ -61,7 +72,7 @@ $(JAVA_PROJECTMODULES:%=build-%): build-%: rm -rf mods/$* $(JAVAC) $(strip \ $(call _java_flag,module-source-path,JAVA_MODULESOURCEPATH) \ - $(_java_common_flags) -Xlint -Xdoclint -implicit:none \ + $(_java_common_flags) $(JAVACFLAGS) \ $(call _java_projvar,JAVACFLAGS) \ -d mods/$* \ $(wildcard $(_java_root)/module-info.java) \ |