forked from jingyu9575/multithreaded-download-manager
/
Makefile
47 lines (35 loc) · 1003 Bytes
/
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
.PHONY: build other watch clean xpi
SRC_FILES := $(shell find src -type f)
FILES := $(subst src/, dist/, $(SRC_FILES))
FILES := $(FILES:.pug=.html)
FILES := $(FILES:.styl=.css)
FILES := $(FILES:.cson=.json)
OTHER_FILES := $(filter-out %.ts, $(FILES))
JS_FILES := $(filter %.ts, $(FILES))
JS_FILES := $(JS_FILES:.ts=.js)
build: $(OTHER_FILES) $(JS_FILES)
other: $(OTHER_FILES)
LOCALE := $(firstword $(subst ., ,$(LANG)))
$(JS_FILES): $(filter %.ts, $(SRC_FILES))
tsc --locale $(LOCALE)
dist/%.html: src/%.pug
mkdir -p $(@D)
pug -P < $< > $@
dist/%.json: src/%.cson
mkdir -p $(@D)
cson2json $< > $@
dist/%.css: src/%.styl
mkdir -p $(@D)
stylus < $< > $@
dist/%: src/%
mkdir -p $(@D)
cp $< $@
watch:
@exec 3>&1; while true; do \
make --no-print-directory other; \
inotifywait -qqre modify src; \
done 4>&1 >&3 3>&- | tsc --locale $(LOCALE) -w 3>&- | awk 'NF'
clean:
rm -rf dist
xpi: build
cd dist; zip -x 'README.md' -x 'LICENSE' -r -FS "../dist.unsigned.xpi" *