define java_variables=
ifndef $1_JAVA
-$1_JAVA := $$(shell cd src/$1/classes && find * -type f -name '*.java')
+$1_JAVA := $$(patsubst src/$1/classes/%,%,$$(shell find src/$1/classes -type f -name '*.java'))
endif
ifndef $1_RESOURCES
-$1_RESOURCES := $$(shell cd src/$1/classes && find * -type f \! -name '*.java')
+$1_RESOURCES := $$(patsubst src/$1/classes/%,%,$$(shell find src/$1/classes -type f \! -name '*.java'))
endif
endef
$(foreach m,$(all_MODULES),$(eval $(call module_vars,$m)))
# ######################################################################
-# notzed.nativez export-api
+# notzed.nativez nativez-generate
# ######################################################################
define api_targets=
-bin/status/$1-$2.export: src/$1/gen/$2.api src/$1/gen/$2.h
-bin/status/$1-$2.export:
+bin/status/$1-$2.export: src/$1/gen/$2.api bin/gen/$1/gen/$2.pm
mkdir -p bin/gen/$1/gen bin/status
- $(NATIVEZ_HOME)/bin/export-api \
- -w bin/gen/$1/gen -d bin/gen/$1/classes $($1_APIFLAGS) $($1_$2_APIFLAGS) src/$1/gen/$2.api
+ $(NATIVEZ_HOME)/bin/nativez-generate \
+ $($1_APIFLAGS) $($1_$2_APIFLAGS) \
+ -m "$1" -d bin/gen gen src/$1/gen/$2.api
touch $$@
-bin/status/$1-$2.export.d:
- @$(NATIVEZ_HOME)/bin/export-api -M -MT "$$(@:.d=) $$@" -MF $$@ \
- -w bin/gen/$1/gen -d bin/gen/$1/classes $($1_APIFLAGS) $($1_$2_APIFLAGS) src/$1/gen/$2.api 2>/dev/null
+bin/gen/$1/gen/$2.pm: src/$1/gen/$2.h
+ mkdir -p bin/gen/$1/gen
+ $(NATIVEZ_HOME)/bin/nativez-generate \
+ $($1_APIFLAGS) $($1_$2_APIFLAGS) \
+ -m "$1" -d bin/gen export src/$1/gen/$2.api
+
+bin/status/$1-$2.export.d: src/$1/gen/$2.api src/$1/gen/$2.h
+ $(NATIVEZ_HOME)/bin/nativez-generate --make-file $$@ --make-target $$(@:.d=) \
+ $($1_APIFLAGS) $($1_$2_APIFLAGS) \
+ -m "$1" -d bin/gen make src/$1/gen/$2.api
+
$(if $(filter clean dist gen,$(MAKECMDGOALS)),,-include bin/status/$1-$2.export.d)
endef