1 # $Id: Makefile,v 1.5 2004-07-01 08:15:10 rurban Exp $
2 # user-definable settings:
7 DB_SQLITE_DBFILE = /tmp/phpwiki-sqlite.db
9 # ****************************************************************************
10 # get db params from config/config.ini
13 DATABASE_TYPE := $(shell config/make-dbhelper.pl -v=DATABASE_TYPE config/config.ini)
15 ifeq (${DATABASE_TYPE},SQL)
18 ifeq (${DATABASE_TYPE},ADODB)
23 ifeq (${PROCESS_DSN},1)
24 # get db params from config/config.ini DATABASE_DSN setting (only if SQL or ADODB)
25 DATABASE_DSN := $(shell config/make-dbhelper.pl -v=DATABASE_DSN config/config.ini)
27 DB_DBTYPE := $(word 1,${DATABASE_DSN})
29 DB_DB := $(word 2,${DATABASE_DSN})
31 DB_USER := $(word 3,${DATABASE_DSN})
33 DB_PASS := $(word 4,${DATABASE_DSN})
35 DBADMIN_OPTS=-u$(DBADMIN_USER) -p$(DBADMIN_PASS)
37 DB_DBTYPE=${DATABASE_TYPE}
40 # ****************************************************************************
41 PHP_SRC := $(wildcard *.php ./lib/*.php ./lib/WikiDB/*.php ./lib/plugin/*.php)
43 .PHONY: all install locale mysql pqsql sqlite dbtest
49 if [ -f $@ ]; then /usr/bin/mv -f $@ $@~; fi
50 /usr/bin/find . \( -type d -regex '\(^\./lib/pear\)\|\(^\./lib/WikiDB/adodb\)\|\(^\./lib/nusoap\)\|\(^\./lib/fpdf\)\|\(^\./locale/.*/LC_MESSAGES\)' \) -prune -o -name \*.php | etags -L -
53 if [ -f $@ ]; then /usr/bin/mv -f $@ $@~; fi
54 /usr/bin/find . -name \*.php -o -name \*.tmpl | etags -L - --langmap="HTML:.tmpl" -f $@;
60 install: install-config install-database
62 install-config: config/config.ini
64 config/config.ini: config/config-dist.ini
65 cp config/config-dist.ini $@
66 echo "You must edit config/config.ini, at least set the ADMIN_PASSWD"
69 # helpers for database installation
70 install-database: ${DB_DBTYPE}
76 # maybe setup permissions
80 echo DATABASE_TYPE=${DATABASE_TYPE} DB_DBTYPE=${DB_DBTYPE} DB_DB=$(DB_DB) DB_USER=${DB_USER} DB_PASS=${DB_PASS} DBADMIN_OPTS=$(DBADMIN_OPTS)
82 # initialize the database
83 # TODO: compare /var/mysql/data/$(DB_DB) timestamp against schemas/mysql.sql
85 mysqladmin $(DB_OPTS) create $(DB_DB)
86 mysql $(DB_OPTS) -e "GRANT select,insert,update,delete,lock tables ON $(DB_DB).* \
87 TO $(DB_USER)@localhost IDENTIFIED BY '$(DB_PASS)';"
88 mysql $(DB_OPTS) $(DB_DB) < schemas/mysql.sql
90 # initialize the database
95 createuser -D -A -P $(DB_USER)
97 createuser -D -A $(DB_USER)
99 psql $(DB_DB) -f schemas/psql.sql
102 # initialize the database
103 sqlite: $(DB_SQLITE_DBFILE)
104 sqlite $(DB_SQLITE_DBFILE) < schemas/sqlite.sql
106 # update the database
107 ${DB_SQLITE_DBFILE}: schemas/sqlite.sql
108 echo ".dump" | sqlite ${DB_SQLITE_DBFILE} > dump.sql
109 mv ${DB_SQLITE_DBFILE} ${DB_SQLITE_DBFILE}.old
110 sqlite $(DB_SQLITE_DBFILE) < dump.sql