-#\r
-# @file Makefile\r
-# Makefile for installing, creating documentation etc\r
-# @author: Roland Hieber (roland.hieber@wilhelm-gym.net)\r
-# @date: 12.11.2007\r
-# \r
-# Copyright © 2007 Roland Hieber\r
-# \r
-# Permission is hereby granted, free of charge, to any person obtaining\r
-# copy of this software and associated documentation files (the "Software"),\r
-# to deal in the Software without restriction, including without limitation\r
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
-# and/or sell copies of the Software, and to permit persons to whom the\r
-# Software is furnished to do so, subject to the following conditions:\r
-# \r
-# The above copyright notice and this permission notice shall be included in\r
-# all copies or substantial portions of the Software.\r
-# \r
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
-# THE SOFTWARE.\r
-#\r
-\r
-SOURCEFILES=src/*.php includes/*.inc\r
-MODULE_DOC_FILES=doc/source/html/* doc/source/latex/*\r
-LN=ln -f\r
-RM=rm -rf\r
-MKDIR=mkdir -p\r
-\r
-# hardlink the files to their destinations\r
-# TODO move documentation where Jörg wants it ;)\r
-links:\r
- $(MKDIR) /usr/share/doc/iserv/mod/room-reservation/source/\r
- $(LN) doc/{LICENSE*,TODO,changelog*} /usr/share/doc/iserv/mod/room-reservation/\r
- $(LN) doc/source/html/* /usr/share/doc/iserv/mod/room-reservation/source/\r
- \r
- $(LN) img/16/*.png /usr/share/iserv/www/img/default/16/\r
- $(LN) img/24/*.png /usr/share/iserv/www/img/default/24/\r
- $(LN) img/32/*.png /usr/share/iserv/www/img/default/32/\r
- \r
- $(MKDIR) /usr/share/iserv/www/inc/mod_room-reservation\r
- $(LN) includes/*.inc /usr/share/iserv/www/inc/mod_room-reservation/\r
- chmod 664 /usr/share/iserv/www/inc/mod_room-reservation/config.inc\r
- chown www-data /usr/share/iserv/www/inc/mod_room-reservation/config.inc\r
- \r
- $(LN) lang/*.po /usr/share/iserv/locale/de/\r
- \r
- $(LN) nav/*.mod /usr/share/iserv/www/nav/\r
- $(LN) nav/admin/*.mod /usr/share/iserv/www/nav/admin\r
-\r
- $(LN) priv/* /usr/share/iserv/priv/\r
- \r
- $(LN) sql/*.sql /usr/share/iserv/db/\r
- \r
- $(MKDIR) /usr/share/iserv/www/mod_room-reservation/admin\r
- $(LN) src/index.php /usr/share/iserv/www/mod_room-reservation/\r
- $(LN) src/admin/config.php /usr/share/iserv/www/mod_room-reservation/admin/\r
-\r
-# build doxygen documentation from source\r
-sourcedoc:\r
- doxygen\r
-\r
-# install everything\r
-install: sourcedoc links\r
- chkdb -r\r
- chkpriv\r
- \r
- @if [ -z "`psql -qc "SELECT * FROM log_module;" 2>&1 |grep ERROR`" -a -z \\r
- "`psql -qc \"SELECT COUNT(*) FROM log_module WHERE module = 'Room Reservation Schedule';\" 2>&1 |grep ' 1'`" ]; then \\r
- echo psql -c "INSERT INTO log_module VALUES('Room Reservation Schedule');"; \\r
- psql -c "INSERT INTO log_module VALUES('Room Reservation Schedule');"; \\r
- fi;\r
- chklocale\r
-\r
-# uninstalling\r
-uninstall:\r
- $(RM) /usr/share/doc/iserv/mod/mod_room-reservation\r
- $(RM) /usr/share/iserv/locale/de/mod_room-reservation.po\r
- $(RM) /usr/share/iserv/db/mod_room-reservation.sql\r
- $(RM) /usr/share/iserv/www/nav/79mod_room-reservation.mod\r
- $(RM) /usr/share/iserv/priv/mod_room-reservation\r
- $(RM) /usr/share/iserv/www/nav/admin/99mod_room-reservation.mod\r
- $(RM) /usr/share/iserv/www/img/default/{16,24,32}/mod_room-reservation_{timeslice,index,config}.png\r
- $(RM) /usr/share/iserv/www/inc/mod_room-reservation\r
- $(RM) /usr/share/iserv/www/mod_room-reservation\r
- \r
- chklocale\r
- \r
- @echo ----------------------------------------------------------------------\r
- @echo If you do not need the SQL tables anymore, remove them by running\r
- @echo ' psql -c "DROP TABLE mod_roomreservation_bookings;"'\r
- @echo After that, all bookings are unrecoverably deleted!\r
- @echo ----------------------------------------------------------------------\r
+# @file Makefile
+# Makefile for installing, creating documentation etc.
+# @author: Roland Hieber (roland.hieber@wilhelm-gym.net)
+# @date: 12.11.2007
+#
+# Copyright © 2007 Roland Hieber
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+
+PACKAGENAME:=iserv-mod-room-reservation
+VERSION:=$(shell grep "^$(PACKAGENAME)" debian/changelog | head -1 | sed -e "s/$(PACKAGENAME) (\([0-9.]\+\).*).*/\1/ ")
+
+SHELL=/bin/bash
+DESTDIR?=
+LN=ln -f
+RM=rm -rf
+MKDIR=mkdir -p
+
+# hardlink the files to their destinations
+links: sourcedoc
+ # documentation
+ $(MKDIR) $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation/source/
+ if [ ! -d $(DESTDIR)/usr/share/doc/iserv/mod/ ]; then $(MKDIR) $(DESTDIR)/usr/share/doc/iserv/mod/; fi
+ $(LN) doc/{TODO,changelog.old.html} $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation/
+ $(LN) doc/source/* $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation/source/
+ $(RM) $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation
+ $(LN) -s ../../iserv-mod-room-reservation $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation
+
+ # images
+ if [ ! -d $(DESTDIR)/usr/share/iserv/www/img/default/16/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/img/default/16/; fi
+ $(LN) img/16/*.png $(DESTDIR)/usr/share/iserv/www/img/default/16/
+ if [ ! -d $(DESTDIR)/usr/share/iserv/www/img/default/24/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/img/default/24/; fi
+ $(LN) img/24/*.png $(DESTDIR)/usr/share/iserv/www/img/default/24/
+ if [ ! -d $(DESTDIR)/usr/share/iserv/www/img/default/32/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/img/default/32/; fi
+ $(LN) img/32/*.png $(DESTDIR)/usr/share/iserv/www/img/default/32/
+
+ # includes
+ $(MKDIR) $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation
+ $(LN) inc/*.inc $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/
+ if [ ! -e $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc ] ; then touch $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc; fi
+ifeq ($(USER),root)
+ chmod u+rw $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc
+ chown www-data $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc
+endif
+
+ # i18n
+ if [ ! -d $(DESTDIR)/usr/share/iserv/locale/de/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/locale/de/; fi
+ $(LN) lang/*.po $(DESTDIR)/usr/share/iserv/locale/de/
+
+ # navigation
+ if [ ! -d $(DESTDIR)/usr/share/iserv/www/nav/admin ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/nav/admin; fi
+ $(LN) nav/*.mod $(DESTDIR)/usr/share/iserv/www/nav/
+ $(LN) nav/admin/*.mod $(DESTDIR)/usr/share/iserv/www/nav/admin/
+
+ # privileges
+ if [ ! -d $(DESTDIR)/usr/share/iserv/priv/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/priv/; fi
+ $(LN) priv/* $(DESTDIR)/usr/share/iserv/priv/
+
+ # SQL tables
+ if [ ! -d $(DESTDIR)/usr/share/iserv/db/log_module ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/db/log_module; fi
+ $(LN) sql/*.sql $(DESTDIR)/usr/share/iserv/db/
+ $(LN) sql/log_module/* $(DESTDIR)/usr/share/iserv/db/log_module
+
+ # web pages
+ $(MKDIR) $(DESTDIR)/usr/share/iserv/www/mod_room-reservation
+ $(LN) src/{config,index}.php $(DESTDIR)/usr/share/iserv/www/mod_room-reservation/
+
+ # additional files
+ $(MKDIR) $(DESTDIR)/usr/share/iserv/modules/room-reservation
+ $(LN) maint/update-iserv1-iserv2.pl $(DESTDIR)/usr/share/iserv/modules/room-reservation
+ chmod +x $(DESTDIR)/usr/share/iserv/modules/room-reservation/update-iserv1-iserv2.pl
+
+# build doxygen documentation from source
+sourcedoc:
+ cat Doxyfile.in | sed -e "s/{{{VERSION}}}/$(VERSION)/" \
+ -e "s/{{{PACKAGENAME}}}/$(PACKAGENAME)/" > Doxyfile
+ doxygen
+ mv doc/source/html/* doc/source/ && rm -rf doc/source/html
+
+# install everything
+install: links
+ifeq ($(USER),root)
+ chkdb -r
+ chkpriv
+ chklocale
+endif
+
+# uninstalling
+uninstall:
+ $(RM) $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation
+ $(RM) $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation
+ $(RM) $(DESTDIR)/usr/share/iserv/locale/de/mod_room-reservation.po
+ $(RM) $(DESTDIR)/usr/share/iserv/db/mod_room-reservation.sql
+ $(RM) $(DESTDIR)/usr/share/iserv/db/log_module/mod_room-reservation
+ $(RM) $(DESTDIR)/usr/share/iserv/www/nav/79mod_room-reservation.mod
+ $(RM) $(DESTDIR)/usr/share/iserv/priv/mod_room-reservation
+ $(RM) $(DESTDIR)/usr/share/iserv/www/nav/admin/99mod_room-reservation.mod
+ $(RM) $(DESTDIR)/usr/share/iserv/www/img/default/{16,24,32}/mod_room-reservation_{timeslice,index,config}.png
+ $(RM) $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation
+ $(RM) $(DESTDIR)/usr/share/iserv/www/mod_room-reservation
+ $(RM) $(DESTDIR)/usr/share/iserv/modules/room-reservation
+
+ psql -c "DELETE FROM log_module WHERE module='Room Reservation Schedule';"
+ chklocale
+
+ @echo
+ @echo If you do not need the SQL tables anymore, remove them by running
+ @echo ' psql -c "DROP TABLE mod_roomreservation_bookings;"'
+ @echo After that, all bookings are unrecoverably deleted!
+ @echo
+
+# clean up
+clean: distclean
+ [ -e Doxyfile ] && rm Doxyfile
+
+distclean:
+ $(RM) doc/source
+
+.PHONY: clean distclean install
+