* Move the list of man page files to a variable to avoid code
  duplication. Also, use generic code in the install target and extract
  man pages from the newly introduced variable.

* Use generic (wildcard) rules for man page generation instead of having
  one rule per source/target file.

* Use "$(DESTDIR)" instead of "${DESTDIR}" everywhere.

Signed-off-by: Lukas Fleischer <archli...@cryptocrack.de>
---
 Makefile |   33 ++++++++++++++++-----------------
 1 file changed, 16 insertions(+), 17 deletions(-)

diff --git a/Makefile b/Makefile
index 1081730..a429ddd 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,5 @@
 VER  := $(shell git describe)
+
 DIRS := \
        /etc/rc.d \
        /etc/conf.d \
@@ -16,6 +17,13 @@ DIRS := \
        /usr/share/man/man5 \
        /usr/share/man/man8
 
+MAN_PAGES := \
+       rc.d.8 \
+       rc.conf.5 \
+       locale.conf.5 \
+       vconsole.conf.5 \
+       hostname.5
+
 all: doc
 
 installdirs:
@@ -29,32 +37,23 @@ install: installdirs doc
        install -m755 -t $(DESTDIR)/etc/rc.d hwclock network netfs
        install -m755 -t $(DESTDIR)/etc/profile.d locale.sh
        install -m755 -t $(DESTDIR)/usr/sbin rc.d
-       install -m644 -t ${DESTDIR}/usr/share/man/man8 rc.d.8
-       install -m644 -t ${DESTDIR}/usr/share/man/man5 rc.conf.5 locale.conf.5 
vconsole.conf.5 hostname.5
+       install -m644 -t $(DESTDIR)/usr/share/man/man5 $(filter %.5, 
$(MAN_PAGES))
+       install -m644 -t $(DESTDIR)/usr/share/man/man8 $(filter %.8, 
$(MAN_PAGES))
        install -m755 -t $(DESTDIR)/usr/lib/initscripts arch-tmpfiles 
arch-sysctl
        install -m644 tmpfiles.conf $(DESTDIR)/usr/lib/tmpfiles.d/arch.conf
        install -m644 -T bash-completion $(DESTDIR)/etc/bash_completion.d/rc.d
        install -m644 -T zsh-completion 
$(DESTDIR)/usr/share/zsh/site-functions/_rc.d
 
-rc.d.8: rc.d.8.txt
-       a2x -d manpage -f manpage rc.d.8.txt
-
-rc.conf.5: rc.conf.5.txt
-       a2x -d manpage -f manpage rc.conf.5.txt
-
-locale.conf.5: locale.conf.5.txt
-       a2x -d manpage -f manpage locale.conf.5.txt
-
-vconsole.conf.5: vconsole.conf.5.txt
-       a2x -d manpage -f manpage vconsole.conf.5.txt
+%.5: %.5.txt
+       a2x -d manpage -f manpage $<
 
-hostname.5: hostname.5.txt
-       a2x -d manpage -f manpage hostname.5.txt
+%.8: %.8.txt
+       a2x -d manpage -f manpage $<
 
-doc: rc.d.8 rc.conf.5 locale.conf.5 vconsole.conf.5 hostname.5
+doc: $(MAN_PAGES)
 
 clean:
-       rm -f rc.d.8 rc.conf.5 locale.conf.5 vconsole.conf.5 hostname.5
+       rm -f $(MAN_PAGES)
 
 tar:
        git archive HEAD --prefix=initscripts-$(VER)/ | xz > 
initscripts-$(VER).tar.xz
-- 
1.7.9.3

Reply via email to