aboutsummaryrefslogtreecommitdiff
path: root/src/js/fiveui/build.mk
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/fiveui/build.mk')
-rw-r--r--src/js/fiveui/build.mk129
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)