3b0262523a9b44f0f3baa51d5bfc51ada09ad853
[freeside.git] / Makefile
1 #!/usr/bin/make
2
3 DATASOURCE = DBI:Pg:host=localhost;dbname=freeside
4 #DATASOURCE=DBI:mysql:freeside
5 #pgsql on some systems; check /etc/passwd
6
7 DB_USER = freeside
8 DB_PASSWORD=
9
10 TEMPLATE = asp
11 #mason's a bit dodgy stil
12 #TEMPLATE = mason
13
14 FREESIDE_DOCUMENT_ROOT = /var/www/freeside
15
16 #---
17
18 #not changable yet
19 FREESIDE_CONF = /usr/local/etc/freeside
20
21 help:
22         @echo "supported targets: aspdocs masondocs alldocs docs install-docs"
23         @echo "                   perl-modules install-perl-modules"
24         @echo "                   install deploy"
25         @echo "                   create-database"
26         @echo "                   clean"
27
28 aspdocs: httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
29         rm -rf aspdocs
30         cp -pr httemplate aspdocs
31         touch aspdocs
32
33 masondocs: httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
34         rm -rf masondocs
35         cp -pr httemplate masondocs
36         ( cd masondocs; \
37           ../bin/masonize; \
38         )
39         touch masondocs
40
41 alldocs: aspdocs masondocs
42
43 docs:
44         make ${TEMPLATE}docs
45
46 install-docs: docs
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         echo -e "${DATASOURCE}\n${DB_USER}\n${DB_PASSWORD}" >${FREESIDE_CONF}/secrets
71
72         [ -d "${FREESIDE_CONF}/conf.${DATASOURCE}" ] \
73           || mkdir "${FREESIDE_CONF}/conf.${DATASOURCE}"
74         chown freeside "${FREESIDE_CONF/conf.${DATASOURCE}"
75
76         [ -d "${FREESIDE_CONF}/counters.${DATASOURCE}" ] \
77           || mkdir "${FREESIDE_CONF}/counters.${DATASOURCE}"
78         chown freeside "${FREESIDE_CONF/counters.${DATASOURCE}"
79
80         [ -d "${FREESIDE_CONF}/cache.${DATASOURCE}" ] \
81           || mkdir "${FREESIDE_CONF}/cache.${DATASOURCE}"
82         chown freeside "${FREESIDE_CONF/cache.${DATASOURCE}"
83
84         [ -d "${FREESIDE_CONF}/export.${DATASOURCE}" ] \
85           || mkdir "${FREESIDE_CONF}/export.${DATASOURCE}"
86         chown freeside "${FREESIDE_CONF/export.${DATASOURCE}"
87
88 clean:
89         rm -rf aspdocs masondocs
90         cd FS; \
91         make clean
92