Commit | Line | Data |
---|---|---|
b6cdf7b4 | 1 | |
0337d704 | 2 | # $Id: Makefile,v 1.5 2004/11/25 20:18:39 x99laine Exp $ |
3 | ################################################################################ | |
4 | # definitions | |
5 | ||
8fc4efa3 | 6 | VERSNUM := $(shell grep VERSION ChangeLog | head -1 | sed -e "s/VERSION //;s/ .*//") |
7 | VERSTAG := $(shell grep VERSION ChangeLog | head -1 | grep 'XX' > /dev/null 2> /dev/null && echo 'beta') | |
5b677a86 | 8 | |
8fc4efa3 | 9 | VERSION = $(VERSNUM)$(VERSTAG) |
0337d704 | 10 | |
11 | PKG_NAME = platal | |
12 | PKG_DIST = $(PKG_NAME)-$(VERSION) | |
13 | PKG_FILES = AUTHORS ChangeLog COPYING README Makefile | |
14 | PKG_DIRS = configs htdocs include install.d plugins po scripts templates upgrade | |
15 | ||
16 | VCS_FILTER = ! -name .arch-ids ! -name CVS | |
17 | ||
5594f3a9 FB |
18 | define download |
19 | @echo "Downloading $@ from $(DOWNLOAD_SRC)" | |
20 | wget $(DOWNLOAD_SRC) -O $@ -q || ($(RM) $@; exit 1) | |
21 | endef | |
22 | ||
0337d704 | 23 | ################################################################################ |
24 | # global targets | |
25 | ||
26 | all: build | |
27 | ||
e97df22e | 28 | build: core conf static banana wiki openid medals jquery |
0337d704 | 29 | |
cef8ceb2 | 30 | check: |
1eaaa62d | 31 | @!(find . -name '*.php' -exec php -l {} ";" | grep -v 'No syntax errors detected') |
cef8ceb2 | 32 | |
fd48ab5f FB |
33 | test: |
34 | make -C core test | |
35 | ||
63528107 | 36 | q: |
37 | @echo -e "Code statistics\n" | |
38 | @sloccount $(filter-out wiki/ spool/, $(wildcard */)) 2> /dev/null | egrep '^[a-z]*:' | |
39 | ||
5e73ff67 | 40 | %: %.in Makefile ChangeLog |
0337d704 | 41 | sed -e 's,@VERSION@,$(VERSION),g' $< > $@ |
42 | ||
8b944f3e FB |
43 | up: update |
44 | update: | |
45 | @git fetch && git rebase `git symbolic-ref HEAD | sed -e 's~refs/heads/~origin/~'` && git submodule update | |
46 | ||
0337d704 | 47 | ################################################################################ |
b66268df | 48 | # targets |
91f37c81 | 49 | |
9380b1bf | 50 | ## |
51 | ## core | |
52 | ## | |
53 | ||
7e846cdf | 54 | core: |
ba47d308 | 55 | [ -d core/.git ] || ( git submodule init && git submodule update ) |
7e846cdf FB |
56 | make -C core all |
57 | ||
58 | ## | |
59 | ## conf | |
60 | ## | |
61 | ||
5f0ecf6c | 62 | conf: spool/templates_c spool/mails_c classes/platalglobals.php configs/platal.cron htdocs/.htaccess spool/conf spool/tmp spool/banana |
9380b1bf | 63 | |
5f0ecf6c | 64 | spool/templates_c spool/mails_c spool/uploads spool/conf spool/tmp spool/run spool/banana: |
91f37c81 | 65 | mkdir -p $@ |
66 | chmod o+w $@ | |
67 | ||
b6cdf7b4 | 68 | htdocs/.htaccess: htdocs/.htaccess.in Makefile |
69 | @REWRITE_BASE="/~$$(id -un)"; \ | |
70 | test "$$REWRITE_BASE" = "/~web" && REWRITE_BASE="/"; \ | |
71 | sed -e "s,@REWRITE_BASE@,$$REWRITE_BASE,g" $< > $@ | |
9380b1bf | 72 | |
73 | ## | |
e97df22e VZ |
74 | ## static content |
75 | ## | |
e5b254d5 FB |
76 | static: htdocs/javascript/core.js htdocs/javascript@VERSION |
77 | ||
78 | htdocs/javascript/core.js: | |
79 | cd htdocs/javascript/ && ln -s ../../core/htdocs/javascript/core.js | |
e97df22e VZ |
80 | |
81 | %@VERSION: % Makefile ChangeLog | |
82 | cd $< && rm -f $(VERSION) && ln -sf . $(VERSION) | |
83 | ||
84 | ## | |
9380b1bf | 85 | ## wiki |
86 | ## | |
87 | ||
88 | WIKI_NEEDS = \ | |
89 | wiki/local/farmconfig.php \ | |
90 | wiki/pub/skins/empty \ | |
91 | wiki/cookbook/e-protect.php \ | |
92 | spool/wiki.d \ | |
93 | htdocs/uploads \ | |
94 | htdocs/wiki \ | |
95 | ||
96 | wiki: get-wiki build-wiki | |
97 | ||
98 | build-wiki: $(WIKI_NEEDS) | get-wiki | |
99 | ||
c31c4e6a | 100 | htdocs/uploads: |
9380b1bf | 101 | cd htdocs && ln -sf ../spool/uploads |
102 | ||
103 | htdocs/wiki: | |
104 | cd htdocs && ln -sf ../wiki/pub wiki | |
105 | ||
106 | ||
91f37c81 | 107 | spool/wiki.d: |
b66268df | 108 | mkdir -p $@ |
109 | chmod o+w $@ | |
2c799249 | 110 | cd $@ && ln -sf ../../include/wiki/wiki.d/* . |
91f37c81 | 111 | |
9380b1bf | 112 | |
4887dc90 | 113 | wiki/cookbook/e-protect.php: |
2c799249 | 114 | cd wiki/cookbook && ln -sf ../../include/wiki/e-protect.php |
0337d704 | 115 | |
796aea34 | 116 | wiki/local/farmconfig.php: |
2c799249 | 117 | cd wiki/local/ && ln -sf ../../include/wiki/farmconfig.php |
b66268df | 118 | |
119 | wiki/pub/skins/empty: | |
2c799249 | 120 | cd wiki/pub/skins/ && ln -sf ../../../include/wiki/empty |
b66268df | 121 | |
9380b1bf | 122 | |
d207e9f5 | 123 | get-wiki: |
124 | @if ! test -d wiki; then \ | |
91a3c521 FB |
125 | wget http://www.pmwiki.org/pub/pmwiki/pmwiki-latest.tgz; \ |
126 | tar -xzvf pmwiki-latest.tgz; \ | |
127 | rm pmwiki-latest.tgz; \ | |
128 | mv pmwiki-* wiki; \ | |
bba430bf AA |
129 | fi |
130 | ||
131 | ## | |
132 | ## openid | |
133 | ## | |
134 | ||
a1af4a99 | 135 | openid: get-openid spool/openid/store |
bba430bf AA |
136 | |
137 | # There is no obvious way to automatically use the latest version | |
91a3c521 FB |
138 | OPENID_VERSION = 2.2.2 |
139 | OPENID_COMMIT = 782224d | |
bba430bf | 140 | get-openid: |
b69727b4 | 141 | @if ! test -d include/Auth; then \ |
91a3c521 FB |
142 | wget --no-check-certificate \ |
143 | https://github.com/openid/php-openid/tarball/$(OPENID_VERSION) \ | |
144 | -O php-openid-$(OPENID_VERSION).tar.gz; \ | |
145 | tar -xzf php-openid-$(OPENID_VERSION).tar.gz; \ | |
146 | mv openid-php-openid-$(OPENID_COMMIT)/Auth include/; \ | |
147 | rm php-openid-$(OPENID_VERSION).tar.gz; \ | |
148 | rm -r openid-php-openid-$(OPENID_COMMIT); \ | |
d207e9f5 | 149 | fi |
150 | ||
a1af4a99 AA |
151 | spool/openid/store: |
152 | mkdir -p $@ | |
153 | chmod o+w $@ | |
154 | ||
9380b1bf | 155 | ## |
156 | ## banana | |
157 | ## | |
c3b581dc | 158 | banana: htdocs/images/banana htdocs/css/banana.css |
1fccdc24 | 159 | htdocs/images/banana: banana-sub |
bdf8bbb2 | 160 | cd $(@D) && ln -snf ../../banana/img $(@F) |
08dbcb5a | 161 | |
1fccdc24 | 162 | htdocs/css/banana.css: banana-sub |
bdf8bbb2 | 163 | cd $(@D) && ln -snf ../../banana/css/style.css $(@F) |
5b677a86 | 164 | |
1fccdc24 FB |
165 | banana-sub: |
166 | make -C banana | |
5b677a86 | 167 | |
bd6a5fe3 VZ |
168 | ## |
169 | ## Medal thumbnails | |
170 | ## | |
171 | MEDAL_PICTURES=$(wildcard htdocs/images/medals/*.jpg) | |
172 | MEDAL_THUMBNAILS=$(subst /medals/,/medals/thumb/,$(MEDAL_PICTURES)) | |
173 | ||
174 | medals: $(MEDAL_THUMBNAILS) | |
5b677a86 | 175 | |
bd6a5fe3 VZ |
176 | $(MEDAL_THUMBNAILS): $(subst /medals/thumb/,/medals/,$(@F)) |
177 | convert -resize x50 $(subst /medals/thumb/,/medals/,$@) $@ | |
08dbcb5a | 178 | |
8c5c6d64 | 179 | ## |
180 | ## jquery | |
181 | ## | |
aa0909f4 | 182 | JQUERY_VERSION=1.4.4 |
21fb012b | 183 | JQUERY_PLUGINS=color form |
5594f3a9 FB |
184 | JQUERY_PLUGINS_PATHES=$(addprefix htdocs/javascript/jquery.,$(addsuffix .js,$(JQUERY_PLUGINS))) |
185 | ||
aa0909f4 | 186 | JQUERY_UI_VERSION=1.8.7 |
b7bad73e | 187 | JQUERY_UI=core widget tabs datepicker |
889d9807 | 188 | JQUERY_UI_PATHES=$(addprefix htdocs/javascript/jquery.ui.,$(addsuffix .js,$(JQUERY_UI))) |
16019034 | 189 | |
aa0909f4 FB |
190 | JQUERY_TMPL_VERSION=vBeta1.0.0 |
191 | JQUERY_TMPL_PATH=htdocs/javascript/jquery.tmpl.js | |
192 | ||
150a0a91 SJ |
193 | JSTREE_VERSION=1.0rc2 |
194 | JSTREE_PATH=htdocs/javascript/jquery.jstree.js | |
195 | ||
dd916657 VZ |
196 | # TODO: jquery.autocomplete.js should rather be downloaded from an official source. The issue |
197 | # is that the version we use is not available anymore on the Internet, and the latest version | |
198 | # we could use is not backward compatible with our current code. | |
b7bad73e FB |
199 | jquery: htdocs/javascript/jquery.xorg.js htdocs/javascript/jquery.ui.xorg.js $(JSTREE_PATH) |
200 | ||
201 | htdocs/javascript/jquery.xorg.js: htdocs/javascript/jquery.js $(JQUERY_PLUGINS_PATHES) $(JQUERY_TMPL_PATH) htdocs/javascript/jquery.autocomplete.js | |
202 | cat $^ > $@ | |
203 | ||
204 | htdocs/javascript/jquery.ui.xorg.js: $(JQUERY_UI_PATHES) htdocs/javascript/jquery.ui.datepicker-fr.js | |
205 | cat $^ > $@ | |
5594f3a9 | 206 | |
889d9807 FB |
207 | htdocs/javascript/jquery-$(JQUERY_VERSION).min.js: DOWNLOAD_SRC = http://jquery.com/src/$(@F) |
208 | htdocs/javascript/jquery-$(JQUERY_VERSION).min.js: | |
07ea8c0e | 209 | @-rm htdocs/javascript/jquery-*.min.js |
5594f3a9 | 210 | @$(download) |
8c5c6d64 | 211 | |
889d9807 | 212 | htdocs/javascript/jquery.js: htdocs/javascript/jquery-$(JQUERY_VERSION).min.js |
07ea8c0e | 213 | ln -snf $(<F) $@ |
889d9807 | 214 | |
21fb012b | 215 | $(JQUERY_PLUGINS_PATHES): DOWNLOAD_SRC = http://plugins.jquery.com/files/$(@F)_0.txt |
5594f3a9 | 216 | $(JQUERY_PLUGINS_PATHES): |
07ea8c0e | 217 | @-rm htdocs/javascript/jquery.ui*.$*.js |
5594f3a9 | 218 | @$(download) |
de99248c | 219 | |
1b50c20c | 220 | htdocs/javascript/jquery.ui-$(JQUERY_UI_VERSION).%.js: DOWNLOAD_SRC = http://jquery-ui.googlecode.com/svn/tags/$(JQUERY_UI_VERSION)/ui/minified/jquery.ui.$*.min.js |
889d9807 | 221 | htdocs/javascript/jquery.ui-$(JQUERY_UI_VERSION).%.js: |
16019034 FB |
222 | @$(download) |
223 | ||
31d63ae1 FB |
224 | htdocs/javascript/jquery.ui-$(JQUERY_UI_VERSION).datepicker-fr.js: DOWNLOAD_SRC = http://jquery-ui.googlecode.com/svn/tags/$(JQUERY_UI_VERSION)/ui/minified/i18n/jquery.ui.datepicker-fr.min.js |
225 | htdocs/javascript/jquery.ui-$(JQUERY_UI_VERSION).datepicker-fr.js: | |
226 | @$(download) | |
227 | ||
228 | $(JQUERY_UI_PATHES) htdocs/javascript/jquery.ui.datepicker-fr.js: htdocs/javascript/jquery.ui.%.js: htdocs/javascript/jquery.ui-$(JQUERY_UI_VERSION).%.js | |
07ea8c0e | 229 | ln -snf $(<F) $@ |
889d9807 | 230 | |
2c101eaa | 231 | htdocs/javascript/jquery.tmpl-$(JQUERY_TMPL_VERSION).js: DOWNLOAD_SRC = https://github.com/jquery/jquery-tmpl/raw/$(JQUERY_TMPL_VERSION)/jquery.tmpl.js --no-check-certificate |
aa0909f4 FB |
232 | htdocs/javascript/jquery.tmpl-$(JQUERY_TMPL_VERSION).js: |
233 | @-rm htdocs/javascript/jquery.tmpl*.js | |
234 | @$(download) | |
235 | ||
236 | $(JQUERY_TMPL_PATH): htdocs/javascript/jquery.tmpl-$(JQUERY_TMPL_VERSION).js | |
237 | ln -snf $(<F) $@ | |
238 | ||
150a0a91 SJ |
239 | $(JSTREE_PATH): |
240 | rm -f htdocs/javascript/jquery.jstree-*.js | |
241 | mkdir spool/tmp/jstree | |
242 | wget http://jstree.googlecode.com/files/jsTree.v.$(JSTREE_VERSION).zip -O spool/tmp/jstree/jquery.jstree-$(JSTREE_VERSION).zip | |
243 | unzip spool/tmp/jstree/jquery.jstree-$(JSTREE_VERSION).zip -d spool/tmp/jstree/ | |
244 | mv -f spool/tmp/jstree/themes/default/style.css htdocs/css/jstree.css | |
245 | mv -f spool/tmp/jstree/themes/default/d.png htdocs/images/jstree.png | |
246 | mv -f spool/tmp/jstree/jquery.jstree.js htdocs/javascript/jquery.jstree-$(JSTREE_VERSION).js | |
ac639b4c PC |
247 | sed -i -e 's/"d\.png"/"..\/images\/jstree.png"/' htdocs/css/jstree.css |
248 | sed -i -e 's/"throbber\.gif"/"..\/images\/wait.gif"/' htdocs/css/jstree.css | |
249 | sed -i -e 's/#ffffee/inherit/' htdocs/css/jstree.css | |
150a0a91 SJ |
250 | ln -snf jquery.jstree-$(JSTREE_VERSION).js htdocs/javascript/jquery.jstree.js |
251 | rm -Rf spool/tmp/jstree | |
252 | ||
253 | ||
c5644a5b FB |
254 | ## |
255 | ## lists rpc | |
256 | ## | |
257 | start-listrpc: spool/run | |
258 | sudo -u list /sbin/start-stop-daemon --pidfile spool/run/listrpc.pid -m -b -x $$PWD/bin/lists.rpc.py --start | |
259 | @sleep 2 | |
260 | @sudo -u list kill -0 $$(cat spool/run/listrpc.pid) | |
261 | ||
262 | start-listrpc-fg: spool/run | |
263 | sudo -u list ./bin/lists.rpc.py | |
264 | ||
265 | stop-listrpc: | |
266 | -sudo -u list /sbin/start-stop-daemon --pidfile spool/run/listrpc.pid --stop | |
267 | @-rm -f spool/run/listrpc.pid | |
268 | ||
269 | restart-listrpc: stop-listrpc start-listrpc | |
270 | ||
0337d704 | 271 | ################################################################################ |
b66268df | 272 | |
c3b581dc FB |
273 | .PHONY: build dist clean core http* check test |
274 | .PHONY: wiki build-wiki | |
275 | .PHONY: banana banana-sub htdocs/images/banana htdocs/css/banana.css | |
c5644a5b | 276 | .PHONY: start-listrpc start-listrpc-fg stop-listrpc restart-listrpc |
8b944f3e | 277 | .PHONY: up update |