pwgen-for-bios/Makefile
2016-07-17 02:13:33 +03:00

40 lines
1.2 KiB
Makefile

.PHONY: clean
COMPILE_COMMAND ?= closure-compiler
TEMPLATE_COMMAND = mako-render --var script_file=$(SCRIPT_NAME)
UPLOAD_DIR := upload
TEMP_DIR := temp
JS_FILES = $(wildcard *.js)
TEMP_SCRIPT := $(TEMP_DIR)/script.js
TEMP_MAP := $(TEMP_DIR)/script.map
SCRIPT_NAME = script.$(VERSION).js
SCRIPT = $(UPLOAD_DIR)/$(SCRIPT_NAME)
SCRIPT_MAP = $(UPLOAD_DIR)/script.$(VERSION).map
INDEX_FILE := index.html
calc_hash = $(shell openssl dgst -sha1 $(1) | cut -d' ' -f2 | cut -b1-8)
all: $(UPLOAD_DIR) $(UPLOAD_DIR)/index.html $(COMPILED_JS_FILES) $(UPLOAD_DIR)/bootstrap.min.css
$(TEMP_SCRIPT) $(TEMP_MAP): $(JS_FILES) $(TEMP_DIR)
$(COMPILE_COMMAND) --js $(JS_FILES) --js_output_file $(TEMP_SCRIPT) --create_source_map $(TEMP_MAP)
$(UPLOAD_DIR)/index.html $(UPLOAD_DIR)/script%.js $(UPLOAD_DIR)/script%.map: $(INDEX_FILE) $(UPLOAD_DIR) $(TEMP_SCRIPT)
$(eval VERSION := $(call calc_hash,$(TEMP_SCRIPT)))
cp -f $(TEMP_SCRIPT) $(SCRIPT)
cp -f $(TEMP_MAP) $(SCRIPT_MAP)
$(TEMPLATE_COMMAND) $(INDEX_FILE) > $(UPLOAD_DIR)/index.html
$(UPLOAD_DIR)/%.css: %.css $(UPLOAD_DIR)
cp "$<" "$@"
$(UPLOAD_DIR):
mkdir "$(UPLOAD_DIR)"
$(TEMP_DIR):
mkdir "$(TEMP_DIR)"
clean:
@$(RM) -r $(UPLOAD_DIR)
@$(RM) -r $(TEMP_DIR)