]> git.gir.st - VimFx.git/blob - Makefile
Minor cleanup
[VimFx.git] / Makefile
1 .DEFAULT: all
2 .PHONY: clean gen zip release
3
4 V=@
5
6 plugin_archive := VimFx.xpi
7
8 coffee_files = extension/bootstrap.coffee
9 coffee_files += $(wildcard extension/packages/*.coffee)
10
11 js_files = $(coffee_files:.coffee=.js)
12
13 zip_files = chrome.manifest icon.png install.rdf options.xul resources locale
14 zip_files += $(subst extension/,,$(js_files))
15
16 all: clean gen zip
17 $(V)echo "Done dev"
18
19 release: clean gen min zip
20 $(V)echo "Done release"
21
22 min: $(js_files:.js=.min.js)
23 $(V)echo "Minifing js files…"
24
25 %.min.js: %.js
26 uglifyjs $< --screw-ie8 -c -m -o $<
27
28 lint: clean gen check
29
30 check: $(coffee_files:.coffee=.lint.coffee)
31 $(V)echo "Running coffeescript lint…"
32
33 %.lint.coffee: %.coffee
34 coffeelint -f lint-config.json $<
35
36 zip: $(plugin_archive)
37
38 $(plugin_archive): $(addprefix extension/,$(zip_files))
39 $(V)echo "Creating archive…"
40 $(V)cd extension && zip -qr ../$(plugin_archive) $(zip_files)
41
42 gen: $(js_files)
43
44 $(js_files):
45 $(V)echo "Generating js files…"
46 $(V)coffee -c --bare $(coffee_files)
47
48 clean:
49 $(V)echo "Performing clean…"
50 $(V)rm -f ./$(plugin_archive)
51 $(V)rm -f $(js_files)
Imprint / Impressum