1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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/options.css
$(call fiveui-files,$1/data,images)
$2: $(patsubst $(fiveui-dir)/%,$1/data/%,$(wildcard $(fiveui-dir)/images/*))
# Libraries ####################################################################
# 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
# simple libraries
$1/data/%: $(lib-dir)/% | $1/data
$$(call cmd,cp)
$2: $1/data/underscore.js \
$1/data/backbone.js \
$1/data/md5.js
# 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)
|