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

Reply via email to