From 4a42edbc1b9210f03e62c70f8e6185bc393e0c5f Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Mon, 3 Sep 2018 11:52:45 +0000 Subject: [PATCH] htdocs.mk, js.mk: Add js.mk, providing minification Signed-off-by: Jan Lindemann --- make/htdocs.mk | 1 + make/js.mk | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 make/js.mk diff --git a/make/htdocs.mk b/make/htdocs.mk index afb70f0a..2177c1d4 100644 --- a/make/htdocs.mk +++ b/make/htdocs.mk @@ -3,6 +3,7 @@ LESS_GENERATED_CSS ?= $(patsubst %.less,%.css,$(LESS_SRC)) LESS_CPY ?= lesscpy include $(MODDIR)/make/defs.mk +include $(MODDIR)/make/js.mk include $(MODDIR)/make/rules.mk all: $(LESS_GENERATED_CSS) diff --git a/make/js.mk b/make/js.mk new file mode 100644 index 00000000..843617e6 --- /dev/null +++ b/make/js.mk @@ -0,0 +1,20 @@ +JAVA ?= /usr/bin/java +JS_MINIFY_EXE ?= $(JAVA) -jar /usr/share/java/closure-compiler.jar +JS_LOCAL ?= $(wildcard *.js) +JS_SRC ?= $(filter-out %.min.js,$(JS_LOCAL)) +JS_GENERATED ?= $(patsubst %.js,%.min.js,$(JS_SRC)) + +# This is not nice. It requires install-files to be included from elsewhere, +# which is not obvious. OTOH, if it isn't, SOURCE_FILES doesn't do any harm, +# either. +SOURCE_FILES += $(JS_GENERATED) + +all: $(JS_GENERATED) +clean: minify.clean + +%.min.js: %.js + $(JS_MINIFY_EXE) $< > $@.tmp + mv $@.tmp $@ + +minify.clean: + rm -f $(JS_GENERATED) *.tmp