2 .PHONY
: clean lint release
6 plugin_archive
:= VimFx.xpi
8 coffee_files
= extension
/bootstrap.coffee
9 coffee_files
+= $(shell find extension
/packages
-type f
-name
'*.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
: say-min
$(js_files
:.js
=.min.js
)
25 $(V
)echo
"Minifing js files…"
28 $(V
)uglifyjs
$< --screw-ie8
-c
-m
-o
$<
31 $(V
)echo
"Running coffeescript lint…"
32 $(V
)coffeelint
-f lint-config.json
$(coffee_files
)
34 zip
: $(plugin_archive
)
36 $(plugin_archive
): $(addprefix extension
/,$(zip_files
))
37 $(V
)echo
"Creating archive…"
38 $(V
)cd extension
&& zip
-qr ..
/$(plugin_archive
) $(zip_files
)
43 $(V
)echo
"Generating js files…"
44 $(V
)coffee
-c
--bare
$(coffee_files
)
47 $(V
)echo
"Performing clean…"
48 $(V
)rm -f .
/$(plugin_archive
)