Incorporate improvements
authorNot Zed <notzed@gmail.com>
Wed, 30 Jul 2025 11:00:41 +0000 (20:30 +0930)
committerNot Zed <notzed@gmail.com>
Wed, 30 Jul 2025 11:00:41 +0000 (20:30 +0930)
 - directly read resources from src/ directories rather than
   staging them to bin/modules
 - allow other *.make files to add to the dist target
 - remove some dead/invalid values

java.make

index f69ee95..41e9362 100644 (file)
--- a/java.make
+++ b/java.make
 
 # ######################################################################
 
+MAKEFLAGS += --no-builtin-rules
+
 all_MODULES = $(java_MODULES) $(native_MODULES)
 
 E:=
@@ -198,10 +200,6 @@ gen:
 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
@@ -227,9 +225,10 @@ define module_vars=
 $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 $$@
@@ -243,6 +242,10 @@ bin/status/$1.sdk: $(java_jardir)/$1.jar
 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
 
@@ -289,7 +292,9 @@ $(java_jardir)/$1.jar: bin/status/$1.depjar
        @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
@@ -315,8 +320,6 @@ $(java_jardir)/$1-sources.zip: bin/status/$1.depjar
 # 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
@@ -340,7 +343,6 @@ $(foreach module,$(java_MODULES),$(eval $(call java_targets,$(module))))
 # 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) \
@@ -417,4 +419,5 @@ dist:
        @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)