# Open Infrastructure: service-tools # Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net> # # SPDX-License-Identifier: GPL-3.0+ # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. SHELL := sh -e PROJECT = open-infrastructure SOFTWARE = service-tools PROGRAM = apache-icons all: build build: share/man/*.rst $(MAKE) -C share/man sed -n '/^===/,$$p' share/man/$(SOFTWARE).7.rst > README.txt for ICON in share/icons/*; \ do \ ICON="$$(basename $${ICON})"; \ mkdir -p build/$${ICON}-png; \ mkdir -p build/$${ICON}-svg; \ while read LINE; \ do \ TARGET="$$(echo $${LINE} | awk '{ print $$1 }')"; \ SOURCE="$$(echo $${LINE} | awk '{ print $$2 }')"; \ echo "Converting $${SOURCE} to $${TARGET}..."; \ rsvg-convert -f svg -h 22 -w 22 share/icons/$${ICON}/$${SOURCE} > build/$${ICON}-svg/$${TARGET}.svg; \ rsvg-convert share/icons/$${ICON}/$${SOURCE} > build/$${ICON}-png/$${TARGET}.orig.png; \ convert -resize 22x22 build/$${ICON}-png/$${TARGET}.orig.png build/$${ICON}-png/$${TARGET}.png; \ rm -f build/$${ICON}-png/$${TARGET}.orig.png; \ done < share/maps/$${ICON}.txt; \ sed -e 's|@FORMAT@|png|' share/apache/icon.conf.in > build/$${ICON}-png.conf; \ sed -e 's|@FORMAT@|svg|' share/apache/icon.conf.in > build/$${ICON}-svg.conf; \ done install: build mkdir -p $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM) cp -r ../VERSION.txt $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM) cp -r build/* $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM) for DIRECTORY in $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM)/*-png; \ do \ cp -a share/common/*.png $${DIRECTORY}; \ done for DIRECTORY in $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM)/*-svg; \ do \ cp -a share/common/*.svg $${DIRECTORY}; \ done mkdir -p $(DESTDIR)/etc/apache2/conf-available cp -a share/apache/conf/* $(DESTDIR)/etc/apache2/conf-available mkdir -p $(DESTDIR)/etc/apache2/mods-available cp -a share/apache/mods/* $(DESTDIR)/etc/apache2/mods-available for SECTION in $$(seq 1 8); \ do \ if ls share/man/*.$${SECTION} > /dev/null 2>&1; \ then \ mkdir -p $(DESTDIR)/usr/share/man/man$${SECTION}; \ cp share/man/*.$${SECTION} $(DESTDIR)/usr/share/man/man$${SECTION}; \ fi; \ done mkdir -p $(DESTDIR)/usr/share/doc/$(SOFTWARE) cp -r ../CHANGELOG.txt ../LICENSE.txt README.txt $(DESTDIR)/usr/share/doc/$(SOFTWARE) uninstall: for SECTION in $$(seq 1 8); \ do \ for FILE in share/man/*.$${SECTION}; \ do \ rm -f $(DESTDIR)/usr/share/man/man$${SECTION}/$$(basename $${FILE}); \ done; \ rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/usr/share/man/man$${SECTION} || true; \ done for FILE in share/apache/conf/*; \ do \ rm -f $(DESTDIR)/etc/apache2/conf-available/$$(basename $${FILE}); \ done rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc/apache2/conf-available || true for FILE in share/apache/mods/*; \ do \ rm -f $(DESTDIR)/etc/apache2/mods-available/$$(basename $${FILE}); \ done rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc/apache2/mods-available || true rm -rf $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM) rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/usr/share/$(PROJECT) || true rm -rf $(DESTDIR)/usr/share/doc/$(SOFTWARE) rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/usr/share/doc/$(SOFTWARE) || true clean: $(MAKE) -C share/man clean rm -rf build rm -f README.txt distclean: clean reinstall: uninstall install .PHONY: build