]> git.gir.st - VimFx.git/blob - Makefile
Refactor preferences defaults, prepare for enabling preferences sync
[VimFx.git] / Makefile
1 .DEFAULT: all
2 .PHONY: clean lint release
3
4 V=@
5
6 plugin_archive := VimFx.xpi
7
8 coffee_files = extension/bootstrap.coffee
9 coffee_files += $(shell find extension/packages -type f -name '*.coffee')
10
11 js_files = $(coffee_files:.coffee=.js)
12
13 zip_files = chrome.manifest icon.png install.rdf options.xul resources locale defaults
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: say-min $(js_files:.js=.min.js)
23
24 say-min:
25 $(V)echo "Minifing js files…"
26
27 %.min.js: %.js
28 $(V)uglifyjs $< --screw-ie8 -c -m -o $<
29
30 lint:
31 $(V)echo "Running coffeescript lint…"
32 $(V)coffeelint -f lint-config.json $(coffee_files)
33
34 zip: $(plugin_archive)
35
36 $(plugin_archive): $(addprefix extension/,$(zip_files))
37 $(V)echo "Creating archive…"
38 $(V)cd extension && zip -qr ../$(plugin_archive) $(zip_files)
39
40 gen: $(js_files)
41
42 $(js_files):
43 $(V)echo "Generating js files…"
44 $(V)coffee -c --bare $(coffee_files)
45
46 clean:
47 $(V)echo "Performing clean…"
48 $(V)rm -f ./$(plugin_archive)
49 $(V)rm -f $(js_files)
Imprint / Impressum