From: Derek G. <fri...@gm...> - 2018-08-31 11:15:07
|
On Thu, Aug 30, 2018 at 5:12 PM Jed Brown <je...@je...> wrote: > Roy Stogner <roy...@ic...> writes: > It also parallelizes better because make has a flat and complete > dependency graph. Non-recursive make is much better. > Definitely! In MOOSE we actually create the entire list of of files to be compiled across multiple applications and up and down the application / library hierarchy so that we get max parallelism. libMesh's build is very "stuttery" by comparison (bursts of files are compiled simultaneously) and definitely leads to build slowdown. > It's necessary to catch errors if a symbol is removed from the library. > Automake/make has no way to know if changes have that effect. > The binaries that Roy is talking about aren't "test' binaries though. They're just utilities that libMesh has grown over the years. I would love to be able to turn them completely off. They do take a decent amount of time to link - especially on slower networked filesystems. > It is possible to link a bunch of examples together into one executable > that behaves differently depending on its name (for example). > I don't think that's critical for this case. We just don't need to build these binaries most of the time. Derek |