diff options
-rw-r--r-- | makefiles/mvn-simple.mk | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/makefiles/mvn-simple.mk b/makefiles/mvn-simple.mk index 54bea0e..13d399c 100644 --- a/makefiles/mvn-simple.mk +++ b/makefiles/mvn-simple.mk @@ -15,21 +15,20 @@ RM = rm -f JAR = jar # Detect information from POMs -artifact := $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:artifactId pom.xml) -version := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:version -n -c /_:project/_:parent/_:version pom.xml) $(version)) -group := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:groupId -n -c /_:project/_:parent/_:groupId pom.xml)) -dirs := $(patsubst %/pom.xml,%,$(wildcard */pom.xml)) -targets := pom $(if $(wildcard src/main/),jar) +artifact := $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:artifactId pom.xml) +version := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:version -n -c /_:project/_:parent/_:version pom.xml) $(version)) +group := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:groupId -n -c /_:project/_:parent/_:groupId pom.xml)) +mvn_subdirs := $(patsubst %/pom.xml,%,$(wildcard */pom.xml)) +subdirs := $(if $(subdirs),$(filter $(mvn_subdirs),$(subdirs)),$(mvn_subdirs)) +targets := pom $(if $(wildcard src/main/),jar) #### export CLASSPATH := $(shell $(FIND) $(MAVEN_LOCAL_REPO_SEARCH) -name '*.jar' -printf '%h/%f:'):$(JAVA_HOME)/lib/tools.jar$(if $(CLASSPATH),:$(CLASSPATH)) -$(info CLASSPATH = $(CLASSPATH)) -# all all: PHONY \ $(addprefix target/$(artifact)-$(version).,$(targets)) \ - $(addsuffix /all,$(dirs)) + $(addsuffix /all,$(subdirs)) target/$(artifact)-$(version).pom: pom.xml $(INSTALL) -Dm644 $< $@ @@ -58,7 +57,7 @@ target/META-INF/maven/$(group)/$(artifact)/pom.properties: pom.xml 'artifactId=$(artifact)' \ > $@ -target/classes: src/main/java FORCE +target/classes: $(shell $(FIND) src/main/java 2>/dev/null) $(MKDIRS) $@ $(FIND) $< -name '*.java' -exec $(JAVAC) -d $@ {} + @@ -66,20 +65,20 @@ target/classes: src/main/java FORCE install: PHONY \ $(addprefix $(DESTDIR)$(MAVEN_LOCAL_REPO_INSTALL)/$(subst .,/,$(group))/$(artifact)/$(version)/$(artifact)-$(version).,$(targets)) \ - $(addsuffix /install,$(dirs)) + $(addsuffix /install,$(subdirs)) $(DESTDIR)$(MAVEN_LOCAL_REPO_INSTALL)/$(subst .,/,$(group))/$(artifact)/$(version)/%: target/% $(INSTALL) -Dm644 $< $@ # clean -clean: PHONY $(addsuffix /clean,$(dirs)) +clean: PHONY $(addsuffix /clean,$(subdirs)) rm -rf target # recurse -$(addsuffix /%,$(dirs)): PHONY - version='$(version)' $(MAKE) -C $(@D) -f '$(abspath $(firstword $(MAKEFILE_LIST)))' +$(addsuffix /%,$(subdirs)): PHONY + version='$(version)' $(MAKE) -C $(@D) -f '$(abspath $(firstword $(MAKEFILE_LIST)))' '$(@F)' # boilerplate |