diff options
Diffstat (limited to 'src/js/fiveui/build.mk')
-rw-r--r-- | src/js/fiveui/build.mk | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/src/js/fiveui/build.mk b/src/js/fiveui/build.mk new file mode 100644 index 0000000..aeb00a1 --- /dev/null +++ b/src/js/fiveui/build.mk @@ -0,0 +1,129 @@ + +# Generic FiveUI Build Staging ################################################# + +fiveui-dir := $(path) +lib-dir := $(topdir)/src/js/lib +fiveui-files := $(shell find $(fiveui-dir)) + + +# $1 - target directory +# $2 - $(topdir)/src/js/fiveui relative directory +define fiveui-files + +# scripts in the target +$1/$2: | $1 + $$(call cmd,mkdir) + +$1/$2/%: $(fiveui-dir)/$2/% | $1/$2 + $$(call cmd,cp) + +endef + + +# Because firefox has strange requirements on the layout of the extension +# directory, we just use that as the layout for all extensions. +# +# $1 - sub-directory off of $(build-dir) to stage into +# $2 - top-level target to augment with dependencies +define stage-fiveui + +# Common Files ################################################################# + +$1/data/injected/injected.css: $(build-dir)/injected.css + $$(call cmd,cp) + +$(call fiveui-files,$1/data,injected) +$2: $1/data/injected/compute.js \ + $1/data/injected/ui.js \ + $1/data/injected/injected.css \ + $1/data/injected/prelude.js \ + $1/data/injected/jquery-plugins.js + + +$(call fiveui-files,$1/data,js) +$2: $(patsubst $(fiveui-dir)/%,$1/data/%,$(wildcard $(fiveui-dir)/js/*)) + + +$(call fiveui-files,$1/data,css) +$2: $1/data/css/entry.css \ + $1/data/css/options.css + + +$(call fiveui-files,$1/data,images) +$2: $(patsubst $(fiveui-dir)/%,$1/data/%,$(wildcard $(fiveui-dir)/images/*)) + + +# Libraries #################################################################### + +# simple libraries +$1/data/%: $(lib-dir)/% | $1/data + $$(call cmd,cp) + +$2: $1/data/underscore.js \ + $1/data/backbone.js \ + $1/data/md5.js + + +# jquery +$1/data/jquery: | $1/data + $$(call cmd,mkdir) + +$1/data/jquery/bundled.css: $(build-dir)/bundled.css + $$(call cmd,cp) + +$1/data/jquery/%: $(lib-dir)/jquery/% | $1/data/jquery + $$(call cmd,cp) + +$2: $1/data/jquery/jquery-1.8.3.js \ + $1/data/jquery/jquery-ui-1.9.2.custom.js \ + $1/data/jquery/bundled.css + + +# Other Files ################################################################## + +# top-level fiveui stuff +$1/data/%: $(fiveui-dir)/% | $1/data + $$(call cmd,cp) + +$2: $1/data/options.html + + +$1/data: | $1 + $$(call cmd,mkdir) + + + +# files provided by the platform +$2: $1/data/js/platform-ajax.js \ + $1/data/js/platform-options.js \ + $1/data/injected/platform-compute.js \ + $1/data/injected/platform-ui.js + + +endef + + +# Generic Bundled jQuery CSS ################################################### + +css-bundle := $(topdir)/tools/bin/css-bundle.py + +quiet_cmd_cssbundle = CSSC $(call drop-prefix,$@) + cmd_cssbundle = ( cd $(dir $(TARGET)) && \ + $(css-bundle) $(notdir $(TARGET)) $@ $(redir) ) + +$(build-dir)/bundled.css: TARGET := $(lib-dir)/jquery/css/ui-lightness/jquery-ui.css +$(build-dir)/bundled.css: \ + $(wildcard $(lib-dir)/jquery/css/ui-lightness/*.css) \ + $(wildcard $(lib-dir)/jquery/css/ui-lightness/images/*.png) \ + | $(build-dir) + $(call cmd,cssbundle) + +$(build-dir)/injected.css: TARGET := $(fiveui-dir)/injected/injected.css +$(build-dir)/injected.css: \ + $(fiveui-dir)/injected/injected.css \ + $(fiveui-dir)/images/errorCircle.png \ + $(fiveui-dir)/images/warningTriangle.png \ + $(fiveui-dir)/images/right-arrow.png \ + $(fiveui-dir)/images/down-arrow.png \ + | $(build-dir) + $(call cmd,cssbundle) |