It is something that make does. You can specify a shell to make
make target SHELL=...
But that does not help. According to my tests, if it does not find one, then it uses a build in shell (or so it seems). But I found no way to force that.
You can give it cmd.exe. But that is dead slow.
Check the makefile, there is one target that just echos all sorts of info "make fpc_...info". You can use that to play around.
I did not found any real solution.
One could put a shell into the fpc folder, and then use the patch to add that to the start of the PATH. Then the shell provided by lazarus would be used.
It would still be an external shell, not the builtin. And could be a problem. This is called on many different versions of windows, with all sort of different other settings..... Who knows if or what it may break.
Also some people may have fpc in their path. So ia fake shell could be disastrous. Because while it might work for the make scenario, it would break probably anything else that would use it as a shell.
In any case, I am not the expert on the whole make business. If this topic stands a chance of getting attention then probably on the mail list. So if interested, I suggest to try there, and see if anyone else from the team wants to take this on. If they believe a fake shell is not as risky as I assumed, then maybe someone is willing to go that path.
As I said, unfortunately not my area of expertise. So I am opting out. (unless make can be given an argument to force it to the internal shell)