]> arthur.barton.de Git - ngircd-alex.git/blobdiff - doc/Makefile.am
Use $(MKDIR_P) instead of $(mkinstalldirs) in Makefile's
[ngircd-alex.git] / doc / Makefile.am
index 34dd9c9b7dd6f0d3c5a4e187f65746a10455f2c5..27942dd3d05c32c0326253d6cadece421506110e 100644 (file)
@@ -1,43 +1,95 @@
 #
 # ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2008 Alexander Barton (alex@barton.de)
+# Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors
 #
-# Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
-# der GNU General Public License (GPL), wie von der Free Software Foundation
-# herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2
-# der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version.
-# Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
-# der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
+# 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 2 of the License, or
+# (at your option) any later version.
+# Please read the file COPYING, README and AUTHORS for more information.
 #
 
+.tmpl:
+       $(AM_V_GEN)sed \
+           -e "s@:ETCDIR:@${sysconfdir}@" \
+           -e "s@:DOCDIR:@${docdir}@" \
+           <$< >$@
+
+SUFFIXES = .tmpl
+
+static_docs = \
+       Bopm.txt \
+       Capabilities.txt \
+       Commands.txt \
+       Contributing.txt \
+       FAQ.txt \
+       GIT.txt \
+       HowToRelease.txt \
+       Modes.txt \
+       PAM.txt \
+       Platforms.txt \
+       Protocol.txt \
+       README-AUX.txt \
+       README-BeOS.txt \
+       README-Interix.txt \
+       RFC.txt \
+       Services.txt \
+       SSL.txt
+
+doc_templates = sample-ngircd.conf.tmpl
+
+generated_docs = sample-ngircd.conf
+
+toplevel_docs = ../AUTHORS ../COPYING ../ChangeLog ../INSTALL ../NEWS ../README
+
 SUBDIRS = src
 
-EXTRA_DIST = FAQ.txt GIT.txt Protocol.txt Platforms.txt README-AUX.txt \
-       README-BeOS.txt RFC.txt Services.txt SSL.txt Zeroconf.txt \
-       sample-ngircd.conf
+EXTRA_DIST = $(static_docs) $(doc_templates)
+
+CLEANFILES = $(generated_docs)
 
 maintainer-clean-local:
        rm -f Makefile Makefile.in
 
-docdir ?= $(datadir)/doc/$(PACKAGE)
+all: $(generated_docs)
 
-documents = $(EXTRA_DIST) ../AUTHORS ../COPYING ../ChangeLog ../INSTALL \
-       ../NEWS ../README
-
-install-data-hook:
-       $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
-       if [ ! -f $(DESTDIR)$(sysconfdir)/ngircd.conf ]; then \
-         $(INSTALL) -m 600 -c $(srcdir)/sample-ngircd.conf $(DESTDIR)$(sysconfdir)/ngircd.conf; \
+install-data-hook: $(static_docs) $(toplevel_docs) $(generated_docs)
+       $(MKDIR_P) -m 755 $(DESTDIR)$(sysconfdir)
+       @if [ ! -f $(DESTDIR)$(sysconfdir)/ngircd.conf ]; then \
+         make install-config; \
         fi
-       $(mkinstalldirs) $(DESTDIR)$(docdir)
-       for f in $(documents); do \
+       $(MKDIR_P) -m 755 $(DESTDIR)$(docdir)
+       for f in $(static_docs) $(toplevel_docs); do \
          $(INSTALL) -m 644 -c $(srcdir)/$$f $(DESTDIR)$(docdir)/; \
         done
+       for f in $(generated_docs); do \
+         $(INSTALL) -m 644 -c $$f $(DESTDIR)$(docdir)/; \
+        done
+
+install-config:
+       $(INSTALL) -m 600 -c sample-ngircd.conf $(DESTDIR)$(sysconfdir)/ngircd.conf
+       @echo; \
+        echo " ** NOTE: Installed sample configuration file:"; \
+        echo " ** \"$(DESTDIR)$(sysconfdir)/ngircd.conf\""; \
+        echo
 
 uninstall-hook:
        rm -rf $(DESTDIR)$(docdir)
+       @if cmp --silent sample-ngircd.conf $(DESTDIR)$(sysconfdir)/ngircd.conf; then \
+         make uninstall-config; \
+        else \
+         echo; \
+         echo " ** NOTE: Not uninstalling changed configuration file:"; \
+         echo " ** \"$(DESTDIR)$(sysconfdir)/ngircd.conf\""; \
+         echo; \
+        fi
+
+uninstall-config:
+       rm -f $(DESTDIR)$(sysconfdir)/ngircd.conf
 
 srcdoc:
        make -C src srcdoc
 
+.PHONY: install-config uninstall-config srcdoc
+
 # -eof-