Zack Weinberg (30 June 2025 19:23) wrote: > It doesn't have to control what happens inside a shell command. All > it has to do is split the recipe into individual commands *before* > expanding anything -- this is perfectly possible, since \n and ; > *don't* separate commands when they come from expansion -- and then, > for each command string, perform expansion, execute the result, wait > for execution to complete. It's *already* waiting for execution of > each command in a recipe before going on to the next one.
Could that run into problems if someone's setting of SHELL was somewhat unorthodox ? Remember that commands may be passed to an arbitrary command interpreter, $SHELL, and make can't hope to know the parsing rules for every command interpreter's language. Eddy. Confidential