On Sat, Apr 12, 2008 at 03:31:36PM +0200, Alban Bedel wrote:
so the new flat build system is underway. Sadly IMHO it have a few shortcomings and there is some things that I think we should discuss here before going any further.
The most important point IMHO, is do we really get rid of the .a or not? On the plus side I only see a few rule less in the Makefile. On the minus side the whole source list is required for any tool using the lib in question.
We would just need the relevant object files. You do have a point that this can be a burden to maintain. Note that every time I have merged a subdirectory makefile into the top-level one, there was a net reduction in linecount.
Then there is the problem that now all sources are grouped together. It completely prevent any sane build system for the tools. Even if we drop the .a we need to keep a source list for each lib. Anything else is just too inflexible.
If we keep separate lists we might as well put them in $LIB/Makefile and support building from the lib's dir. The latter is easy to achieve with some include. And still having separate Makefiles would make things easier for newcomers than having to dive in a 5000 lines Makefile.
I don't buy the 50 small makefiles are simpler than a big one argument. If you look at the top-level makefile and disregard the cruft that is going to go away when recursive make is eliminated - then it is really quite simple. There are some long list of objects/sources in there, but long lists are not really more complicated than short lists. For FFmpeg it makes sense since some directories are used independent of the whole thing, but for MPlayer I think not. Diego