lkml.org 
[lkml]   [2010]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 2/2] trace-cmd: Makefile - use a substitution reference
Date
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@redhat.com>

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


\
 
 \ /
  Last update: 2010-06-09 18:11    [W:0.065 / U:0.820 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site