Use bootstrap to initialize NbIns and NbValid
[platal.git] / Makefile
index ea72141..e0480fa 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,13 @@
+
 # $Id: Makefile,v 1.5 2004/11/25 20:18:39 x99laine Exp $
 ################################################################################
 # definitions
 
-VERSION := $(shell grep VERSION ChangeLog | head -1 | sed -e "s/VERSION //;s/\t.*//")
+VERSNUM := $(shell grep VERSION ChangeLog | head -1 | sed -e "s/VERSION //;s/ .*//")
+VERSTAG := $(shell grep VERSION ChangeLog | head -1 | grep 'XX' > /dev/null 2> /dev/null && echo 'beta')
+BANANA  := $(shell ( [ -d ../banana ] && echo `pwd`"/../banana" ) || echo "/home/web/dev/banana")
+
+VERSION = $(VERSNUM)$(VERSTAG)
 
 PKG_NAME = platal
 PKG_DIST = $(PKG_NAME)-$(VERSION)
@@ -16,59 +21,109 @@ VCS_FILTER = ! -name .arch-ids ! -name CVS
 
 all: build
 
-headers:
-       headache -c install.d/platal-dev/templates/header.conf -h install.d/platal-dev/templates/header \
-               `find templates -name '*.tpl' ! -path 'templates/xnet/skin.tpl' ! -path 'templates/skin/*.tpl' ! -name 'vcard.tpl' `
+build: core banana wiki jquery
 
-build: pkg-build 
+q:
+       @echo -e "Code statistics\n"
+       @sloccount $(filter-out wiki/ spool/, $(wildcard */)) 2> /dev/null | egrep '^[a-z]*:'
 
-dist: clean pkg-dist
+%: %.in Makefile ChangeLog
+       sed -e 's,@VERSION@,$(VERSION),g' $< > $@
 
-bzdist: clean pkg-bzdist
+################################################################################
+# targets
 
-clean:
-       rm -rf include/platal/globals.inc.php
-       rm -f htdocs/banana/banana.css htdocs/valid.html include/banana htdocs/banana/img htdocs/banana/xface.php
+##
+## core
+##
 
-%: %.in Makefile
-       sed -e 's,@VERSION@,$(VERSION),g' $< > $@
+core: spool/templates_c spool/mails_c include/globals.inc.php configs/platal.cron htdocs/.htaccess spool/conf
 
-################################################################################
-# devel targets
-templates_c:
-       mkdir templates_c
-       chmod o+w templates_c
+spool/templates_c spool/mails_c spool/uploads spool/conf spool/uploads/temp:
+       mkdir -p $@
+       chmod o+w $@
+
+spool/uploads/temp/.htaccess: spool/uploads/temp Makefile
+       echo "Order deny,allow" > $@
+       echo "Deny from all" >> $@
+
+htdocs/.htaccess: htdocs/.htaccess.in Makefile
+       @REWRITE_BASE="/~$$(id -un)"; \
+       test "$$REWRITE_BASE" = "/~web" && REWRITE_BASE="/"; \
+       sed -e "s,@REWRITE_BASE@,$$REWRITE_BASE,g" $< > $@
+
+##
+## wiki
+##
+
+WIKI_NEEDS = \
+     wiki/local/farmconfig.php      \
+     wiki/pub/skins/empty           \
+     wiki/cookbook/e-protect.php    \
+     spool/wiki.d                   \
+     htdocs/uploads                 \
+     htdocs/wiki                    \
+
+wiki: get-wiki build-wiki
+
+build-wiki: $(WIKI_NEEDS) | get-wiki
+
+htdocs/uploads: spool/uploads/temp/.htaccess
+       cd htdocs && ln -sf ../spool/uploads
+
+htdocs/wiki:
+       cd htdocs && ln -sf ../wiki/pub wiki
 
-htdocs/valid.html:
-       touch templates_c/valid.html
-       ln -sf ../templates_c/valid.html htdocs/valid.html
 
-devel: build templates_c htdocs/valid.html
+spool/wiki.d:
+       mkdir -p $@
+       chmod o+w $@
+       cd $@ && ln -sf ../../include/wiki/wiki.d/* .
 
 
+wiki/cookbook/e-protect.php:
+       cd wiki/cookbook && ln -sf ../../include/wiki/e-protect.php
+
+wiki/local/farmconfig.php:
+       cd wiki/local/ && ln -sf ../../include/wiki/farmconfig.php
+
+wiki/pub/skins/empty:
+       cd wiki/pub/skins/ && ln -sf ../../../include/wiki/empty
+
+
+get-wiki:
+       @if ! test -d wiki; then                                          \
+           wget http://www.pmwiki.org/pub/pmwiki/pmwiki-latest.tgz;      \
+           tar -xzvf pmwiki-latest.tgz;                                  \
+           rm pmwiki-latest.tgz;                                         \
+           mv pmwiki-* wiki;                                             \
+       fi
+
+##
+## banana
+##
+
+banana: htdocs/images/banana htdocs/css/banana.css include/banana/banana.inc.php
+htdocs/images/banana:
+       cd $(@D) && ln -sf $(BANANA)/img $(@F)
+
+htdocs/css/banana.css:
+       cd $(@D) && ln -sf $(BANANA)/css/style.css $(@F)
+
+include/banana/banana.inc.php:
+       cd $(@D) && find $(BANANA)/banana/ -name '*.php' -exec ln -sf {} . ";"
+
+
+
+##
+## jquery
+##
+
+jquery: htdocs/javascript/jquery.js htdocs/javascript/jquery.autocomplete.js
+htdocs/javascript/jquery.js:
+       wget http://jquery.com/src/jquery-latest.pack.js -O $@ -q || ($(RM) $@; exit 1)
+
 ################################################################################
-# diogenes package targets
-
-pkg-build: include/platal/globals.inc.php
-
-$(PKG_DIST): pkg-build
-       mkdir $(PKG_DIST)
-       cp -a $(PKG_FILES) $(PKG_DIST)
-       for dir in `find $(PKG_DIRS) -type d $(VCS_FILTER)`; \
-       do \
-          mkdir -p $(PKG_DIST)/$$dir; \
-         find $$dir -type f -maxdepth 1 -exec cp {} $(PKG_DIST)/$$dir \; ; \
-       done
-
-pkg-dist: $(PKG_DIST)
-       rm -f $(PKG_DIST).tar.gz
-       tar czf $(PKG_DIST).tar.gz $(PKG_DIST)
-       rm -rf $(PKG_DIST)
-
-pkg-bzdist: $(PKG_DIST)
-       rm -f $(PKG_DIST).tar.bz2
-       tar cjf $(PKG_DIST).tar.bz2 $(PKG_DIST)
-       rm -rf $(PKG_DIST)
-
-.PHONY: build dist clean pkg-build pkg-dist
+
+.PHONY: build dist clean wiki build-wiki banana