[PATCH 2/2] trace-cmd: Makefile - use a substitution reference

From: John Kacur
Date: Wed Jun 09 2010 - 12:08:58 EST


subst will substitution every occurence of a string with another.
What we want here is just to substitute the last occurence.
That is we want to transform files that end with .1 into .1.install
We do not want to transform every ".1" in a path name into .1.install.

Without this fix you can get errors of this nature.

make prefix=/home/jkacur/rpmbuild/BUILDROOT/trace-cmd-1.0.1-4.fc12.x86_64/usr install_doc
make -C /home/jkacur/rpmbuild/BUILD/trace-cmd-1.0.1/Documentation install
make[1]: *** No rule to make target `/home/jkacur/rpmbuild/BUILD/trace-cmd-1.0.1.install/Documentation/trace-cmd.1', needed by `/home/jkacur/rpmbuild/BUILD/trace-cmd-1.0.1.install/Documentation/trace-cmd.1.install'. Stop.
make: *** [install_doc] Error 2

Signed-off-by: John Kacur <jkacur@xxxxxxxxxx>

Use a "substitution reference" instead of a substitution.
A "subst" will change every occurence of a string
---
Documentation/Makefile | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Documentation/Makefile b/Documentation/Makefile
index 7ed8877..d161703 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -77,8 +77,8 @@ define do_install
$(INSTALL) $1 $2;
endef

-MAN1_INSTALL = $(subst .1,.1.install,$(MAN1))
-MAN5_INSTALL = $(subst .5,.5.install,$(MAN5))
+MAN1_INSTALL = $(MAN1:%.1=%.1.install)
+MAN5_INSTALL = $(MAN5:%.5=%.5.install)

$(MAN1_INSTALL): %.1.install : %.1 force
$(Q)$(call do_install, $<, '$(man_dir_SQ)/man1')
@@ -92,4 +92,4 @@ clean:
$(RM) *.xml *.xsl *.1 *.5)

.PHONE: force
-force:
\ No newline at end of file
+force:
--
1.6.6.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/