I got frustrated by the amount of time that buildworld spends during make
includes when doing -j1 builds to debug build failures. This change adds
a new SUBDIR_WITH_INCS= variable that can be set to only run make includes
on the subdirs listed in that variable or completely skip it if empty.
If it is not set, it will run on all subdirs except "test" and "tests".
-j1 includes step before: 70.02 real 47.59 user 16.20 sys
-j8 includes step before: 18.41 real 75.07 user 29.17 sys
-j36 includes step before: 2.58 real 61.16 user 7.03 sys
-j1 includes step after: 15.38 real 8.63 user 4.38 sys
-j8 includes step after: 5.68 real 11.41 user 7.18 sys
-j36 includes step after: 2.33 real 13.01 user 2.10 sys
Tracing the make includes step gives me 2198 execve calls with this
patch whereas before we were starting 5960 processes.