setup/config updates. getting easier...
[freeside.git] / Makefile
1 #!/usr/bin/make
2
3 #Pg
4 DATASOURCE = DBI:Pg:host=localhost;dbname=freeside
5 #pgsql on some systems; check /etc/passwd
6 DB_ADMIN_USER = postgres
7 DB_ADMIN_PASSWORD=
8
9 #mysql
10 #DATASOURCE=DBI:mysql:freeside
11 #DB_ADMIN_USER=mysql
12 #DB_ADMIN_PASSWORD=
13
14 TEMPLATE = asp
15 #mason's a bit dodgy stil
16 #TEMPLATE = mason
17
18 FREESIDE_DOCUMENT_ROOT = /var/www/freeside
19
20 #---
21
22 #not changable yet
23 FREESIDE_CONF = /usr/local/etc/freeside
24
25 help:
26         @echo "supported targets: aspdocs masondocs alldocs docs install-docs"
27         @echo "                   perl-modules install-perl-modules"
28         @echo "                   install deploy"
29         @echo "                   create-database"
30         @echo "                   clean"
31
32 aspdocs: httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
33         rm -rf aspdocs
34         cp -pr httemplate aspdocs
35         touch aspdocs
36
37 masondocs: httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
38         rm -rf masondocs
39         cp -pr httemplate masondocs
40         ( cd masondocs; \
41           ../bin/masonize; \
42         )
43         touch masondocs
44
45 alldocs: aspdocs masondocs
46
47 docs:
48         make ${TEMPLATE}docs
49
50 install-docs: docs
51         cp -r ${TEMPLATE}docs ${FREESIDE_DOCUMENT_ROOT}
52
53 perl-modules:
54         cd FS; \
55         [ -e Makefile ] || perl Makefile.PL; \
56         make
57
58 install-perl-modules: perl-modules
59         cd FS; \
60         make install
61
62 install: install-perl-modules install-docs
63
64 deploy: install
65         /etc/init.d/apache restart
66
67 create-database:
68         perl -e 'use DBIx::DataSource qw( create_database ); create_database( \'${DATASOURCE}\', \'${DB_ADMIN_USER}\', \'${DB_ADMIN_PASSWORD}\' ) or die $DBIx::DataSource::errstr;'
69
70 create-config: install-perl-modules
71         [ -d ${FREESIDE_CONF} ] || mkdir ${FREESIDE_CONF}
72         chown freeside ${FREESIDE_CONF}
73
74         [ -d "${FREESIDE_CONF}/conf.${DATASOURCE}" ] \
75           || mkdir "${FREESIDE_CONF}/conf.${DATASOURCE}"
76         chown freeside "${FREESIDE_CONF/conf.${DATASOURCE}"
77
78         [ -d "${FREESIDE_CONF}/counters.${DATASOURCE}" ] \
79           || mkdir "${FREESIDE_CONF}/counters.${DATASOURCE}"
80         chown freeside "${FREESIDE_CONF/counters.${DATASOURCE}"
81
82         [ -d "${FREESIDE_CONF}/cache.${DATASOURCE}" ] \
83           || mkdir "${FREESIDE_CONF}/cache.${DATASOURCE}"
84         chown freeside "${FREESIDE_CONF/cache.${DATASOURCE}"
85
86         [ -d "${FREESIDE_CONF}/export.${DATASOURCE}" ] \
87           || mkdir "${FREESIDE_CONF}/export.${DATASOURCE}"
88         chown freeside "${FREESIDE_CONF/export.${DATASOURCE}"
89
90 clean:
91         rm -rf aspdocs masondocs
92         cd FS; \
93         make clean
94