]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - Makefile
improved make
[SourceForge/phpwiki.git] / Makefile
1 # $Id: Makefile,v 1.5 2004-07-01 08:15:10 rurban Exp $
2 # user-definable settings:
3 # for mysqladmin
4 DBADMIN_USER=root
5 DBADMIN_PASS=secret
6
7 DB_SQLITE_DBFILE = /tmp/phpwiki-sqlite.db
8
9 # ****************************************************************************
10 # get db params from config/config.ini
11
12 #DATABASE_TYPE=SQL
13 DATABASE_TYPE := $(shell config/make-dbhelper.pl -v=DATABASE_TYPE config/config.ini)
14 PROCESS_DSN=0
15 ifeq (${DATABASE_TYPE},SQL)
16   PROCESS_DSN=1
17 else
18   ifeq (${DATABASE_TYPE},ADODB) 
19     PROCESS_DSN=1
20   endif
21 endif
22
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)
26   #DB_DBTYPE=mysql
27   DB_DBTYPE := $(word 1,${DATABASE_DSN})
28   #DB_DB=phpwiki
29   DB_DB   := $(word 2,${DATABASE_DSN})
30   #DB_USER=wikiuser
31   DB_USER := $(word 3,${DATABASE_DSN})
32   #DB_PASS=
33   DB_PASS := $(word 4,${DATABASE_DSN})
34
35   DBADMIN_OPTS=-u$(DBADMIN_USER) -p$(DBADMIN_PASS)
36 else
37   DB_DBTYPE=${DATABASE_TYPE}
38 endif
39
40 # ****************************************************************************
41 PHP_SRC := $(wildcard *.php ./lib/*.php ./lib/WikiDB/*.php ./lib/plugin/*.php)
42
43 .PHONY: all install locale mysql pqsql sqlite dbtest
44
45 all:  TAGS
46
47 TAGS:  $(PHP_SRC)
48 #       etags $(PHP_SRC)
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 -
51
52 TAGS.full:  $(PHP_SRC)
53         if [ -f $@ ]; then /usr/bin/mv -f $@ $@~; fi
54         /usr/bin/find . -name \*.php -o -name \*.tmpl | etags -L - --langmap="HTML:.tmpl" -f $@;
55
56 locale: 
57         cd locale
58         make
59
60 install:        install-config install-database
61
62 install-config: config/config.ini
63
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"
67         ${EDITOR} $@
68
69 # helpers for database installation
70 install-database: ${DB_DBTYPE}
71
72 dba:
73
74 cvs:
75
76 # maybe setup permissions
77 file:
78
79 dbtest:
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)
81
82 # initialize the database
83 # TODO: compare /var/mysql/data/$(DB_DB) timestamp against schemas/mysql.sql
84 mysql:
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
89
90 # initialize the database
91 pqsql:
92         su postmaster
93         createdb $(DB_DB)
94         ifeq ($(DB_PASS),"")
95           createuser -D -A -P $(DB_USER)
96         else
97           createuser -D -A $(DB_USER)
98         endif
99         psql $(DB_DB) -f schemas/psql.sql
100         logout
101
102 # initialize the database
103 sqlite: $(DB_SQLITE_DBFILE)
104         sqlite $(DB_SQLITE_DBFILE) < schemas/sqlite.sql
105
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