From f393d8d102b36a96b632ee3722d14c8b45c6ed40 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 11 Apr 1999 11:24:14 +0000 Subject: [PATCH] * automake.in (initialize_per_input): Initialize %directory_map. (handle_single_transform_list): Only create .dirstamp rules once per directory. --- ChangeLog | 4 ++++ automake.in | 37 +++++++++++++++++++++++-------------- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3edb42af..37ad6fc6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 1999-04-11 Tom Tromey + * automake.in (initialize_per_input): Initialize %directory_map. + (handle_single_transform_list): Only create .dirstamp rules once + per directory. + * m4/gcj.m4 (AM_PROG_GCJ): Use AC_CHECK_PROGS, not AC_CHECK_PROG. Fix for confh.test: diff --git a/automake.in b/automake.in index 37a0a4dd..d48370bb 100755 --- a/automake.in +++ b/automake.in @@ -1169,21 +1169,26 @@ sub handle_single_transform_list &am_error ("\`$full' contains \`..' component but should not"); } - push (@dep_list, $directory . '/.dirstamp'); - $output_rules .= ($directory . "/.dirstamp:\n" - . "\t\@\$(mkinstalldirs) $directory\n" - . "\t\@: > $directory/.dirstamp\n"); - - # If we're generating dependencies, we also want - # to make sure that the appropriate subdir of the - # .deps directory is created. - if ($use_dependencies) + if (! defined $directory_map{$directory}) { - push (@dep_list, '.deps/' . $directory . '/.dirstamp'); - $output_rules .= ('.deps/' . $directory - . "/.dirstamp:\n" - . "\t\@\$(mkinstalldirs) .deps/$directory\n" - . "\t\@: > .deps/$directory/.dirstamp\n"); + $directory_map{$directory} = 1; + + push (@dep_list, $directory . '/.dirstamp'); + $output_rules .= ($directory . "/.dirstamp:\n" + . "\t\@\$(mkinstalldirs) $directory\n" + . "\t\@: > $directory/.dirstamp\n"); + + # If we're generating dependencies, we also + # want to make sure that the appropriate + # subdir of the .deps directory is created. + if ($use_dependencies) + { + push (@dep_list, '.deps/' . $directory . '/.dirstamp'); + $output_rules .= ('.deps/' . $directory + . "/.dirstamp:\n" + . "\t\@\$(mkinstalldirs) .deps/$directory\n" + . "\t\@: > .deps/$directory/.dirstamp\n"); + } } } @@ -6619,6 +6624,10 @@ sub initialize_per_input # by a single source file. %object_map = (); + # This keeps track of the directories for which we've already + # created `.dirstamp' code. + %directory_map = (); + # These variables track inclusion of various compile-related .am # files. $included_generic_compile is TRUE if the basic code has # been included. $included_knr_compile is TRUE if the ansi2knr -- 2.43.5