Continuing the the dependency discussion, why is it necessary that "make -j 2" does things in the same order as "make"? From what I can see (with vxl), every executable and library target has full dependency information, and so any order followed by "make -j 2" should be valid.