Build everything to one script

This commit is contained in:
Slava Bacherikov committed 2016-07-17 02:13:33 +03:00
1 parent d4242376ef
commit 6bd298bd81
3 files changed
+24 -12

No files matched your search

+1
View File
@@ -2,3 +2,4 @@
*.bak
upload/
build/
temp/
+22 -8
View File
@@ -1,26 +1,40 @@
.PHONY: clean
COMPILE_COMMAND ?= closure-compiler
UPLOAD_DIR = upload
TEMPLATE_COMMAND = mako-render --var script_file=$(SCRIPT_NAME)
UPLOAD_DIR := upload
TEMP_DIR := temp
JS_FILES = $(wildcard *.js)
COMPILED_JS_FILES = $(JS_FILES:%.js=$(UPLOAD_DIR)/%.min.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
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
$(UPLOAD_DIR)/%.min.js: %.js $(UPLOAD_DIR)
$(COMPILE_COMMAND) $< --js_output_file $@
$(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: $(INDEX_FILE) $(UPLOAD_DIR)
cp "$<" "$@"
$(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)/%.css: %.css $(UPLOAD_DIR)
cp "$<" "$@"
$(UPLOAD_DIR):
mkdir "$(UPLOAD_DIR)"
$(TEMP_DIR):
mkdir "$(TEMP_DIR)"
clean:
@$(RM) -r $(UPLOAD_DIR)
@$(RM) -r $(TEMP_DIR)
+1 -4
View File
@@ -9,10 +9,7 @@
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link href="bootstrap.min.css" rel="stylesheet" />
<style type="text/css">
</style>
<script type="text/javascript" src="decrypt_bios.min.js"></script>
<script type="text/javascript" src="ui.min.js" ></script>
<script type="text/javascript" src="${script_file}" ></script>
</head>
<body>
<div class="topbar">