On Tue, 2022-05-10 at 15:03 +0200, Gisle Vanem wrote: > SHELL := env "PATH=$(PATH)" /bin/bash
Well, I dunno. The problem is that at some point you have to choose which command to use to invoke something. The SHELL variable is intended to contain a shell program that make will exec(). Here you're saying that either (a) make has to invoke a shell which will invoke the SHELL command (and how does it choose which shell? It clearly can't use the SHELL variable...), or else (b) make has to parse this string and break it up into words that it can use to call exec() without going through a shell: normally make leaves this sort of command parsing up to the shell. I will say that this does work as expected and doesn't throw an error with the latest GNU make Git version, on GNU/Linux.