Bump to jdk 13.
[nativez] / java.make
index 657910d..ee876b1 100644 (file)
--- a/java.make
+++ b/java.make
 
 # <library>_DEPENDENCIES       A list of other objects on which this library depends before linking.
 
+# <library>_DEFS       A list of .def files for nativez-gen.
+# <library>_DEFSFLAGS  Flags for nativez-gen invocation.
+
 # .c files have dependencies automatically generated
 
 # Targets
@@ -296,7 +299,7 @@ $(java_bindir)/%: $($(1)_bindir)/%
 $(java_incdir)/%: $($(1)_incdir)/%
        install -DC $$< $$@
 
-$($(1)_objdir)/%.o: src/$(1)/jni/%.c bin/status/$(1).classes
+$($(1)_objdir)/%.o: src/$(1)/jni/%.c
        @install -d $$(@D)
        $($(TARGET)_CC) -Isrc/$(1)/jni -Ibin/include/$(1) -I$($(1)_jnidir) \
                $($(TARGET)_CPPFLAGS) $($(2)_CPPFLAGS) \
@@ -305,6 +308,7 @@ $($(1)_objdir)/%.o: src/$(1)/jni/%.c bin/status/$(1).classes
 $($(1)_incdir)/%.h: src/$(1)/jni/%.h
        install -DC $$< $$@
 
+# auto-dependencies for c files
 $($(1)_objdir)/%.d: src/$(1)/jni/%.c bin/status/$(1).classes
        @install -d $$(@D)
        @rm -f $$@
@@ -312,6 +316,11 @@ $($(1)_objdir)/%.d: src/$(1)/jni/%.c bin/status/$(1).classes
                $($(TARGET)_CPPFLAGS) $($(2)_CPPFLAGS) $$< -o $$@.d 2>/dev/null
        @sed 's,\($$*\.o\) *:,\1 $$@ : ,g' $$@.d > $$@ ; rm $$@.d
 
+# .def files for nativez mapping
+$($(1)_jnidir)/%.h: src/$(1)/jni/%.def
+       @install -d $$(@D)
+       $(NATIVEZ_HOME)/bin/nativez-gen -J $($(2)_DEFSFLAGS) $$< > $$@ || ( rm $$@ ; exit 1)
+
 bin jni $(1) $(java_jmoddir)/$(1).jmod: \
        $($(1)_libdir)/$(LIB)$(2)$(SO) \
        $(java_libdir)/$(LIB)$(2)$(SO) \
@@ -319,7 +328,7 @@ bin jni $(1) $(java_jmoddir)/$(1).jmod: \
        $(addprefix $(java_incdir)/,$($(2)_HEADERS)) \
        $(addprefix $($(1)_bindir)/,$($(2)_COMMANDS)) \
        $(addprefix $(java_bindir)/,$($(2)_COMMANDS)) \
-       $$(addprefix $($(1)_libdir)/,$$($(2)_LIBRARIES))
+       $(addprefix $($(1)_libdir)/,$($(2)_LIBRARIES))
 
 $(if $(filter clean dist gen,$(MAKECMDGOALS)),,-include $$($(2)_OBJS:.o=.d))
 endef
@@ -327,6 +336,9 @@ endef
 #$(foreach module,$(java_JMODS),$(foreach library,$($(module)_JNI_LIBRARIES),$(info $(call jni_library,$(module),$(library)))))
 $(foreach module,$(java_JMODS),$(foreach library,$($(module)_JNI_LIBRARIES),$(eval $(call jni_library,$(module),$(library)))))
 
+#$(foreach module,$(java_JMODS),$(foreach library,$($(module)_JNI_LIBRARIES),$(foreach def,$($(library)_DEFS),$(info $($(module)_objdir)/$(def:.def=.o): $($(module)_jnidir)/$(def:.def=.h)))))
+$(foreach module,$(java_JMODS),$(foreach library,$($(module)_JNI_LIBRARIES),$(foreach def,$($(library)_DEFS),$(eval $($(module)_objdir)/$(def:.def=.o): $($(module)_jnidir)/$(def:.def=.h)))))
+
 # ######################################################################
 
 dist: