70 lines
2.1 KiB
Makefile
70 lines
2.1 KiB
Makefile
|
JS_DIR = js
|
||
|
CSS_DIR = css
|
||
|
|
||
|
JS_MIN = $(JS_DIR)/scripts.min.js
|
||
|
CSS_MIN = $(CSS_DIR)/styles.min.css
|
||
|
|
||
|
JS_MIN_FILES := $(sort $(patsubst %.js, %.min.js, $(filter-out %.min.js, $(wildcard $(JS_DIR)/*.js))))
|
||
|
CSS_MIN_FILES := $(sort $(patsubst %.css, %.min.css, $(filter-out %.min.css, $(wildcard $(CSS_DIR)/*.css))))
|
||
|
|
||
|
JS_COMPILER := java -jar bin/closure-compiler.jar --warning_level QUIET
|
||
|
CSS_COMPILER := java -jar bin/yui-compressor.jar --type css
|
||
|
|
||
|
DEBUG ?= 0
|
||
|
|
||
|
.PHONY: all deploy clean
|
||
|
|
||
|
all: $(JS_MIN) $(CSS_MIN)
|
||
|
|
||
|
ifeq ($(DEBUG),0)
|
||
|
%.min.js: %.js
|
||
|
@echo " JS " $@
|
||
|
@$(JS_COMPILER) --js $< --js_output_file $@
|
||
|
else
|
||
|
%.min.js: %.js
|
||
|
@echo " JS " $@
|
||
|
@cat $< > $@
|
||
|
endif
|
||
|
|
||
|
%.min.css: %.css
|
||
|
@echo " CSS " $@
|
||
|
@$(CSS_COMPILER) -o $@ $<
|
||
|
|
||
|
$(JS_MIN): $(JS_MIN_FILES)
|
||
|
@echo " CAT " $@
|
||
|
@cat $^ > $@
|
||
|
|
||
|
$(CSS_MIN): $(CSS_MIN_FILES)
|
||
|
@echo " CAT " $@
|
||
|
@cat $^ > $@
|
||
|
|
||
|
clean:
|
||
|
@echo " RM " $(JS_MIN) $(JS_MIN_FILES) $(CSS_MIN) $(CSS_MIN_FILES)
|
||
|
@rm -fv $(JS_MIN) $(JS_MIN_FILES) $(CSS_MIN) $(CSS_MIN_FILES)
|
||
|
|
||
|
include ../deployment-config.mk
|
||
|
|
||
|
SSH_OPTS := -q -o ControlMaster=auto -o ControlPath=.ssh-deployment.sock
|
||
|
|
||
|
deploy: all
|
||
|
@echo " SSH $(WEB_SERVER)"
|
||
|
@ssh $(SSH_OPTS) -Nf $(WEB_SERVER)
|
||
|
|
||
|
@echo " RSYNC . $(WEB_SERVER):$(HTDOCS_PATH)"
|
||
|
@ssh -t $(SSH_OPTS) $(WEB_SERVER) "sudo -u $(HTDOCS_USER) -v"
|
||
|
@rsync -aizm --delete-excluded --exclude=.ssh-deployment.sock --exclude=Makefile --exclude=*.swp \
|
||
|
--exclude=bin/ --include=scripts.min.js --include=styles.min.css \
|
||
|
--exclude=*.js --exclude=*.css --rsh="ssh $(SSH_OPTS)" \
|
||
|
--rsync-path="sudo -n -u $(HTDOCS_USER) rsync" \
|
||
|
. "$(WEB_SERVER):$(HTDOCS_PATH)"
|
||
|
|
||
|
@echo " CHOWN $(HTDOCS_USER):$(HTDOCS_USER) $(WEB_SERVER):$(HTDOCS_PATH)"
|
||
|
@ssh -t $(SSH_OPTS) $(WEB_SERVER) "sudo chown -R $(HTDOCS_USER):$(HTDOCS_USER) '$(HTDOCS_PATH)'"
|
||
|
|
||
|
@echo " CHMOD 750/640 $(WEB_SERVER):$(HTDOCS_PATH)"
|
||
|
@ssh -t $(SSH_OPTS) $(WEB_SERVER) "sudo find '$(HTDOCS_PATH)' -type f -exec chmod 640 {} \;; \
|
||
|
sudo find '$(HTDOCS_PATH)' -type d -exec chmod 750 {} \;;"
|
||
|
|
||
|
@echo " SSH $(WEB_SERVER)"
|
||
|
@ssh -O exit $(SSH_OPTS) $(WEB_SERVER)
|