Index: trunk/extensions/UsabilityInitiative/Makefile |
— | — | @@ -1,167 +0,0 @@ |
2 | | -# |
3 | | -# Handy makefile to combine and minify css and javascript files |
4 | | -# |
5 | | -SHELL := /bin/bash |
6 | | - |
7 | | -CSS := \ |
8 | | - css/suggestions.css\ |
9 | | - css/vector.collapsibleNav.css\ |
10 | | - css/vector.expandableSearch.css\ |
11 | | - css/wikiEditor.css\ |
12 | | - css/wikiEditor.dialogs.css\ |
13 | | - css/wikiEditor.toc.css\ |
14 | | - css/wikiEditor.toolbar.css\ |
15 | | - css/wikiEditor.preview.css |
16 | | - |
17 | | -JUI := \ |
18 | | - js/js2stopgap/ui.core.js\ |
19 | | - js/js2stopgap/ui.datepicker.js\ |
20 | | - js/js2stopgap/ui.dialog.js\ |
21 | | - js/js2stopgap/ui.draggable.js\ |
22 | | - js/js2stopgap/ui.resizable.js\ |
23 | | - js/js2stopgap/ui.tabs.js |
24 | | - |
25 | | -PLUGINS := \ |
26 | | - js/usability.js\ |
27 | | - js/plugins/jquery.async.js\ |
28 | | - js/plugins/jquery.autoEllipsis.js\ |
29 | | - js/plugins/jquery.browser.js\ |
30 | | - js/plugins/jquery.collapsibleTabs.js\ |
31 | | - js/plugins/jquery.color.js\ |
32 | | - js/plugins/jquery.cookie.js\ |
33 | | - js/plugins/jquery.delayedBind.js\ |
34 | | - js/plugins/jquery.expandableField.js\ |
35 | | - js/plugins/jquery.highlightText.js\ |
36 | | - js/plugins/jquery.suggestions.js\ |
37 | | - js/plugins/jquery.textSelection.js\ |
38 | | - js/plugins/jquery.wikiEditor.js\ |
39 | | - js/plugins/jquery.wikiEditor.dialogs.js\ |
40 | | - js/plugins/jquery.wikiEditor.highlight.js\ |
41 | | - js/plugins/jquery.wikiEditor.preview.js\ |
42 | | - js/plugins/jquery.wikiEditor.publish.js\ |
43 | | - js/plugins/jquery.wikiEditor.templateEditor.js\ |
44 | | - js/plugins/jquery.wikiEditor.toc.js\ |
45 | | - js/plugins/jquery.wikiEditor.toolbar.js\ |
46 | | - js/thirdparty/contentCollector.js |
47 | | - |
48 | | -WIKIEDITOR_MODULES := \ |
49 | | - WikiEditor/Modules/Highlight/Highlight.js\ |
50 | | - WikiEditor/Modules/Preview/Preview.js\ |
51 | | - WikiEditor/Modules/Publish/Publish.js\ |
52 | | - WikiEditor/Modules/Toc/Toc.js\ |
53 | | - WikiEditor/Modules/Toolbar/Toolbar.js\ |
54 | | - WikiEditor/Modules/TemplateEditor/TemplateEditor.js\ |
55 | | - WikiEditor/Modules/AddMediaWizard/AddMediaWizard.js |
56 | | - |
57 | | -VECTOR_MODULES := \ |
58 | | - Vector/Modules/CollapsibleNav/CollapsibleNav.js\ |
59 | | - Vector/Modules/CollapsibleTabs/CollapsibleTabs.js\ |
60 | | - Vector/Modules/EditWarning/EditWarning.js\ |
61 | | - Vector/Modules/ExpandableSearch/ExpandableSearch.js\ |
62 | | - Vector/Modules/FooterCleanup/FooterCleanup.js\ |
63 | | - Vector/Modules/SimpleSearch/SimpleSearch.js |
64 | | - |
65 | | -USABILITYINITIATIVE_HOOKS := \ |
66 | | - css/combined.css\ |
67 | | - css/combined.min.css\ |
68 | | - $(CSS)\ |
69 | | - js/plugins.combined.js\ |
70 | | - js/plugins.combined.min.js\ |
71 | | - $(PLUGINS)\ |
72 | | - js/js2stopgap/jui.combined.js\ |
73 | | - js/js2stopgap/jui.combined.min.js\ |
74 | | - $(JUI) |
75 | | - |
76 | | -WIKIEDITOR_HOOKS := \ |
77 | | - $(WIKIEDITOR_MODULES)\ |
78 | | - WikiEditor/WikiEditor.combined.js\ |
79 | | - WikiEditor/WikiEditor.combined.min.js |
80 | | - |
81 | | -VECTOR_HOOKS := \ |
82 | | - $(VECTOR_MODULES)\ |
83 | | - Vector/Vector.combined.js\ |
84 | | - Vector/Vector.combined.min.js |
85 | | - |
86 | | -all: \ |
87 | | - $(USABILITYINITIATIVE_HOOKS)\ |
88 | | - $(WIKIEDITOR_HOOKS)\ |
89 | | - UsabilityInitiative.hooks.php\ |
90 | | - WikiEditor/WikiEditor.hooks.php\ |
91 | | - Vector/Vector.hooks.php |
92 | | - |
93 | | - |
94 | | -# JavaScript Combination |
95 | | - |
96 | | -js/js2stopgap/jui.combined.js: $(JUI) |
97 | | - cat $(JUI) > js/js2stopgap/jui.combined.js |
98 | | - |
99 | | -js/plugins.combined.js: $(PLUGINS) |
100 | | - cat $(PLUGINS) > js/plugins.combined.js |
101 | | - |
102 | | -WikiEditor/WikiEditor.combined.js: $(WIKIEDITOR_MODULES) |
103 | | - cat $(WIKIEDITOR_MODULES) > WikiEditor/WikiEditor.combined.js |
104 | | - |
105 | | -Vector/Vector.combined.js: $(VECTOR_MODULES) |
106 | | - cat $(VECTOR_MODULES) > Vector/Vector.combined.js |
107 | | - |
108 | | -# JavaScript Minification |
109 | | - |
110 | | -js/js2stopgap/jui.combined.min.js: js/js2stopgap/jui.combined.js jsmin |
111 | | - if [ -e ./jsmin ]; then ./jsmin < js/js2stopgap/jui.combined.js > js/js2stopgap/jui.combined.min.js;\ |
112 | | - else jsmin < js/js2stopgap/jui.combined.js > js/js2stopgap/jui.combined.min.js; fi |
113 | | - |
114 | | -js/plugins.combined.min.js : js/plugins.combined.js jsmin |
115 | | - if [ -e ./jsmin ]; then ./jsmin < js/plugins.combined.js > js/plugins.combined.min.js;\ |
116 | | - else jsmin < js/plugins.combined.js > js/plugins.combined.min.js; fi |
117 | | - |
118 | | -WikiEditor/WikiEditor.combined.min.js: WikiEditor/WikiEditor.combined.js |
119 | | - if [ -e ./jsmin ]; then ./jsmin < WikiEditor/WikiEditor.combined.js > WikiEditor/WikiEditor.combined.min.js;\ |
120 | | - else jsmin < WikiEditor/WikiEditor.combined.js > WikiEditor/WikiEditor.combined.min.js; fi |
121 | | - |
122 | | -Vector/Vector.combined.min.js: Vector/Vector.combined.js |
123 | | - if [ -e ./jsmin ]; then ./jsmin < Vector/Vector.combined.js > Vector/Vector.combined.min.js;\ |
124 | | - else jsmin < Vector/Vector.combined.js > Vector/Vector.combined.min.js; fi |
125 | | - |
126 | | -# CSS Combination |
127 | | - |
128 | | -css/combined.css: $(CSS) |
129 | | - cat $(CSS) > css/combined.css |
130 | | - |
131 | | -# CSS Minification |
132 | | - |
133 | | -css/combined.min.css : css/combined.css |
134 | | - cat css/combined.css | sed -e 's/^[ ]*//g; s/[ ]*$$//g; s/\([:{;,]\) /\1/g; s/ {/{/g; s/\/\*.*\*\///g; /^$$/d'\ |
135 | | - > css/combined.min.css |
136 | | - |
137 | | -# JSMin - For more info on JSMin, see: http://www.crockford.com/javascript/jsmin.html |
138 | | - |
139 | | -jsmin: |
140 | | - type -P jsmin &>/dev/null || ( wget http://www.crockford.com/javascript/jsmin.c; gcc jsmin.c -o jsmin ) |
141 | | - |
142 | | -# Simple incrementer of versions |
143 | | - |
144 | | -UsabilityInitiative.hooks.php: $(USABILITYINITIATIVE_HOOKS) |
145 | | -WikiEditor/WikiEditor.hooks.php: $(WIKIEDITOR_HOOKS) |
146 | | -Vector/Vector.hooks.php: $(VECTOR_HOOKS) |
147 | | - |
148 | | -# - Metarule for the above three files - |
149 | | -# For each modified file (make $?): |
150 | | -# Set $basefile to the path relative to the file being modified (ie. strip the folder). |
151 | | -# Use sed to replace the line for that file with '+1' appended to the version. |
152 | | -# Note that $${basefile//\//\\/} expands in the shell to $basefile with all slashes escaped. |
153 | | -# End for |
154 | | -# For each group of summing numbers inside the target file, use shell arithmetic expansion to calculate the sum. |
155 | | -# Replace all numbers at once with sed. The replacements are preceded have a leading ; an empty expression about which sed doesn't care. |
156 | | -%.hooks.php: $(WIKIEDITOR_HOOKS) |
157 | | - for file in $?; do basefile="$${file#$(shell echo $* | sed "s/\([^\/]*\/\).*/\\1/")}"; sed -e "s/\(.*'src' => '$${basefile//\//\\/}', 'version' => \)\([0-9+]*\)\(.*\)/\\1\\2+1\\3/" $@ > $@.counter && cat $@.counter > $@; done; \ |
158 | | - RE=""; for i in $$(sed -n 's/.* \([0-9][0-9]*+[0-9+]*\) .*/\1/p' $@.counter); do RE="$$RE;s/ $$i / $$(($$i)) /"; done; sed -e "$$RE" $@.counter > $@ && rm $@.counter |
159 | | - |
160 | | -# Actions |
161 | | - |
162 | | -distclean: clean |
163 | | - rm -rf jsmin |
164 | | - rm -rf jsmin.c |
165 | | - |
166 | | -clean: |
167 | | - rm -f js/plugins.combined.* |
168 | | - rm -f css/combined.* |