Es geht nicht darum, ob du den quellcode hast, oder nicht. Das ganze endet in einer Arbeitserparnis für den compiler, der dann die dateien, die sich nicht verändern (also nobuild-packages), nicht nochmals compilieren muss.
Da es aber (meiner information nach) so ist, dass der compiler gerne mehrere dateien miteinander verbindet, hast du ein problem, da der compiler einerseits versucht das always-build-
package zu erstellen, darf es aber aufgrund der nobuild-anweisung nicht in die datei einbinden, die dieses packet unter anderem verwendet, da er diese nicht nochmals erstellen darf (wegen der nobuild-anweisung).
D.h. du machst entweder alles zu always-build, oder alles zu no-build, soweit du nichts nachträglich an den dateien veränderst.
ciao, Philipp