On Mon, 2020-05-18 at 19:16 -0800, Britton Kerin wrote: > # I'm hoping > # for a little more feedback from paul declaring that the parser is indeed > # sequential and .SHELLSTATUS is indeed per-process, so that this is ok.
GNU make is not multithreaded and all invocations of $(shell ...) functions happen serially and are completed before the next step is taken, and .SHELLSTATUS is a normal make variable (that is, it's globally set when the shell function runs). Your second option should work fine.