summaryrefslogtreecommitdiff
path: root/rules/_generic-osgi/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'rules/_generic-osgi/Makefile')
-rw-r--r--rules/_generic-osgi/Makefile36
1 files changed, 36 insertions, 0 deletions
diff --git a/rules/_generic-osgi/Makefile b/rules/_generic-osgi/Makefile
new file mode 100644
index 0000000..3b06ea1
--- /dev/null
+++ b/rules/_generic-osgi/Makefile
@@ -0,0 +1,36 @@
+DESTDIR ?=
+MAVEN_LOCAL_REPO ?= ~/.m2
+
+FAIL = exit 1
+FIND = find
+INSTALL = install
+JAR = jar
+JAVAC = javac
+MKDIRS = mkdir -p
+RM = rm -f
+
+groupId = org.osgi
+artifactId = org.osgi.core
+version = 5.0.0
+
+dep_dir = $1 $(shell $(FIND) $1 2>/dev/null)
+mvndir = $(DESTDIR)$(MAVEN_LOCAL_REPO)/$(subst .,/,$(groupId))/$(artifactId)/$(version)
+
+all: PHONY build/$(artifactId)-$(version).jar
+install: PHONY $(mvndir)/$(artifactId)-$(version).jar
+
+build/classes: $(call dep_dir,src)
+ $(RM) -r $@
+ $(MKDIRS) $@
+ $(FIND) src -name '*.java' -exec $(JAVAC) -d $@ {} + || { $(RM) -r $@; $(FAIL); }
+build/$(artifactId)-$(version).jar: $(call dep_dir,build/classes)
+ $(JAR) -cf $@ -C build/classes .
+$(mvndir)/$(artifactId)-$(version).jar: build/$(artifactId)-$(version).jar
+ $(INSTALL) -Dm644 $< $@
+
+clean: PHONY
+ $(RM) -r build
+
+.PHONY: PHONY
+.DELETE_ON_ERROR:
+.SECONDARY: