I have been searching stackoverflow, but I failed to find a satisfiable answer to my question.
Miller's paper Recursive Make Considered Harmful is well known in the community. Basically, I have been using the non-recursive make to manage the builds of my projects for many years. So far my experience with non-recursive make has been really positive.
To shed some lights for others, I have been successful building the C++ code base that has about 2 millions lines of code. I was able to manage the dependency correctly. The great thing about non-recursive approach is we can take advantage of the parallel build.
I have proved that the data in this report is consistent with at least 5 large projects. But I have been manually writing/porting the makefiles for the non-recursive make.
As you might imagine, for large projects, this involves a lot of work. Plus, the major challenge has been that it is very hard for new team members to understand/modify/debug the existing makefiles.
So my question is this: does anyone in the community know of any tool/script that can do non-recursive make, but manage the makefiles at higher level of abstraction? I would like to understand if anyone has written some scripts or tools to generate the final non-recursive makefiles from some simple input specs.