X-Git-Url: https://git.rohieb.name/iserv-mod-room-reservation.git/blobdiff_plain/03a96541958129408450bcdc624fed57ba186238..6e545b33c0e9f7fec35910c5d0e9af3e558b67bf:/Makefile diff --git a/Makefile b/Makefile index f639d30..41d1775 100644 --- a/Makefile +++ b/Makefile @@ -1,130 +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/* $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation/source/ - $(LN) -s $(DESTDIR)/usr/share/doc/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) 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/*.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 - mv doc/source/html/* doc/source/ && rm -rf doc/source/html - -# 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 +