compiled and will be automatically used if it is present in the
directory above this one (../nativez/).
-See config.make for configuration parameters.
+Copy config.make.in to config.make and edit for configuration parameters.
The jni source includes the KHR OpenCL headers so an OpenCL SDK is not
required but one may be used instead by defining CL_HOME on the
All intermediate and final results are place in `bin/'.
-`bin/<module>/<module>.jar' Cross platform modular .jar.
-`bin/<module>/<target>/lib' Platform specific libraries.
+`bin/<target>/lib/<module>.jar' Modular jar for ide.
+`bin/<target>/lib/*.so' Platform specific
+`bin/<target>/bin/*.dll' runtime libraries.
-`bin/<module>/<target>/<module>.jmod' Target specific .jmod.
+`bin/<target>/jmods/<module>.jmod' Target specific .jmod.
$ make bin
# <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
$($(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 $$@
$($(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) \
$(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
#$(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:
zcl_LDLIBS=$($(TARGET)_zcl_LDLIBS)
zcl_DEFS=zcl-jni.def
-zcl_makedep=$(notzed.zcl_objdir)/$(1).o: $(notzed.zcl_jnidir)/$(1).h
-$(foreach def,$(zcl_DEFS),$(eval $(call zcl_makedep,$(def:.def=))))
-$(notzed.zcl_jnidir)/%.h: src/notzed.zcl/jni/%.def
- @install -d $(@D)
- $(NATIVEZ_HOME)/bin/nativez-gen -J $< > $@ || ( rm $@ ; exit 1)
-
$(addprefix $(notzed.zcl_objdir)/,$(zcl_SOURCES:.c=.o)): bin/include/notzed.zcl/zcl-functions.h
bin/include/notzed.zcl/zcl-functions.h: src/notzed.zcl/jni/include/CL/cl.h src/notzed.zcl/jni/zcl-generate
@install -d $(@D)