In perl.git, the branch smoke-me/Makefile-norecurse has been updated
<http://perl5.git.perl.org/perl.git/commitdiff/d84889fca46ae3f4c17202141ebf887ce07914b8?hp=63c6c7fd05a8e3406dd98c1929cf7673253f5b0d>
- Log -----------------------------------------------------------------
commit d84889fca46ae3f4c17202141ebf887ce07914b8
Author: Nicholas Clark <nick@ccl4.org>
Date: Wed Apr 25 18:28:39 2012 +0200
Refactor Makefile.SH to generate the install-* targets in a loop.
This slightly reduces the line count, merges five-fold duplication into one,
and eliminates 5 recursive calls from Makefile to itself.
M Makefile.SH
commit 1dfa5b7491b7b7dc78d30a14267e1f77badd0e88
Author: Nicholas Clark <nick@ccl4.org>
Date: Wed Apr 25 18:05:24 2012 +0200
In Makefile.SH, use the long names for options passed to install{perl,man}
This makes it clearer what is going on, and enables a simplifying refactoring.
M Makefile.SH
commit 98dfedd034257e4fcb5d99acaae2b26cb19a2837
Author: Nicholas Clark <nick@ccl4.org>
Date: Tue Apr 24 18:41:47 2012 +0200
Refactor the Makefile so that the install target depends on install-all.
Also, add targets install_notify and install-notify, as synonyms for
no_install and no-install. Previously install, install-all and install_all
were all generated by the same rule.
These changes make future refactoring easier.
M Makefile.SH
commit c54695d0962b1cdbdfb4174addaf2107ac0dc867
Author: Nicholas Clark <nick@ccl4.org>
Date: Wed Apr 25 15:48:33 2012 +0200
Add a no-op option --strip to installman.
This intentionally does nothing.
--strip for installperl instructs it to strip the installed binaries. Hence
by permitting installman to accept --strip without error Makefile.SH can be
simplified, as it's possible to pass identical flags to both install scripts.
M installman
-----------------------------------------------------------------------
Summary of changes:
Makefile.SH | 27 +++++++++++++++------------
installman | 5 ++++-
2 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/Makefile.SH b/Makefile.SH
index ba5ab79..d18a510 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -1082,23 +1082,26 @@ extras.install: $(PERL_EXE)
.PHONY: install install-strip install-all install-verbose install-silent \
no-install install.perl install.man install.html
-install_strip install-strip:
- $(MAKE) STRIPFLAGS=-s install DESTDIR="$(DESTDIR)"
+# Set this to an empty string to avoid an attempt of rebuild before install
+INSTALL_DEPENDENCE = all
-install install_all install-all:
- $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) DESTDIR="$(DESTDIR)"
+no_install no-install: install-notify
-install_verbose install-verbose:
- $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-V DESTDIR="$(DESTDIR)"
+install: install-all
+!NO!SUBS!
-install_silent install-silent:
- $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-S DESTDIR="$(DESTDIR)"
+for name in all notify silent strip verbose; do
+ flags="--$name";
+ $spitshell >>$Makefile <<EOT
-no_install no-install:
- $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n DESTDIR="$(DESTDIR)"
+install_$name install-$name: \$(INSTALL_DEPENDENCE) installperl all installman
+ \$(RUN_PERL) installperl --destdir=\$(DESTDIR) ${flags%--all} \$(INSTALLFLAGS) \$(STRIPFLAGS)
+ -@test ! -s extras.lst || \$(MAKE) extras.install
+ \$(RUN_PERL) installman --destdir=\$(DESTDIR) ${flags%--all}
+EOT
+done
-# Set this to an empty string to avoid an attempt of rebuild before install
-INSTALL_DEPENDENCE = all
+$spitshell >>$Makefile <<'!NO!SUBS!'
install.perl: $(INSTALL_DEPENDENCE) installperl
$(RUN_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
diff --git a/installman b/installman
index 73cf9e2..59903e4 100755
--- a/installman
+++ b/installman
@@ -36,9 +36,12 @@ my $usage =
--verbose (or -V) report all progress.
--silent (or -S) be silent. Only report errors.\n";
+# --strip intentionally does nothing. By permitting installman to accept it
+# without error, the Makefile can pass the same options to installperl and
+# installman, which permits more simplification there than this comment costs.
GetOptions( \%opts,
qw( man1dir=s man1ext=s man3dir=s man3ext=s
- destdir:s notify|n help|h|? silent|S verbose|V))
+ destdir:s notify|n help|h|? silent|S verbose|V strip))
|| die $usage;
die $usage if $opts{help};
$opts{destdir} //= '';
--
Perl5 Master Repository