This repository was archived by the owner on Jun 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
84 lines (71 loc) · 2.57 KB
/
Makefile
File metadata and controls
84 lines (71 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
DIST_DIR = ./dist
DIST_CSS_DIR = $(DIST_DIR)/css
DIST_IMG_DIR = $(DIST_DIR)/img
DIST_JS_DIR = $(DIST_DIR)/js
DIST_FONT_DIR = $(DIST_DIR)/font
HTML_SRC_DIR = ./html
JS_SRC_DIR = ./js
LESS_SRC_DIR = ./less
IMG_SRC_DIR = ./img
FONT_SRC_DIR = ./font
APP_SRC_DIR = ./app
HANBLEBARS_TEMPLATES_SRC_DIR=./handlebars-templates
CHECK=\033[32m✔\033[39m
HR=\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
dist: build-handlebars build-js build-css build-font build-img build-html
# Remove all build artifacts
clean:
@rm -r $(DIST_DIR)
# 'Run' the application (starts a simple HTTP Server for Test purposes)
run:
@cd $(DIST_DIR)
@python -m SimpleHTTPServer
# handlebars compile (needs to be before JS Compile, as the artifacts are then inlined in the combined minified application.js)
build-handlebars:
@echo "\n${HR}"
@echo "Precompiling Handlebars templates..."
@handlebars $(HANBLEBARS_TEMPLATES_SRC_DIR) -f $(JS_SRC_DIR)/templates.js
@echo " ${CHECK} Done"
@echo "${HR}\n"
# JS COMPILE
build-js: $(JS_SRC_DIR)/*.js
@echo "\n${HR}"
@echo "Building Javascript..."
@mkdir -p $(DIST_JS_DIR)
@cat $(JS_SRC_DIR)/jquery-1.9.1.js $(JS_SRC_DIR)/xdate.js $(JS_SRC_DIR)/handlebars.runtime-1.0.12.js $(JS_SRC_DIR)/templates.js $(JS_SRC_DIR)/blob.js $(JS_SRC_DIR)/filesaver.js $(JS_SRC_DIR)/application.js > $(DIST_JS_DIR)/app.js
@uglifyjs -nc $(DIST_JS_DIR)/app.js > $(DIST_JS_DIR)/app.min.js
@rm $(DIST_JS_DIR)/app.js
@echo " ${CHECK} Done"
@echo "${HR}\n"
# CSS COMPILE
build-css: $(LESS_SRC_DIR)/bootstrap.less
@echo "\n${HR}"
@echo "Building CSS..."
@mkdir -p $(DIST_CSS_DIR)
@recess --compress $(LESS_SRC_DIR)/bootstrap.less > $(DIST_CSS_DIR)/app.css
@echo " ${CHECK} Done"
@echo "${HR}\n"
# IMAGES
build-img: $(IMG_SRC_DIR)/*
@echo "\n${HR}"
@echo "Building Images..."
@mkdir -p $(DIST_IMG_DIR)
@cp $(IMG_SRC_DIR)/* $(DIST_IMG_DIR)
@echo " ${CHECK} Done"
@echo "${HR}\n"
# FONT
build-font: $(FONT_SRC_DIR)/*
@echo "\n${HR}"
@echo "Building Fonts..."
@mkdir -p $(DIST_FONT_DIR)
@cp $(FONT_SRC_DIR)/* $(DIST_FONT_DIR)
@echo " ${CHECK} Done"
@echo "${HR}\n"
# HTML Resources
build-html: $(HTML_SRC_DIR)/*
@echo "\n${HR}"
@echo "Building HTML..."
@cp -r $(HTML_SRC_DIR)/* $(DIST_DIR)
@echo " ${CHECK} Done"
@echo "${HR}\n"
.PHONY: dist build-img build-css build-js build-font build-html