/
Makefile
127 lines (100 loc) · 2.86 KB
/
Makefile
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
JS_COMPRESSOR = `which uglifyjs` $^ \
--compress \
--mangle \
--screw-ie8 \
--source-map $@.map
#JS_COMPRESSOR = cat $^ # uncomment this line to produce uncompressed files
CSS_COMPILER = `which sass`
CSS_COMPILER_OPTIONS = --style compressed # comment to disable compression
IDEPENDONYOU_JS = build/tmp/idependonyou.js
MOOTOOLS_JS = build/tmp/mootools.js
MOOTOOLS_MORE_JS = src/assets/page/mootools-more.js
MOOTOOLS_CORE_VER = 1.6.0
BOOTSTRAP_CSS = assets/bootstrap.css
BOOTSTRAP_BRANCH = v4-dev
ADMIN_CSS = ./assets/admin.css
ADMIN_CSS_FILES = $(shell ls src/assets/admin/*.scss)
ADMIN_CSS_ENTRY = ./src/assets/admin/main.scss
PAGE_JS = assets/page.js
PAGE_JS_UNCOMPRESSED = build/tmp/page-uncompressed.js
PAGE_JS_UNCOMPRESSED_FILES = \
$(IDEPENDONYOU_JS) \
$(MOOTOOLS_JS) \
$(MOOTOOLS_MORE_JS) \
../../icanboogie/icanboogie/assets/icanboogie.js
JS_FILES = \
src/assets/admin/core.js \
src/assets/admin/string.js \
src/assets/admin/request.js \
src/assets/admin/admin.js \
src/assets/admin/alert.js \
src/assets/admin/actionbar.js \
src/assets/admin/form.js \
src/assets/admin/popover-image.js \
src/assets/admin/reset.js \
src/assets/admin/save-mode.js \
src/assets/admin/Spinner.js \
src/assets/admin/AdjustPopover.js \
src/assets/admin/Adjust.js \
src/assets/admin/img-dpr.js
JS_COMPRESSED = assets/admin.js
JS_UNCOMPRESSED = build/tmp/admin-uncompressed.js
PAGE_JS_FILES = \
$(IDEPENDONYOU_JS) \
build/tmp/mootools-core.js \
$(MOOTOOLS_MORE_JS)
all: \
$(PAGE_JS) \
$(JS_COMPRESSED) \
$(JS_UNCOMPRESSED) \
$(BOOTSTRAP_CSS) \
$(ADMIN_CSS)
$(PAGE_JS): $(PAGE_JS_UNCOMPRESSED)
$(JS_COMPRESSOR) >$@
$(PAGE_JS_UNCOMPRESSED): $(PAGE_JS_UNCOMPRESSED_FILES)
cat $^ >$@
$(IDEPENDONYOU_JS):
mkdir -p build/tmp
curl -o $@ https://raw.githubusercontent.com/olvlvl/IDependOnYou/master/idependonyou.js
$(MOOTOOLS_JS):
mkdir -p build/tmp
curl -o $@ https://raw.githubusercontent.com/mootools/mootools-core/$(MOOTOOLS_CORE_VER)/dist/mootools-core.js
$(BOOTSTRAP_CSS):
mkdir -p build/tmp
curl -o $@ https://raw.githubusercontent.com/twbs/bootstrap/$(BOOTSTRAP_BRANCH)/dist/css/bootstrap.min.css
#
#
#
$(JS_COMPRESSED): $(JS_UNCOMPRESSED)
$(JS_COMPRESSOR) >$@
$(JS_UNCOMPRESSED): $(JS_FILES)
cat $^ >$@
$(ADMIN_CSS): $(ADMIN_CSS_FILES)
$(CSS_COMPILER) $(CSS_COMPILER_OPTIONS) $(ADMIN_CSS_ENTRY):$@
watch-css:
echo "Watching SCSS files..."
$(CSS_COMPILER) $(CSS_COMPILER_OPTIONS) --watch $(ADMIN_CSS_ENTRY):$(ADMIN_CSS)
#
#
#
vendor:
@composer install
update:
@composer update
autoload:
@composer dump-autoload
test: vendor
@phpunit
test-coverage: vendor
@mkdir -p build/coverage
@phpunit --coverage-html build/coverage
doc: vendor
@mkdir -p build/docs
@apigen \
--source ./lib \
--destination build/docs/ --title Icybee \
--template-config /usr/share/php/data/ApiGen/templates/bootstrap/config.neon
clean:
rm -Rf build
rm -f composer.lock
rm -Rf vendor