X-Git-Url: https://git.rohieb.name/iserv-mod-room-reservation.git/blobdiff_plain/d78bb771a8bc31932f6c9f20638d96b6bd42a358..db791427f24efbbb6cf205d5e7e141d0ce6b679c:/Makefile

diff --git a/Makefile b/Makefile
index 9440ef6..41d1775 100644
--- a/Makefile
+++ b/Makefile
@@ -1,128 +1,137 @@
-# @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.
-#
-
-DESTDIR?=
-SOURCEFILES=src/*.php includes/*.inc
-MODULE_DOC_FILES=doc/source/html/* doc/source/latex/*
-LN=ln -f
-RM=rm -rf
-MKDIR=mkdir -p
-
-# hardlink the files to their destinations
-# TODO move documentation where Jörg wants it ;)
-links:
-	# documentation
-	$(MKDIR) $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation/source/
-	$(LN) doc/{TODO,changelog.html} $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation/
-	$(LN) doc/source/html/* $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation/source/
-	
-	# 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) includes/*.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 ($(shell id -u),0)
-	chmod g+w $(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/admin
-	$(LN) src/index.php $(DESTDIR)/usr/share/iserv/www/mod_room-reservation/
-	$(LN) src/admin/config.php $(DESTDIR)/usr/share/iserv/www/mod_room-reservation/admin/
-	
-	# 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:
-	doxygen
-
-# install everything
-install: sourcedoc links
-ifeq ($(shell echo $USER),root)
-	chkdb -r
-	chkpriv
-	chklocale
-endif
-
-# uninstalling
-uninstall:
-	$(RM) $(DESTDIR)/usr/share/doc/iserv/mod/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
-
-distclean:
-	$(RM) doc/source
-
-.PHONY: clean
+# @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
+	if [ -e Doxyfile ]; then rm Doxyfile; fi
+
+distclean:
+	$(RM) doc/source
+
+.PHONY: clean distclean install
+