When passing """" """" to a shell, it is evaluated to a single word " " if cmd.exe evaluates it, but to an unquoted single space if make short-circuits the cmd.exe argument.
Test case:
SHELL=cmd.exe
$(info x is $(x))
default:
mkdir $(x)
Makefile contains:
SHELL=cmd.exe
default:
$(MAKE) -f
foo.mk x=a"""" """"b
With 3.82 (which lets cmd.exe handle the quotes), this yields:
x is a" "b
With master (which short-circuits it), it yields:
x is a
*** No rule to build target 'b'. Stop.
My actual use case is similar to the 'mkdir' invocation in
foo.mk (a file with spaces needs to be quoted twice in order to be passed to commands in a recursive make). I have found sufficient workarounds for my use cases.