automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fix recursive html and install-* doc rules for BSD make.


From: Ralf Wildenhues
Subject: Fix recursive html and install-* doc rules for BSD make.
Date: Sun, 1 Mar 2009 17:28:32 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

Unlike GNU make, BSD make implementations do not assume that a target
marked phony which does not have a corresponding rule, is just a happy
thing all by itself.  Specifically, the second line of this is necessary
in order to successfully run 'pmake html':
  html: html-am
  html-am:
  .PHONY: html-am

This patch hacks such support into Automake.  Yes, it has the
unfortunate property of adding several lines to many Makefile.in
files  :-/  but cleaning up should be done for all %required_targets I
guess.

Pushed to both branches.

Cheers,
Ralf

    Fix recursive html and install-* doc rules for BSD make.
    
    * automake.in (%required_targets): Add html-am,
    install-html-am, install-dvi-am, install-pdf-am, install-ps-am,
    install-info-am.
    * tests/txinfo32.test: New test.
    * tests/Makefile.am: Update.

diff --git a/automake.in b/automake.in
index 2ea317b..156dfba 100755
--- a/automake.in
+++ b/automake.in
@@ -458,12 +458,18 @@ my %required_targets =
    # FIXME: Not required, temporary hacks.
    # Well, actually they are sort of required: the -recursive
    # targets will run them anyway...
+   'html-am'         => 1,
    'dvi-am'          => 1,
    'pdf-am'          => 1,
    'ps-am'           => 1,
    'info-am'         => 1,
    'install-data-am' => 1,
    'install-exec-am' => 1,
+   'install-html-am' => 1,
+   'install-dvi-am'  => 1,
+   'install-pdf-am'  => 1,
+   'install-ps-am'   => 1,
+   'install-info-am' => 1,
    'installcheck-am' => 1,
    'uninstall-am' => 1,
 
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 1ed0fd3..3a55de0 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -634,6 +634,7 @@ txinfo28.test \
 txinfo29.test \
 txinfo30.test \
 txinfo31.test \
+txinfo32.test \
 transform.test \
 transform2.test \
 unused.test \
diff --git a/tests/txinfo32.test b/tests/txinfo32.test
new file mode 100755
index 0000000..267c0e9
--- /dev/null
+++ b/tests/txinfo32.test
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2009  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
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Make sure the documentation targets work as required with BSD make,
+# even in the presence of subdirs (requires presence of default *-am rules).
+
+. ./defs || Exit 1
+
+set -e
+
+mkdir sub
+cat >>configure.in <<'END'
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+cat >Makefile.am <<'END'
+SUBDIRS = sub
+END
+: >sub/Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure "--prefix=`pwd`/inst"
+$MAKE html dvi ps pdf info \
+      install-html install-dvi install-ps install-pdf install-info \
+      install-man install-data install-exec install uninstall
+
+Exit 0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]