[arch-projects] [initscripts] [PATCH 2/2] Makefile: Rework man page handling

Lukas Fleischer archlinux at cryptocrack.de
Mon Mar 12 10:19:04 EDT 2012


* 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 <archlinux at 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



More information about the arch-projects mailing list