2 # $Id: Makefile,v 1.5 2004/11/25 20:18:39 x99laine Exp $
3 ################################################################################
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')
8 BANANA
:= $(shell ( [ -d ..
/banana
] && echo
`pwd`"/../banana" ) || echo
"/home/web/dev/banana")
10 VERSION
= $(VERSNUM
)$(VERSTAG
)
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
17 VCS_FILTER
= ! -name .arch-ids
! -name CVS
20 @echo
"Downloading $@ from $(DOWNLOAD_SRC)"
21 wget
$(DOWNLOAD_SRC
) -O
$@
-q ||
($(RM
) $@
; exit
1)
24 ################################################################################
29 build
: core conf static banana wiki openid medals jquery
32 @
!(find .
-name
'*.php' -exec php
-l
{} ";" | grep
-v
'No syntax errors detected')
35 @echo
-e
"Code statistics\n"
36 @sloccount
$(filter-out wiki
/ spool
/, $(wildcard */)) 2> /dev
/null | egrep
'^[a-z]*:'
38 %: %.in Makefile ChangeLog
39 sed
-e
's,@VERSION@,$(VERSION),g' $< > $@
41 ################################################################################
49 [ -d core
/.git
] ||
( git submodule init
&& git submodule update
)
56 conf
: spool
/templates_c spool
/mails_c classes
/platalglobals.php configs
/platal.cron htdocs
/.htaccess spool
/conf spool
/tmp
58 spool
/templates_c spool
/mails_c spool
/uploads spool
/conf spool
/tmp
:
62 htdocs
/.htaccess
: htdocs
/.htaccess.in Makefile
63 @REWRITE_BASE
="/~$$(id -un)"; \
64 test "$$REWRITE_BASE" = "/~web" && REWRITE_BASE
="/"; \
65 sed
-e
"s,@REWRITE_BASE@,$$REWRITE_BASE,g" $< > $@
70 static
: htdocs
/javascript@VERSION
72 %@VERSION
: % Makefile ChangeLog
73 cd
$< && rm -f
$(VERSION
) && ln
-sf .
$(VERSION
)
80 wiki
/local
/farmconfig.php \
81 wiki
/pub
/skins
/empty \
82 wiki
/cookbook
/e-protect.php \
87 wiki
: get-wiki build-wiki
89 build-wiki
: $(WIKI_NEEDS
) | get-wiki
92 cd htdocs
&& ln
-sf ..
/spool
/uploads
95 cd htdocs
&& ln
-sf ..
/wiki
/pub wiki
101 cd
$@
&& ln
-sf ..
/..
/include/wiki
/wiki.d
/* .
104 wiki
/cookbook
/e-protect.php
:
105 cd wiki
/cookbook
&& ln
-sf ..
/..
/include/wiki
/e-protect.php
107 wiki
/local
/farmconfig.php
:
108 cd wiki
/local
/ && ln
-sf ..
/..
/include/wiki
/farmconfig.php
110 wiki
/pub
/skins
/empty
:
111 cd wiki
/pub
/skins
/ && ln
-sf ..
/..
/..
/include/wiki
/empty
115 @if
! test -d wiki
; then \
116 wget http
://www.pmwiki.org
/pub
/pmwiki
/pmwiki-latest.tgz
; \
117 tar -xzvf pmwiki-latest.tgz
; \
118 rm pmwiki-latest.tgz
; \
126 openid
: get-openid spool
/openid
/store
128 # There is no obvious way to automatically use the latest version
129 OPENID_VERSION
= 2.1.3
131 @if
! test -d
include/Auth
; then \
132 wget http
://openidenabled.com
/files
/php-openid
/packages
/php-openid-
$(OPENID_VERSION
).
tar.bz2
; \
133 tar -xjf php-openid-
$(OPENID_VERSION
).
tar.bz2
; \
134 mv php-openid-
$(OPENID_VERSION
)/Auth
include/; \
135 rm php-openid-
$(OPENID_VERSION
).
tar.bz2
; \
136 rm -r php-openid-
$(OPENID_VERSION
); \
147 banana
: htdocs
/images
/banana htdocs
/css
/banana.css
include/banana
/banana.inc.php
148 htdocs
/images
/banana
:
149 cd
$(@D
) && ln
-snf
$(BANANA
)/img
$(@F
)
151 htdocs
/css
/banana.css
:
152 cd
$(@D
) && ln
-snf
$(BANANA
)/css
/style.css
$(@F
)
154 include/banana
/banana.inc.php
:
155 cd
$(@D
) && find
$(BANANA
)/banana
/ -name
'*.php' -exec ln
-snf
{} .
";"
160 MEDAL_PICTURES
=$(wildcard htdocs
/images
/medals
/*.jpg
)
161 MEDAL_THUMBNAILS
=$(subst /medals
/,/medals
/thumb
/,$(MEDAL_PICTURES
))
163 medals
: $(MEDAL_THUMBNAILS
)
165 $(MEDAL_THUMBNAILS
): $(subst /medals
/thumb
/,/medals
/,$(@F
))
166 convert
-resize x50
$(subst /medals
/thumb
/,/medals
/,$@
) $@
173 JQUERY_PLUGINS_PATHES
=$(addprefix htdocs
/javascript
/jquery.
,$(addsuffix .js
,$(JQUERY_PLUGINS
)))
176 JQUERY_UI_PATHES
=$(addprefix htdocs
/javascript
/ui.
,$(addsuffix .js
,$(JQUERY_UI
)))
178 # TODO: jquery.autocomplete.js should rather be downloaded from an official source. The issue
179 # is that the version we use is not available anymore on the Internet, and the latest version
180 # we could use is not backward compatible with our current code.
181 jquery
: htdocs
/javascript
/jquery.js
$(JQUERY_PLUGINS_PATHES
) $(JQUERY_UI_PATHES
)
183 htdocs
/javascript
/jquery.js
: DOWNLOAD_SRC
= http
://jquery.com
/src
/jquery-latest.min.js
184 htdocs
/javascript
/jquery.js
:
187 $(JQUERY_PLUGINS_PATHES
): DOWNLOAD_SRC
= http
://plugins.jquery.com
/files
/$(@F
).txt
188 $(JQUERY_PLUGINS_PATHES
):
191 $(JQUERY_UI_PATHES
): DOWNLOAD_SRC
= http
://ui.jquery.com
/latest
/ui
/$(@F
)
195 ################################################################################
197 .PHONY
: build
dist clean core wiki build-wiki banana htdocs
/images
/banana htdocs
/css
/banana.css
include/banana
/banana.inc.php http
* check