# @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