make fails if shell is not bash -- I will fix bashisms somewhere in the future
[iserv-mod-error-reporter.git] / Makefile
1 #
2 # @file Makefile
3 # Makefile for installing, creating documentation etc.
4 # @author Roland Hieber (roland.hieber@wilhelm-gym.net)
5 # @date 06.10.2007
6 # @package iserv_errorreporter
7 #
8 # Copyright © 2007 Roland Hieber
9 #
10 # Permission is hereby granted, free of charge, to any person obtaining
11 # copy of this software and associated documentation files (the "Software"),
12 # to deal in the Software without restriction, including without limitation
13 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
14 # and/or sell copies of the Software, and to permit persons to whom the
15 # Software is furnished to do so, subject to the following conditions:
16 #
17 # The above copyright notice and this permission notice shall be included in
18 # all copies or substantial portions of the Software.
19 #
20 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
26 # THE SOFTWARE.
27 #
28
29 SHELL=/bin/bash
30 INSTALLDIR=/opt/iserv
31 LN=ln -f
32 RM=rm -rf
33 CHOWN=chown -f
34 MKDIR=mkdir -p
35
36 # hardlink the files to their destinations
37 links: sourcedoc
38 # documentation
39 $(MKDIR) $(DESTDIR)/usr/share/doc/iserv-mod-error-reporter/source/
40 if [ ! -d $(DESTDIR)/usr/share/doc/iserv/mod/ ]; then $(MKDIR) $(DESTDIR)/usr/share/doc/iserv/mod/; fi
41 $(LN) doc/{TODO,changelog.old.html} debian/copyright $(DESTDIR)/usr/share/doc/iserv-mod-error-reporter
42 $(LN) doc/source/* $(DESTDIR)/usr/share/doc/iserv-mod-error-reporter/source/
43 $(RM) $(DESTDIR)/usr/share/doc/iserv/mod/error-reporter # remove old link
44 $(LN) -s ../../iserv-mod-error-reporter $(DESTDIR)/usr/share/doc/iserv/mod/error-reporter
45
46 # images
47 if [ ! -d $(DESTDIR)/usr/share/iserv/www/img/default/16 ] ; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/img/default/16; fi
48 if [ ! -d $(DESTDIR)/usr/share/iserv/www/img/default/32 ] ; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/img/default/32; fi
49 $(LN) img/16/*.png $(DESTDIR)/usr/share/iserv/www/img/default/16
50 $(LN) img/32/*.png $(DESTDIR)/usr/share/iserv/www/img/default/32
51
52 # localization
53 if [ ! -d $(DESTDIR)/usr/share/iserv/locale/de ] ; then $(MKDIR) $(DESTDIR)/usr/share/iserv/locale/de; fi
54 $(LN) lang/mod_error-reporter.po $(DESTDIR)/usr/share/iserv/locale/de
55
56 # SQL data
57 if [ ! -d $(DESTDIR)/usr/share/iserv/db/log_module ] ; then $(MKDIR) $(DESTDIR)/usr/share/iserv/db/log_module; fi
58 $(LN) sql/mod_error-reporter.sql $(DESTDIR)/usr/share/iserv/db/
59 $(LN) sql/log_module/mod_error-reporter $(DESTDIR)/usr/share/iserv/db/log_module
60
61 # privileges
62 if [ ! -d $(DESTDIR)/usr/share/iserv/priv ] ; then $(MKDIR) $(DESTDIR)/usr/share/iserv/priv; fi
63 $(LN) priv/mod_error-reporter $(DESTDIR)/usr/share/iserv/priv
64
65 # includes
66 $(MKDIR) $(DESTDIR)/usr/share/iserv/www/inc/mod_error-reporter
67 $(LN) inc/{class*,init,functions}.inc $(DESTDIR)/usr/share/iserv/www/inc/mod_error-reporter
68 if [ ! -e $(DESTDIR)/usr/share/iserv/www/inc/mod_error-reporter/config.inc ] ; then touch $(DESTDIR)/usr/share/iserv/www/inc/mod_error-reporter/config.inc; fi
69 ifeq ($(USER),root)
70 chmod u+rw $(DESTDIR)/usr/share/iserv/www/inc/mod_error-reporter/config.inc
71 chown www-data $(DESTDIR)/usr/share/iserv/www/inc/mod_error-reporter/config.inc
72 endif
73
74 # navigation
75 if [ ! -d $(DESTDIR)/usr/share/iserv/www/nav/admin ] ; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/nav/admin; fi
76 $(LN) nav/*.mod $(DESTDIR)/usr/share/iserv/www/nav
77 $(LN) nav/admin/*.mod $(DESTDIR)/usr/share/iserv/www/nav/admin
78
79 # web pages
80 $(MKDIR) $(DESTDIR)/usr/share/iserv/www/mod_error-reporter
81 $(LN) src/{config,detail,index}.php $(DESTDIR)/usr/share/iserv/www/mod_error-reporter
82
83 # maintenance files
84 $(MKDIR) $(DESTDIR)/usr/share/iserv/modules/error-reporter
85 $(LN) maint/* $(DESTDIR)/usr/share/iserv/modules/error-reporter
86
87 # build doxygen documentation from source
88 sourcedoc:
89 doxygen
90 mv doc/source/html/* doc/source/ && rm -rf doc/source/html
91
92 install: links
93 ifeq ($(USER),root)
94 chklocale
95 chkpriv
96 chkdb -r
97 endif
98
99 # uninstalling
100 uninstall:
101 $(RM) $(DESTDIR)/usr/share/doc/iserv/mod/error-reporter
102 $(RM) $(DESTDIR)/usr/share/doc/iserv-mod-error-reporter
103 $(RM) $(DESTDIR)/usr/share/iserv/www/img/{16,32}/mod_error-reporter.png
104 $(RM) $(DESTDIR)/usr/share/iserv/sql/mod_error-reporter.sql
105 $(RM) $(DESTDIR)/usr/share/iserv/sql/log_module/mod_error-reporter
106 $(RM) $(DESTDIR)/usr/share/iserv/priv/mod_error-reporter
107 $(RM) $(DESTDIR)/usr/share/iserv/www/inc/mod_error-reporter
108 $(RM) $(DESTDIR)/usr/share/iserv/www/nav/79mod_error-reporter.mod
109 $(RM) $(DESTDIR)/usr/share/iserv/www/nav/admin/99mod_error-reporter.mod
110 $(RM) $(DESTDIR)/usr/share/iserv/www/mod_error-reporter
111
112 ifeq ($(USER),root)
113 chklocale
114 chkpriv
115 psql -c "DELETE FROM log_module WHERE module='Error Report Wizard';"
116 endif
117
118 @echo
119 @echo If you do not need the SQL tables anymore, remove them by running
120 @echo ' psql -c "DROP TABLE mod_errorreports;"'
121 @echo After that, all reported errors are unrecoverably deleted!
122 @echo
123
124 # clean up
125 clean: distclean
126
127 distclean:
128 $(RM) doc/source
129
130 .PHONY: clean distclean install
This page took 0.041186 seconds and 5 git commands to generate.