mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
js.mk: Add JS_MINIFY_FILTER_IN
Not so great. Doesn't remove console.log(innerfunc()). Another approach would be to use a global debug() function and set debug to null in an included javascript file Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
4a42edbc1b
commit
f17ce9570c
4 changed files with 41 additions and 15 deletions
|
|
@ -8,6 +8,7 @@
|
|||
PROJECT_DIRNAME ?= $(PROJECT)
|
||||
PROJECT_DIRPATH ?= $(shell readlink -f $(TOPDIR))
|
||||
PREFIX ?= $(ENV_PREFIX)$(HOME)/dat/test/$(FLAVOUR_PREFIX)$(PROJECT_DIRNAME)-$(VERSION)
|
||||
ROOT_PREFIX ?= $(ENV_PREFIX)$(HOME)/dat/test
|
||||
VAR_PREFIX ?= $(PREFIX)/var
|
||||
DOC_PREFIX ?= $(PREFIX)/doc/$(PROJECT)
|
||||
EXE_PREFIX ?= $(PREFIX)
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
PROJECT_DIRNAME ?= $(PROJECT)
|
||||
PROJECT_DIRPATH ?= /opt/$(FLAVOUR_PATH_PREFIX)$(PROJECT_DIRNAME)
|
||||
PREFIX ?= $(ENV_PREFIX)$(PROJECT_DIRPATH)
|
||||
ROOT_PREFIX ?= $(ENV_PREFIX)
|
||||
VAR_PREFIX ?= $(ENV_PREFIX)/var/$(FLAVOUR_PATH_PREFIX)lib
|
||||
DOC_PREFIX ?= $(ENV_PREFIX)/usr/share/doc/packages/$(FLAVOUR_PREFIX)$(PROJECT_DIRNAME)
|
||||
EXE_PREFIX ?= $(PREFIX)
|
||||
|
|
|
|||
|
|
@ -1,15 +1,24 @@
|
|||
SOURCE_FILES ?= $(filter-out CVS .git Makefile %.done, $(wildcard *))
|
||||
TARGET_DIR ?= $(PREFIX)/share
|
||||
TARGET_MODE ?= 440
|
||||
TARGET_OWNER ?= root
|
||||
TARGET_GROUP ?= root
|
||||
TARGET_DIR_MODE ?= 770
|
||||
TARGET_DIR_OWNER ?= root
|
||||
TARGET_DIR_GROUP ?= root
|
||||
|
||||
SOURCE_BASE ?= .
|
||||
|
||||
RELPATHS = $(foreach f,$(SOURCE_FILES),$(shell realpath -s --relative-to $(SOURCE_BASE) $f))
|
||||
INSTALLED_FILES = $(addprefix $(TARGET_DIR)/,$(RELPATHS))
|
||||
include $(MODDIR)/make/defs.mk
|
||||
|
||||
ifeq ($(DEVELOPMENT),true)
|
||||
TARGET_OWNER ?= $(shell id -un)
|
||||
TARGET_GROUP ?= $(shell id -gn)
|
||||
else
|
||||
TARGET_OWNER ?= root
|
||||
TARGET_GROUP ?= root
|
||||
endif
|
||||
TARGET_DIR_OWNER ?= $(TARGET_OWNER)
|
||||
TARGET_DIR_GROUP ?= $(TARGET_GROUP)
|
||||
TARGET_MODE ?= 440
|
||||
TARGET_DIR_MODE ?= 770
|
||||
|
||||
all:
|
||||
install: install.done
|
||||
clean: done.clean
|
||||
|
|
@ -18,9 +27,22 @@ distclean:
|
|||
done.clean:
|
||||
$(RM) -f *.done
|
||||
|
||||
install.done:
|
||||
$(TARGET_DIR)/%: $(SOURCE_BASE)/%
|
||||
@if [ -d $< ]; then \
|
||||
echo $(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) $@ ;\
|
||||
$(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) $@ ;\
|
||||
else \
|
||||
echo $(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) $< $@ ;\
|
||||
$(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) $< $@ ;\
|
||||
fi
|
||||
|
||||
install.done: $(INSTALLED_FILES)
|
||||
touch $@
|
||||
|
||||
# this used to work fine until an enormous $(SOURCE_FILES) was encountered
|
||||
install-old.done:
|
||||
for f in $(SOURCE_FILES); do \
|
||||
relpath=`realpath $$f --relative-to $(SOURCE_BASE)` ;\
|
||||
relpath=`realpath -s --relative-to $(SOURCE_BASE) $$f` ;\
|
||||
if [ -d $$f ]; then \
|
||||
$(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) $(TARGET_DIR)/$$relpath ;\
|
||||
else \
|
||||
|
|
|
|||
16
make/js.mk
16
make/js.mk
|
|
@ -1,8 +1,9 @@
|
|||
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))
|
||||
JAVA ?= /usr/bin/java
|
||||
JS_MINIFY_EXE ?= $(JAVA) -jar /usr/share/java/closure-compiler.jar --compilation_level ADVANCED --strict_mode_input
|
||||
JS_MINIFY_FILTER_IN ?= sed 's/console\.[a-z]\+([^)]\+) *;//g'
|
||||
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,
|
||||
|
|
@ -13,8 +14,9 @@ all: $(JS_GENERATED)
|
|||
clean: minify.clean
|
||||
|
||||
%.min.js: %.js
|
||||
$(JS_MINIFY_EXE) $< > $@.tmp
|
||||
cat $< | $(JS_MINIFY_FILTER_IN) > $@.filtered
|
||||
$(JS_MINIFY_EXE) $@.filtered > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
minify.clean:
|
||||
rm -f $(JS_GENERATED) *.tmp
|
||||
rm -f $(JS_GENERATED) *.tmp *.filtered
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue