aboutsummaryrefslogtreecommitdiff
path: root/jars.mk
diff options
context:
space:
mode:
Diffstat (limited to 'jars.mk')
-rw-r--r--jars.mk29
1 files changed, 29 insertions, 0 deletions
diff --git a/jars.mk b/jars.mk
new file mode 100644
index 000000000..5d459c0a9
--- /dev/null
+++ b/jars.mk
@@ -0,0 +1,29 @@
+define build-jar =
+ $(1)_NAME ?= $(1)
+
+ _d := $$(strip $$($(1)_DIR))
+
+ $(1)_PATH := $$(_d)/$$($(1)_NAME).jar
+
+ $(1)_TMPDIR := $$(_d)/.$$($(1)_NAME).jar.tmp
+
+ $$($(1)_PATH): $$($(1)_SOURCES)
+ @rm -rf $$($(1)_TMPDIR)
+ @mkdir -p $$($(1)_TMPDIR)
+ $(QUIET) javac $(GLOBAL_JAVACFLAGS) $$($(1)_JAVACFLAGS) -d $$($(1)_TMPDIR) $$($(1)_SOURCES)
+ $(QUIET) jar cf $$($(1)_PATH) -C $$($(1)_TMPDIR) .
+ @rm -rf $$($(1)_TMPDIR)
+
+ $(1)_INSTALL_DIR ?= $$(libdir)/java
+
+ $(1)_INSTALL_PATH := $$($(1)_INSTALL_DIR)/$$($(1)_NAME).jar
+
+ $$(eval $$(call install-file-as, $$($(1)_PATH), $$($(1)_INSTALL_PATH), 0644))
+
+ install: $$($(1)_INSTALL_PATH)
+
+ jars_list += $$($(1)_PATH)
+
+ clean_files += $$($(1)_PATH)
+
+endef