diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | variable.c | 18 |
2 files changed, 23 insertions, 1 deletions
@@ -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 @@ -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); |