Follow-up Comment #2, bug #53879 (project make): On Windows platform, official GNU make handles properly .ONESHELL special target with Bourne or native (cmd.exe) shells. However, if another shell (e.g. perl) is used, recipes can't be executed correctly.
The reason is that function do_variable_definition() assigns a shell variable to its default value (sh.exe). This is avoided by removing conditional code in file variable.c. In addition, `else' clause in file job.c line 3009 that handles non-Posix shell must not be executed. More precisely, the `else' block is executed only when native shells are used by introducing an `else-if' clause. On MS-DOS platform, the patch allows for .ONESHELL target only with the Bourne or native shells. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?53879> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make