On Sun, 29 Feb 2004, Jonathan Phillips wrote:
I will do the will of the developers. Any more opinions on this and arguments for and against? I just learned automake while doing this, so I still need to figure out some other things, like how to explicitly recursively copy files from location A to location B and other simple things, but I feel pretty confident in what I know thus far.
In a previous project we did a tradeoff between recursive and non-recursive make structures after reading this particular article, and ended up going with the recursive make style like how we do it now, for several reasons:
* Compile time was not a big enough issue to need to switch (if it ain't broke...) * We wanted the flexibility of renaming/moving sub-modules without breaking everything * It was our goal to break out modules into independent libraries, so wanted to move towards decentralizing makefiles rather than vice versa.
For inkscape, compile time sounds like it's a bit more of an issue, so the first point isn't as strong. I think we have a similar amount of desire to maintain sub-module flexibility as we rearchitect some areas, although this probably isn't that big of a deal either way. For breaking out into independent libraries, I think actually what we want to aim for is shifting to a core+extension architecture, so that'd be fairly orthogonal to this anyway.
Personally, I like the idea of a single top level Makefile, though I recognize that recursive make is a pretty widespread standard process, and works "Good Enough". If we can definitely prove significantly faster build time through a different scheme, I'd be quite in favor of it, but if not, it'd be less clear. In the end though, as long as I can type 'make' (or an equivalent) at the top level and after some modest amount of time end up with a working executable, I'm happy. ;-)
Bryce
The recursive makefiles seem okay to me, and it doesn't seem that difficult to trace their whereabouts. I think I will open a wiki page on our build system, as it is another component that seems like it should be light and demystified if we want to move another direction eventually. Does this sound like a good idea?
Jon