]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
dirstamp: revert change of Jan 11 2023.
authorKarl Berry <karl@freefriends.org>
Tue, 28 Feb 2023 23:14:07 +0000 (15:14 -0800)
committerKarl Berry <karl@freefriends.org>
Tue, 28 Feb 2023 23:14:07 +0000 (15:14 -0800)
Fixes (hopefully) automake bug https://bugs.gnu.org/61867.

* bin/automake.in: restore explicit per-directory pattern rules,
since evidently @D is not supported on BSD-derived makes,
whatever POSIX says.  That is, revert this commit:
https://git.savannah.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=55f8fcfd08cbf15d65d61dd2db934b6c3171cf06

bin/automake.in

index afd296afa651e4cb2c918b4266b3168226512697..f249064d5590aeae4244e64580d0ff31829d67f3 100644 (file)
@@ -7893,14 +7893,6 @@ sub require_build_directory
   $directory_map{$directory} = $dirstamp;
   $directory_map{$cdir} = $dirstamp;
 
-  # Generate the pattern rule only once.
-  if (! vardef ('am__dirstamp', TRUE))
-    {
-      $output_rules .= ("%/\$(am__dirstamp):\n"
-                       . "\t\@\$(MKDIR_P) \$(\@D)\n"
-                       . "\t\@: >>\$\@\n");
-    }
-
   # Set a variable for the dirstamp basename.
   define_pretty_variable ('am__dirstamp', TRUE, INTERNAL,
                          '$(am__leading_dot)dirstamp');
@@ -7908,6 +7900,10 @@ sub require_build_directory
   # Directory must be removed by 'make distclean'.
   $clean_files{$dirstamp} = DIST_CLEAN;
 
+  $output_rules .= ("$dirstamp:\n"
+                   . "\t\@\$(MKDIR_P) $directory\n"
+                   . "\t\@: >>$dirstamp\n");
+
   return $dirstamp;
 }