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 FB |
8 | BANANA := $(shell ( [ -d ../banana ] && echo `pwd`"/../banana" ) || echo "/home/web/dev/banana") |
9 | ||
8fc4efa3 | 10 | VERSION = $(VERSNUM)$(VERSTAG) |
0337d704 | 11 | |
12 | PKG_NAME = platal | |
13 | PKG_DIST = $(PKG_NAME)-$(VERSION) | |
14 | PKG_FILES = AUTHORS ChangeLog COPYING README Makefile | |
15 | PKG_DIRS = configs htdocs include install.d plugins po scripts templates upgrade | |
16 | ||
17 | VCS_FILTER = ! -name .arch-ids ! -name CVS | |
18 | ||
5594f3a9 FB |
19 | define download |
20 | @echo "Downloading $@ from $(DOWNLOAD_SRC)" | |
21 | wget $(DOWNLOAD_SRC) -O $@ -q || ($(RM) $@; exit 1) | |
22 | endef | |
23 | ||
0337d704 | 24 | ################################################################################ |
25 | # global targets | |
26 | ||
27 | all: build | |
28 | ||
e97df22e | 29 | build: core conf static banana wiki openid medals jquery |
0337d704 | 30 | |
cef8ceb2 | 31 | check: |
1eaaa62d | 32 | @!(find . -name '*.php' -exec php -l {} ";" | grep -v 'No syntax errors detected') |
cef8ceb2 | 33 | |
fd48ab5f FB |
34 | test: |
35 | make -C core test | |
36 | ||
63528107 | 37 | q: |
38 | @echo -e "Code statistics\n" | |
39 | @sloccount $(filter-out wiki/ spool/, $(wildcard */)) 2> /dev/null | egrep '^[a-z]*:' | |
40 | ||
5e73ff67 | 41 | %: %.in Makefile ChangeLog |
0337d704 | 42 | sed -e 's,@VERSION@,$(VERSION),g' $< > $@ |
43 | ||
44 | ################################################################################ | |
b66268df | 45 | # targets |
91f37c81 | 46 | |
9380b1bf | 47 | ## |
48 | ## core | |
49 | ## | |
50 | ||
7e846cdf | 51 | core: |
ba47d308 | 52 | [ -d core/.git ] || ( git submodule init && git submodule update ) |
7e846cdf FB |
53 | make -C core all |
54 | ||
55 | ## | |
56 | ## conf | |
57 | ## | |
58 | ||
59 | conf: spool/templates_c spool/mails_c classes/platalglobals.php configs/platal.cron htdocs/.htaccess spool/conf spool/tmp | |
9380b1bf | 60 | |
fc1e1399 | 61 | spool/templates_c spool/mails_c spool/uploads spool/conf spool/tmp: |
91f37c81 | 62 | mkdir -p $@ |
63 | chmod o+w $@ | |
64 | ||
b6cdf7b4 | 65 | htdocs/.htaccess: htdocs/.htaccess.in Makefile |
66 | @REWRITE_BASE="/~$$(id -un)"; \ | |
67 | test "$$REWRITE_BASE" = "/~web" && REWRITE_BASE="/"; \ | |
68 | sed -e "s,@REWRITE_BASE@,$$REWRITE_BASE,g" $< > $@ | |
9380b1bf | 69 | |
70 | ## | |
e97df22e VZ |
71 | ## static content |
72 | ## | |
73 | static: htdocs/javascript@VERSION | |
74 | ||
75 | %@VERSION: % Makefile ChangeLog | |
76 | cd $< && rm -f $(VERSION) && ln -sf . $(VERSION) | |
77 | ||
78 | ## | |
9380b1bf | 79 | ## wiki |
80 | ## | |
81 | ||
82 | WIKI_NEEDS = \ | |
83 | wiki/local/farmconfig.php \ | |
84 | wiki/pub/skins/empty \ | |
85 | wiki/cookbook/e-protect.php \ | |
86 | spool/wiki.d \ | |
87 | htdocs/uploads \ | |
88 | htdocs/wiki \ | |
89 | ||
90 | wiki: get-wiki build-wiki | |
91 | ||
92 | build-wiki: $(WIKI_NEEDS) | get-wiki | |
93 | ||
c31c4e6a | 94 | htdocs/uploads: |
9380b1bf | 95 | cd htdocs && ln -sf ../spool/uploads |
96 | ||
97 | htdocs/wiki: | |
98 | cd htdocs && ln -sf ../wiki/pub wiki | |
99 | ||
100 | ||
91f37c81 | 101 | spool/wiki.d: |
b66268df | 102 | mkdir -p $@ |
103 | chmod o+w $@ | |
2c799249 | 104 | cd $@ && ln -sf ../../include/wiki/wiki.d/* . |
91f37c81 | 105 | |
9380b1bf | 106 | |
4887dc90 | 107 | wiki/cookbook/e-protect.php: |
2c799249 | 108 | cd wiki/cookbook && ln -sf ../../include/wiki/e-protect.php |
0337d704 | 109 | |
796aea34 | 110 | wiki/local/farmconfig.php: |
2c799249 | 111 | cd wiki/local/ && ln -sf ../../include/wiki/farmconfig.php |
b66268df | 112 | |
113 | wiki/pub/skins/empty: | |
2c799249 | 114 | cd wiki/pub/skins/ && ln -sf ../../../include/wiki/empty |
b66268df | 115 | |
9380b1bf | 116 | |
d207e9f5 | 117 | get-wiki: |
118 | @if ! test -d wiki; then \ | |
119 | wget http://www.pmwiki.org/pub/pmwiki/pmwiki-latest.tgz; \ | |
bba430bf AA |
120 | tar -xzvf pmwiki-latest.tgz; \ |
121 | rm pmwiki-latest.tgz; \ | |
122 | mv pmwiki-* wiki; \ | |
123 | fi | |
124 | ||
125 | ## | |
126 | ## openid | |
127 | ## | |
128 | ||
a1af4a99 | 129 | openid: get-openid spool/openid/store |
bba430bf AA |
130 | |
131 | # There is no obvious way to automatically use the latest version | |
34d91db6 | 132 | OPENID_VERSION = 2.1.3 |
bba430bf | 133 | get-openid: |
b69727b4 | 134 | @if ! test -d include/Auth; then \ |
34d91db6 VZ |
135 | wget http://openidenabled.com/files/php-openid/packages/php-openid-$(OPENID_VERSION).tar.bz2; \ |
136 | tar -xjf php-openid-$(OPENID_VERSION).tar.bz2; \ | |
137 | mv php-openid-$(OPENID_VERSION)/Auth include/; \ | |
138 | rm php-openid-$(OPENID_VERSION).tar.bz2; \ | |
139 | rm -r php-openid-$(OPENID_VERSION); \ | |
d207e9f5 | 140 | fi |
141 | ||
a1af4a99 AA |
142 | spool/openid/store: |
143 | mkdir -p $@ | |
144 | chmod o+w $@ | |
145 | ||
9380b1bf | 146 | ## |
147 | ## banana | |
148 | ## | |
149 | ||
5b677a86 | 150 | banana: htdocs/images/banana htdocs/css/banana.css include/banana/banana.inc.php |
34ce43db | 151 | htdocs/images/banana: |
d16e7c29 | 152 | cd $(@D) && ln -snf $(BANANA)/img $(@F) |
08dbcb5a | 153 | |
154 | htdocs/css/banana.css: | |
d16e7c29 | 155 | cd $(@D) && ln -snf $(BANANA)/css/style.css $(@F) |
5b677a86 FB |
156 | |
157 | include/banana/banana.inc.php: | |
d16e7c29 | 158 | cd $(@D) && find $(BANANA)/banana/ -name '*.php' -exec ln -snf {} . ";" |
5b677a86 | 159 | |
bd6a5fe3 VZ |
160 | ## |
161 | ## Medal thumbnails | |
162 | ## | |
163 | MEDAL_PICTURES=$(wildcard htdocs/images/medals/*.jpg) | |
164 | MEDAL_THUMBNAILS=$(subst /medals/,/medals/thumb/,$(MEDAL_PICTURES)) | |
165 | ||
166 | medals: $(MEDAL_THUMBNAILS) | |
5b677a86 | 167 | |
bd6a5fe3 VZ |
168 | $(MEDAL_THUMBNAILS): $(subst /medals/thumb/,/medals/,$(@F)) |
169 | convert -resize x50 $(subst /medals/thumb/,/medals/,$@) $@ | |
08dbcb5a | 170 | |
8c5c6d64 | 171 | ## |
172 | ## jquery | |
173 | ## | |
07ea8c0e | 174 | JQUERY_VERSION=1.4.2 |
5e35e81b | 175 | JQUERY_PLUGINS=color |
5594f3a9 FB |
176 | JQUERY_PLUGINS_PATHES=$(addprefix htdocs/javascript/jquery.,$(addsuffix .js,$(JQUERY_PLUGINS))) |
177 | ||
07ea8c0e | 178 | JQUERY_UI_VERSION=1.6 |
16019034 | 179 | JQUERY_UI=core tabs |
889d9807 | 180 | JQUERY_UI_PATHES=$(addprefix htdocs/javascript/jquery.ui.,$(addsuffix .js,$(JQUERY_UI))) |
16019034 | 181 | |
dd916657 VZ |
182 | # TODO: jquery.autocomplete.js should rather be downloaded from an official source. The issue |
183 | # is that the version we use is not available anymore on the Internet, and the latest version | |
184 | # we could use is not backward compatible with our current code. | |
2f8bacc2 | 185 | jquery: htdocs/javascript/jquery.js $(JQUERY_PLUGINS_PATHES) $(JQUERY_UI_PATHES) |
5594f3a9 | 186 | |
889d9807 FB |
187 | htdocs/javascript/jquery-$(JQUERY_VERSION).min.js: DOWNLOAD_SRC = http://jquery.com/src/$(@F) |
188 | htdocs/javascript/jquery-$(JQUERY_VERSION).min.js: | |
07ea8c0e | 189 | @-rm htdocs/javascript/jquery-*.min.js |
5594f3a9 | 190 | @$(download) |
8c5c6d64 | 191 | |
889d9807 | 192 | htdocs/javascript/jquery.js: htdocs/javascript/jquery-$(JQUERY_VERSION).min.js |
07ea8c0e | 193 | ln -snf $(<F) $@ |
889d9807 | 194 | |
5594f3a9 FB |
195 | $(JQUERY_PLUGINS_PATHES): DOWNLOAD_SRC = http://plugins.jquery.com/files/$(@F).txt |
196 | $(JQUERY_PLUGINS_PATHES): | |
07ea8c0e | 197 | @-rm htdocs/javascript/jquery.ui*.$*.js |
5594f3a9 | 198 | @$(download) |
de99248c | 199 | |
889d9807 FB |
200 | htdocs/javascript/jquery.ui-$(JQUERY_UI_VERSION).%.js: DOWNLOAD_SRC = http://jquery-ui.googlecode.com/svn/tags/$(JQUERY_UI_VERSION)/ui/ui.$*.js |
201 | htdocs/javascript/jquery.ui-$(JQUERY_UI_VERSION).%.js: | |
16019034 FB |
202 | @$(download) |
203 | ||
889d9807 | 204 | $(JQUERY_UI_PATHES): htdocs/javascript/jquery.ui.%.js: htdocs/javascript/jquery.ui-$(JQUERY_UI_VERSION).%.js |
07ea8c0e | 205 | ln -snf $(<F) $@ |
889d9807 | 206 | |
0337d704 | 207 | ################################################################################ |
b66268df | 208 | |
fd48ab5f | 209 | .PHONY: build dist clean core wiki build-wiki banana htdocs/images/banana htdocs/css/banana.css include/banana/banana.inc.php http* check test |
0337d704 | 210 |