Dear 'make' team,
I found an issue with your make utility when applying multiple
jobs (--jobs=10 for example). The problem is that 'make' seems
to start building a target as soon as the dependency has been
started to be built, e.g.
dep0:
build dep0
dep1:
build dep1
target: dep0 dep1
build target
... might end up in a sequence like this:
(best viewed with mono-spaced font)
target dep0 dep1
| | |
| build dep0 |
| ////////// build dep1
| ////////// //////////
| terminated //////////
build target | //////////
... ERROR .. | terminated
| | |
| | |
that is, when the target is built the dep1 is not yet completed
and the dependency cannot be fulfilled. Thus:
+--------------------------------------------------------------------+
| The build process/thread of a target shall only be started when |
| the build process of the every dependecy has terminated. |
+--------------------------------------------------------------------+
This way one does not have to write bottle-neck phony targets by
hand to solve this problem.
Best Regards
Frank Schaefer
_______________________________________________
Bug-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-make