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