I have a rather huge autotools-powered project that lives in a directory tree consisting of a lot of directories with subdirectories. It's got a target check
(in each subdirectory as well as the main directory) that executes a whole lot of automated tests. The check
target is built recursively.
Building as well as testing in parallel (via the -j
option to make) works for most of the directories. There is however one directory that contains test that don't work when executed in parallel (timing sensitivity), but pass when run serially.
The question is: Is there a way to force make to build the check
target serially in just this one subdirectory while building everything else in parallel?
Add to your Makefile
:
.NOTPARALLEL:
See the documentation of GNU make here.
If I understood you correctly, then when you run the recursive make that builds the check
target you can just pass -j1
specifically, to ensure that it runs serially:
check: ; $(MAKE) -j1 ...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With