[pacman-dev] [PATCH 3/3] etc/Makefile: simplify build rule for conf files

Dave Reisner dreisner at archlinux.org
Sat Sep 22 12:17:21 EDT 2012


This lets us define the build rule and the dependency all at once, and
additionally removes the need for an intermediate temp file.

Signed-off-by: Dave Reisner <dreisner at archlinux.org>
---
I'm actually not sure I grok the need for the tmp file here. If anyone
happens to know why this patch might be a bad idea, feel free to chime
in.

 etc/Makefile.am | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/etc/Makefile.am b/etc/Makefile.am
index 58a80bd..7a1b91b 100644
--- a/etc/Makefile.am
+++ b/etc/Makefile.am
@@ -4,8 +4,9 @@ EXTRA_DIST = makepkg.conf.in pacman.conf.in
 # Files that should be removed, but which Automake does not know.
 MOSTLYCLEANFILES = $(dist_sysconf_DATA)
 
-#### Taken from the autoconf scripts Makefile.am ####
-edit = sed \
+SED_PROCESS = \
+	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+	$(SED) \
 	-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
 	-e 's|@localstatedir[@]|$(localstatedir)|g' \
 	-e 's|@prefix[@]|$(prefix)|g' \
@@ -19,14 +20,10 @@ edit = sed \
 	-e 's|@CARCH[@]|$(CARCH)|g' \
 	-e 's|@CHOST[@]|$(CHOST)|g' \
 	-e 's|@ARCHSWITCH[@]|$(ARCHSWITCH)|g' \
-	-e 's|@ROOTDIR[@]|$(ROOTDIR)|g'
+	-e 's|@ROOTDIR[@]|$(ROOTDIR)|g' \
+	< $< > $@
 
-$(dist_sysconf_DATA): Makefile
-	$(AM_V_at)$(RM) $@ $@.tmp
-	$(AM_V_GEN)$(edit) `test -f ./$@.in || echo $(srcdir)/`$@.in >$@.tmp
-	$(AM_V_at)mv $@.tmp $@
-
-makepkg.conf: $(srcdir)/makepkg.conf.in
-pacman.conf: $(srcdir)/pacman.conf.in
+%.conf: %.conf.in Makefile
+	$(SED_PROCESS)
 
 # vim:set ts=2 sw=2 noet:
-- 
1.7.12.1



More information about the pacman-dev mailing list