2 .PHONY
: clean gen zip release
6 plugin_archive
:= VimFx.xpi
8 coffee_files
= extension
/bootstrap.coffee
9 coffee_files
+= $(wildcard extension
/packages
/*.coffee
)
11 js_files
= $(coffee_files
:.coffee
=.js
)
13 zip_files
= chrome.manifest icon.png
install.rdf options.xul resources locale
14 zip_files
+= $(subst extension
/,,$(js_files
))
19 release
: clean gen min zip
20 $(V
)echo
"Done release"
22 min
: $(js_files
:.js
=.min.js
)
23 $(V
)echo
"Minifing js files…"
26 uglifyjs
$< --screw-ie8
-c
-m
-o
$<
30 check: $(coffee_files
:.coffee
=.lint.coffee
)
31 $(V
)echo
"Running coffeescript lint…"
33 %.lint.coffee
: %.coffee
34 coffeelint
-f lint-config.json
$<
36 zip
: $(plugin_archive
)
38 $(plugin_archive
): $(addprefix extension
/,$(zip_files
))
39 $(V
)echo
"Creating archive…"
40 $(V
)cd extension
&& zip
-qr ..
/$(plugin_archive
) $(zip_files
)
45 $(V
)echo
"Generating js files…"
46 $(V
)coffee
-c
--bare
$(coffee_files
)
49 $(V
)echo
"Performing clean…"
50 $(V
)rm -f .
/$(plugin_archive
)