ae385d85e7eb4687927dd8a02c07516b1d05b7e4
[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         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         [ -d ${FREESIDE_CONF} ] || mkdir ${FREESIDE_CONF}
68         chown freeside ${FREESIDE_CONF}
69
70         touch ${FREESIDE_CONF}/secrets
71         chown freeside ${FREESIDE_CONF}/secrets
72         chmod 600 ${FREESIDE_CONF}/secrets
73
74         echo -e "${DATASOURCE}\n${DB_USER}\n${DB_PASSWORD}" >${FREESIDE_CONF}/secrets
75         chmod 600 ${FREESIDE_CONF}/secrets
76         chown freeside ${FREESIDE_CONF}/secrets
77
78         [ -d "${FREESIDE_CONF}/conf.${DATASOURCE}" ] \
79           || mkdir "${FREESIDE_CONF}/conf.${DATASOURCE}"
80         chown freeside "${FREESIDE_CONF}/conf.${DATASOURCE}"
81
82         [ -d "${FREESIDE_CONF}/counters.${DATASOURCE}" ] \
83           || mkdir "${FREESIDE_CONF}/counters.${DATASOURCE}"
84         chown freeside "${FREESIDE_CONF}/counters.${DATASOURCE}"
85
86         [ -d "${FREESIDE_CONF}/cache.${DATASOURCE}" ] \
87           || mkdir "${FREESIDE_CONF}/cache.${DATASOURCE}"
88         chown freeside "${FREESIDE_CONF}/cache.${DATASOURCE}"
89
90         [ -d "${FREESIDE_CONF}/export.${DATASOURCE}" ] \
91           || mkdir "${FREESIDE_CONF}/export.${DATASOURCE}"
92         chown freeside "${FREESIDE_CONF}/export.${DATASOURCE}"
93
94 clean:
95         rm -rf aspdocs masondocs
96         cd FS; \
97         make clean
98