]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
Bug fixes
authorTom Tromey <tromey@redhat.com>
Sat, 17 Feb 1996 07:34:22 +0000 (07:34 +0000)
committerTom Tromey <tromey@redhat.com>
Sat, 17 Feb 1996 07:34:22 +0000 (07:34 +0000)
ChangeLog
Makefile.in
TODO
automake.in
lib/am/subdirs.am
subdirs.am
tests/Makefile.in

index 3747b865c066d56fe27c7e06e00fd5ca4e42a442..bf356dc3e357e148ed36cc2ef7c345601de33e1c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Sat Feb 17 00:15:20 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+       * subdirs.am: No longer depend on Makefile and $(CONFIG_HEADER).
+       * automake.in (handle_merge_targets): Correctly handle recursive
+       calls of uninstall, install-exec, and install-data.
+       (handle_merge_targets): Put Makefile, and possibly $config_name,
+       onto @all.
+       (handle_merge_targets): Push 'all' onto @install as appropriate.
+
 Fri Feb 16 08:27:04 1996  Tom Tromey  <tromey@creche.cygnus.com>
 
        * automake.in (handle_configure): config.status is in
index d14edad4c0a6b764575e696af764c2604336aa3f..59b8f3f9793dc5927b1d478cea7274301aae6e20 100644 (file)
@@ -108,7 +108,7 @@ config.status: configure
 $(srcdir)/configure: configure.in $(ACLOCAL)
        cd $(srcdir) && autoconf
 automake: $(top_builddir)/config.status automake.in
-       cd $(top_srcdir) && CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
+       cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
 
 mostlyclean-binSCRIPTS:
 
@@ -214,7 +214,7 @@ all-recursive install-data-recursive install-exec-recursive \
 installdirs-recursive install-recursive uninstall-recursive \
 check-recursive installcheck-recursive info-recursive dvi-recursive \
 mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive: $(CONFIG_HEADER) Makefile
+maintainer-clean-recursive:
        for subdir in $(SUBDIRS); do            \
          target=`echo $@ | sed s/-recursive//`; \
          echo making $$target in $$subdir;     \
@@ -276,7 +276,7 @@ dist: $(DEP_DISTFILES)
        chmod -R a+r $(distdir)
        tar chozf $(distdir).tar.gz $(distdir)
        rm -rf $(distdir)
-all: $(INFO_DEPS) $(SCRIPTS) $(DATA) all-recursive
+all: $(INFO_DEPS) $(SCRIPTS) $(DATA) all-recursive Makefile
 
 info: $(INFO_DEPS) info-recursive
 
@@ -290,7 +290,7 @@ install-exec-am: install-binSCRIPTS
 
 install-data-am: install-info install-pkgdataDATA
 
-uninstall-am: uninstall-binSCRIPTS uninstall-info uninstall-pkgdataDATA uninstall-recursive
+uninstall-am: uninstall-binSCRIPTS uninstall-info uninstall-pkgdataDATA
 
 install-exec: install-exec-recursive install-exec-am
 
diff --git a/TODO b/TODO
index 2d49ce2331eecf614e02e9d7879cc962301e5148..b68e7335c6323e9b29fb32bb5101e7618098cddc 100644 (file)
--- a/TODO
+++ b/TODO
@@ -5,9 +5,11 @@ Top priorities:
 * Rewrite clean targets.
 * Expand test suite.
 
-BUGS:
-** textutils makes uninstall do uninstall-recursive twice!?!
-** 'all-am' should depend on Makefile, etc -- not 'all'
+NOTE: in handle_merge_targets, 'all' handling is still wrong wrt
+subdirs.  'install' should always depend on "local all", whether 'all'
+or 'all-am'.  Actually, something perplexing is going on.  Why does
+"make install" in automake cause the recursion to happen twice??
+ANSWER: install-binSCRIPTS depends on 'all'.  How to fix??
 
 Check all require_file errors to see if any should reference a line in
 Makefile.am or configure.in.
index eacecb1e7d502d1615f2138206fcdd645f7e8e59..e2ce3a139f9f6de57d49321f834851b6a585c52c 100755 (executable)
@@ -1350,6 +1350,9 @@ sub handle_installdirs
 # avoid double colon rules, otherwise we'd use them instead.
 sub handle_merge_targets
 {
+    push (@all, 'Makefile');
+    push (@all, $config_name)
+       if $config_name && &dirname ($config_name) eq $relative_dir;
     &do_one_merge_target ('all', @all);
     &do_one_merge_target ('info', @info);
     &do_one_merge_target ('dvi', @dvi);
@@ -1357,7 +1360,9 @@ sub handle_merge_targets
     if (! defined $contents{'SUBDIRS'} || $relative_dir ne '.')
     {
        # 'check' must depend on 'all', but not at top level.
+       # Ditto install.
        unshift (@check, 'all');
+       unshift (@install, 'all');
     }
     &do_one_merge_target ('check', @check);
     &do_one_merge_target ('installcheck', @installcheck);
@@ -1392,7 +1397,6 @@ sub handle_merge_targets
     if ($recursive_install)
     {
        push (@install, 'install-recursive');
-       push (@uninstall, 'uninstall-recursive');
 
        if (@install_exec)
        {
@@ -1403,6 +1407,10 @@ sub handle_merge_targets
            push (@install, 'install-exec-am');
            push (@phony, 'install-exec-am');
        }
+       else
+       {
+           @install_exec = ('install-exec-recursive');
+       }
        if (@install_data)
        {
            $output_rules .= ('install-data-am: '
@@ -1412,6 +1420,10 @@ sub handle_merge_targets
            push (@install, 'install-data-am');
            push (@phony, 'install-data-am');
        }
+       else
+       {
+           @install_data = ('install-data-recursive');
+       }
        if (@uninstall)
        {
            $output_rules .= ('uninstall-am: '
@@ -1420,6 +1432,10 @@ sub handle_merge_targets
            @uninstall = ('uninstall-recursive', 'uninstall-am');
            push (@phony, 'uninstall-am');
        }
+       else
+       {
+           @uninstall = ('uninstall-recursive');
+       }
     }
 
     # Step three: print definitions users can use.
index a335ab6c7c1af986fdb67853b9b5c9c5e3b8e5c1..85c037a649508b4572e5efbd443e001a802e4c81 100644 (file)
@@ -28,7 +28,7 @@ all-recursive install-data-recursive install-exec-recursive \
 installdirs-recursive install-recursive uninstall-recursive \
 check-recursive installcheck-recursive info-recursive dvi-recursive \
 mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive: $(CONFIG_HEADER) Makefile
+maintainer-clean-recursive:
        for subdir in $(SUBDIRS); do            \
          target=`echo $@ | sed s/-recursive//`; \
          echo making $$target in $$subdir;     \
index a335ab6c7c1af986fdb67853b9b5c9c5e3b8e5c1..85c037a649508b4572e5efbd443e001a802e4c81 100644 (file)
@@ -28,7 +28,7 @@ all-recursive install-data-recursive install-exec-recursive \
 installdirs-recursive install-recursive uninstall-recursive \
 check-recursive installcheck-recursive info-recursive dvi-recursive \
 mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive: $(CONFIG_HEADER) Makefile
+maintainer-clean-recursive:
        for subdir in $(SUBDIRS); do            \
          target=`echo $@ | sed s/-recursive//`; \
          echo making $$target in $$subdir;     \
index 3c071441ba9f004955064c10f8746ad436ac7fc3..fcb934e921ced6c25163cc75d5f23949b0b7b458 100644 (file)
@@ -74,7 +74,7 @@ dist: $(DEP_DISTFILES)
          || ln $(srcdir)/$$file $(distdir)/$$file 2> /dev/null \
          || cp -p $(srcdir)/$$file $(distdir)/$$file; \
        done
-all:
+all: Makefile
 
 info: