summaryrefslogtreecommitdiff
path: root/rules
diff options
context:
space:
mode:
Diffstat (limited to 'rules')
-rw-r--r--rules/generic/Makefile8
1 files changed, 4 insertions, 4 deletions
diff --git a/rules/generic/Makefile b/rules/generic/Makefile
index 4f4b73a..be090bd 100644
--- a/rules/generic/Makefile
+++ b/rules/generic/Makefile
@@ -19,9 +19,11 @@ version := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:versi
group := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:groupId -n -c /_:project/_:parent/_:groupId pom.xml))
srcdir := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:build/_:sourceDirectory -n pom.xml) $(srcdir) src/main/java)
subdirs := $(patsubst %/pom.xml,%,$(wildcard */pom.xml))
-subdir-deps ?=
targets := pom $(if $(wildcard src/main/ $(srcdir)),jar)
+subdir_deps ?=
+$(if $(subdir_deps),$(eval include $(subdir_deps)))
+
################################################################################
dep_dir = $1 $(shell $(FIND) $1 2>/dev/null)
@@ -81,13 +83,11 @@ deps2jars = $(wildcard $(patsubst %/all,%/target/*.jar,$(filter $(addsuffix /all
deps2classpath = $(shell echo $(abspath $(call deps2jars,$1)) $(CLASSPATH) | tr ' ' :)
define recurse-rule
-$1/%: PHONY
+$1/%: PHONY $(addsuffix /all,$($1_deps))
CLASSPATH='$$(call deps2classpath,$$^)' srcdir='$$(srcdir)' version='$$(version)' $$(MAKE) -C '$1' -f '$$(abspath $$(firstword $$(MAKEFILE_LIST)))' '$$*'
endef
$(foreach subdir,$(subdirs),$(eval $(call recurse-rule,$(subdir))))
-$(if $(subdir-deps),include $(subdir-deps))
-
# boilerplate
.PHONY: PHONY FORCE