On 2021-02-03, Bob Friesenhahn <bfrie...@simple.dallas.tx.us> wrote: > GNU make does have a way to declare that a target (or multiple > targets) is not safe for parallel use. This is done via a > '.NOTPARALLEL: target' type declaration.
According to the manual[1], prerequisites on .NOTPARALLEL target are ignored and this will simply disable parallel builds completely for the entire Makefile. I did a quick test and the manual seems to be accurate about this. Order-only prerequisites can be used to prevent GNU make from running specific rules in parallel. These are more difficult (but not impossible) to declare in an interoperable way. [1] https://www.gnu.org/software/make/manual/make.html#index-_002eNOTPARALLEL Cheers, Nick