]> git.ipfire.org Git - thirdparty/make.git/commitdiff
variable.c (define_automatic_variables) [__MSDOS__ || WINDOWS32]:
authorEli Zaretskii <eliz@gnu.org>
Fri, 27 Aug 2010 15:01:42 +0000 (15:01 +0000)
committerEli Zaretskii <eliz@gnu.org>
Fri, 27 Aug 2010 15:01:42 +0000 (15:01 +0000)
 Remove trailing backslashes in $(@D), $(<D), etc., for consistency
 with forward slashes.  Fixes Savannah bug #30795.

ChangeLog
variable.c

index 92468c13a8eae3b7181b0ce671c3de87eb191f1c..392b06af71e2acbe2be6d5cd9a2b5e02d564cadb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-08-27  Eli Zaretskii  <eliz@gnu.org>
+
+       * variable.c (define_automatic_variables) [__MSDOS__ || WINDOWS32]:
+       Remove trailing backslashes in $(@D), $(<D), etc., for consistency
+       with forward slashes.  Fixes Savannah bug #30795.
+
 2010-08-13  Paul Smith  <psmith@gnu.org>
 
        * NEWS: Accidentally forgot to back out the sorted wildcard
index 915be20a18ac89f9d108dcc0e1330111b89c0acc..0d85546c6746e5c28cf0bf5fa661104586d3da28 100644 (file)
@@ -917,7 +917,23 @@ define_automatic_variables (void)
   define_variable_cname ("?D", "$(dir $?)", o_automatic, 1);
   define_variable_cname ("^D", "$(dir $^)", o_automatic, 1);
   define_variable_cname ("+D", "$(dir $+)", o_automatic, 1);
-#else
+#elif defined(__MSDOS__) || defined(WINDOWS32)
+  /* For consistency, remove the trailing backslash as well as slash.  */
+  define_variable_cname ("@D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $@)))",
+                        o_automatic, 1);
+  define_variable_cname ("%D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $%)))",
+                        o_automatic, 1);
+  define_variable_cname ("*D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $*)))",
+                        o_automatic, 1);
+  define_variable_cname ("<D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $<)))",
+                        o_automatic, 1);
+  define_variable_cname ("?D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $?)))",
+                        o_automatic, 1);
+  define_variable_cname ("^D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $^)))",
+                        o_automatic, 1);
+  define_variable_cname ("+D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $+)))",
+                        o_automatic, 1);
+#else  /* not __MSDOS__, not WINDOWS32 */
   define_variable_cname ("@D", "$(patsubst %/,%,$(dir $@))", o_automatic, 1);
   define_variable_cname ("%D", "$(patsubst %/,%,$(dir $%))", o_automatic, 1);
   define_variable_cname ("*D", "$(patsubst %/,%,$(dir $*))", o_automatic, 1);