> But third, I still don't understand. As I say above, I cannot reproduce your third behavior. Again, please invoke Make with -d and show the results.
I know - because you are using Windows shell and Windows echo. With Windows shell, and Cygwin echo, something is different. Here you go: C:\Temp>make -d -r foobar GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i386-pc-mingw32 find_and_set_shell path search set default_shell = C:/Tools/cygwin/bin/sh.exe Reading makefiles... Reading makefile `makefile'... Updating makefiles.... Considering target file `makefile'. Looking for an implicit rule for `makefile'. No implicit rule found for `makefile'. Finished prerequisites of target file `makefile'. No need to remake target `makefile'. Updating goal targets.... Considering target file `foobar'. File `foobar' does not exist. Finished prerequisites of target file `foobar'. Must remake target `foobar'. echo \\\foobar CreateProcess(C:\Tools\cygwin\bin\echo.exe,echo \\foobar,...) Putting child 0x009edfc0 (foobar) PID 10414992 on the chain. Live child 0x009edfc0 (foobar) PID 10414992 Main thread handle = 0x000007ac \\foobar Reaping winning child 0x009edfc0 PID 10414992 Removing child 0x009edfc0 PID 10414992 from chain. Successfully remade target file `foobar'. _______________________________________________ Make-w32 mailing list Make-w32@gnu.org http://lists.gnu.org/mailman/listinfo/make-w32