From: Akim Demaille Date: Fri, 23 Feb 2001 15:03:51 +0000 (+0000) Subject: * automake.in (&handle_man_pages): Let install-man and X-Git-Tag: handle-languages~265 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=96cdf8ccb97690f35699ad952c87d6885bcca9e4;p=automake.git * automake.in (&handle_man_pages): Let install-man and uninstall-man be handled by the dependency tracker. (&initialize_per_input): Let %dependencies track them. * mans.am: Add the needed hooks with the proper dependencies. --- diff --git a/ChangeLog b/ChangeLog index 91397347..6a1eb251 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2001-02-23 Akim Demaille + + * automake.in (&handle_man_pages): Let install-man and + uninstall-man be handled by the dependency tracker. + (&initialize_per_input): Let %dependencies track them. + * mans.am: Add the needed hooks with the proper dependencies. + 2001-02-22 Pavel Roskin * tests/target-cflags.test: Don't use subshell to configure in @@ -38,7 +45,7 @@ * dist-vars.am: Remove, merge into... * distdir.am: this. - * automake.in (dirname, basename, backname): Move at the top of + * automake.in (dirname, basename, backname): Move to the top of the file so that prototypes are checked, Use them without `&'. (&handle_dist): Adjust. @@ -48,7 +55,7 @@ * automake.in (&check_ambiguous_conditional, &read_main_am_file): Use a uniform naming scheme. ("e_cond_val, &unquote_cond_val): Delete, dead code. - (&read_am_file): Fix conditioned definition of backslash continued + (&read_am_file): Fix conditional definition of backslash continued items. 2001-02-21 Akim Demaille diff --git a/Makefile.in b/Makefile.in index 67373880..f8fcadee 100644 --- a/Makefile.in +++ b/Makefile.in @@ -463,7 +463,7 @@ distdir: $(DISTFILES) fi -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) mkdir $(distdir) - $(mkinstalldirs) $(distdir)/. . + $(mkinstalldirs) $(distdir)/. @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ diff --git a/automake.in b/automake.in index 2bc13501..21c84267 100755 --- a/automake.in +++ b/automake.in @@ -2527,7 +2527,6 @@ sub handle_man_pages # Now for each section, generate an install and unintall rule. # Sort sections so output is deterministic. - local (@namelist); foreach my $sect (sort keys %sections) { &define_variable ('man' . $sect . 'dir', '$(mandir)/man' . $sect); @@ -2535,24 +2534,13 @@ sub handle_man_pages unless defined $options{'no-installman'}; $output_rules .= &file_contents ('mans', &transform ('SECTION', $sect)); - push (@namelist, 'install-man' . $sect); } + &depend ('.PHONY', 'install-man', 'uninstall-man'); # We don't really need this, but we use it in case we ever want to # support noinst_MANS. &define_variable ("MANS", join (' ', sort keys %vlist)); - # Generate list of install dirs. - $output_rules .= ("install-man: \$(MANS)\n" - . "\t\@\$(NORMAL_INSTALL)\n"); - &pretty_print_rule ("\t\$(MAKE) \$(AM_MAKEFLAGS)", "\t ", @namelist); - &depend ('.PHONY', 'install-man'); - - $output_rules .= "uninstall-man:\n\t\@\$(NORMAL_UNINSTALL)\n"; - grep ($_ = 'un' . $_, @namelist); - &pretty_print_rule ("\t\$(MAKE) \$(AM_MAKEFLAGS)", "\t ", @namelist); - &depend ('.PHONY', 'uninstall-man'); - $output_vars .= &file_contents ('mans-vars'); if (! defined $options{'no-installman'}) @@ -6589,6 +6577,11 @@ sub initialize_per_input # in Makefile: keeping related stuff altogether. %dependencies = ( + # Installing/uninstalling. + 'install-man' => [], + 'uninstall-man' => [], + + # Cleaning. 'clean-am' => [], 'mostlyclean-am' => [], 'maintainer-clean-am' => [], @@ -6598,9 +6591,10 @@ sub initialize_per_input 'maintainer-clean' => [], 'distclean' => [], - # Building all the flavors of distributions. + # Tarballing. 'dist-all' => [], + # Phoning. '.PHONY' => [] ); # Holds the factored actions. Tied to %DEPENDENCIES, i.e., filled diff --git a/lib/am/mans.am b/lib/am/mans.am index 65bcc7c6..7c57d0cf 100644 --- a/lib/am/mans.am +++ b/lib/am/mans.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright 1998 Free Software Foundation, Inc. +## Copyright 1998, 2001 Free Software Foundation, Inc. ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -15,7 +15,10 @@ ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ## 02111-1307, USA. -install-man@SECTION@: + +.PHONY install-man: install-man@SECTION@ +install-man@SECTION@: $(man@SECTION@_MANS) $(man_MANS) + @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(man@SECTION@dir) @list='$(man@SECTION@_MANS)'; \ ## Extract all items from man_MANS that should go in this section. @@ -41,7 +44,9 @@ install-man@SECTION@: done ## This is just completely gross. +.PHONY uninstall-man: uninstall-man@SECTION@ uninstall-man@SECTION@: + @$(NORMAL_UNINSTALL) @list='$(man@SECTION@_MANS)'; \ ## Extract all items from man_MANS that should go in this section. ## This must be done dynamically to support conditionals. @@ -61,5 +66,3 @@ uninstall-man@SECTION@: echo " rm -f $(DESTDIR)$(man@SECTION@dir)/$$inst"; \ rm -f $(DESTDIR)$(man@SECTION@dir)/$$inst; \ done - -.PHONY: install-man@SECTION@ uninstall-man@SECTION@ diff --git a/mans.am b/mans.am index 65bcc7c6..7c57d0cf 100644 --- a/mans.am +++ b/mans.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright 1998 Free Software Foundation, Inc. +## Copyright 1998, 2001 Free Software Foundation, Inc. ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -15,7 +15,10 @@ ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ## 02111-1307, USA. -install-man@SECTION@: + +.PHONY install-man: install-man@SECTION@ +install-man@SECTION@: $(man@SECTION@_MANS) $(man_MANS) + @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(man@SECTION@dir) @list='$(man@SECTION@_MANS)'; \ ## Extract all items from man_MANS that should go in this section. @@ -41,7 +44,9 @@ install-man@SECTION@: done ## This is just completely gross. +.PHONY uninstall-man: uninstall-man@SECTION@ uninstall-man@SECTION@: + @$(NORMAL_UNINSTALL) @list='$(man@SECTION@_MANS)'; \ ## Extract all items from man_MANS that should go in this section. ## This must be done dynamically to support conditionals. @@ -61,5 +66,3 @@ uninstall-man@SECTION@: echo " rm -f $(DESTDIR)$(man@SECTION@dir)/$$inst"; \ rm -f $(DESTDIR)$(man@SECTION@dir)/$$inst; \ done - -.PHONY: install-man@SECTION@ uninstall-man@SECTION@