# ######################################################################
+MAKEFLAGS += --no-builtin-rules
+
all_MODULES = $(java_MODULES) $(native_MODULES)
E:=
clean:
rm -rf bin
-# dist things
-dist_TAR = bin/$(dist_NAME)-$(dist_VERSION).tar.gz
-dist_FILES = config.make.in java.make Makefile src $(dist_EXTRA)
-
# Gen is things that go into the jar (sources and resources)
include $(wildcard $(all_MODULES:%=src/%/gen/gen.make))
# Native is things that go into the sdk/jmod
$1_sdk := $(addprefix $(java_bindir)/,$($1_COMMANDS)) $(addprefix $(java_libdir)/,$($1_LIBRARIES)) $($1_NATIVE_LIBRARIES:%=$(java_libdir)/lib%.so)
$1_jmod := $(addprefix $($1_bindir)/,$($1_COMMANDS)) $(addprefix $($1_libdir)/,$($1_LIBRARIES)) $($1_NATIVE_LIBRARIES:%=$($1_libdir)/lib%.so)
$1_java :=$($1_JAVA:%=src/$1/classes/%) $($1_JAVA_GENERATED:%=$($1_genjavadir)/%)
-$1_resources:= $($1_RESOURCES:%=bin/modules/$1/%) $($1_RESOURCES_GENERATED:%=bin/modules/$1/%)
+$1_resources:= $($1_RESOURCES:%=src/$1/classes/%) $($1_RESOURCES_GENERATED:%=$($1_genjavadir)/%)
$1_depjava := $($1_API:%=bin/status/$1-%.export) $(patsubst %,bin/status/%.classes, $(filter $($1_JDEPMOD),$(java_MODULES)))
+ifneq ("$$(strip $$($1_java) $$($1_depjava))", "")
bin/status/$1.depjava: $$($1_java) $$($1_depjava)
@install -d $$(@D)
touch $$@
jar: $(java_jardir)/$1.jar
gen: bin/status/$1.depjava
$1 all: $(java_jardir)/$1.jar $(java_jmoddir)/$1.jmod
+else
+# acutally not sure here?
+$1 all: bin/status/$1.sdk
+endif
$1-sdk sdk: bin/status/$1.sdk
@install -d $$(@D)
$(JAR) cf $$@ \
$(JARFLAGS) $$($(1)_JARFLAGS) \
- -C bin/modules/$(1) .
+ -C bin/modules/$(1) . \
+ $(if $($1_RESOURCES),$($1_RESOURCES:%=-C src/$1/classes %)) \
+ $(if $($1_RESOURCES_GENERATED),$($1_RESOURCES_GENERATED:%=-C bin/gen/$1/classes %))
# Create a jmod
$(java_jmoddir)/$1.jmod: bin/status/$1.depmod
# resources
bin/modules/$1/%: src/$1/classes/%
install -vD $$< $$@
-bin/modules/$1/%: $($1_genjavadir)/%
- install -vD $$< $$@
# Compile module.
bin/status/$1.classes: bin/status/$1.depjava
# setup run-* targets
define run_targets=
run-$1/$2: bin/status/$1.sdk $($1_JDEPMOD:%=bin/status/%.sdk)
- LD_LIBRARY_PATH=$(FFMPEG_HOME)/lib \
$(JAVA) \
$(if $(strip $(JAVAMODPATH) $($1_JAVAMODPATH)),--module-path $(subst $(S),:,$(strip $(JAVAMODPATH) $($1_JAVAMODPATH)))) \
$(JMAINFLAGS) $($1_JMAINFLAGS) \
@install -d bin
tar cfz bin/$(dist_NAME)-$(dist_VERSION).tar.gz \
--transform=s,^,$(dist_NAME)-$(dist_VERSION)/, \
- $(dist_FILES)
+ config.make.in java.make Makefile src \
+ $(dist_EXTRA)