Good afternon Della, On Wed, Mar 19, 2008 at 02:02:17PM -0400, NightStrike wrote: > > On Tue, 11 Mar 2008, NightStrike wrote: > > > I had intended to do everything with non-recursive make, but as [Ralf] > > > pointed out once, non-recursive is also considered harmful. [thread:] > http://lists.gnu.org/archive/html/automake/2007-11/msg00049.html
well, my interpretation of what Ralf said is that it's not healthy to obey the non-recursive-make rule too rigidly. I agree with that, though we might disagree in certain cases. In particular, it's useful to put certain libraries to a common subdirectory, _just because_ it allows you to use a different AM_CFLAGS in the Makefile.am there. The readability achieved from this hack may overweight the breaking of the rule. Back to the problem which started this thread: /trunk/ /trunk/mingw-w64-crt/ /trunk/mingw-w64-doc/ /trunk/mingw-w64-headers/ I guess you should have configure.ac at the top level (trunk). Then the top-level Makefile would contain SUBDIRS = mingw-w64-crt mingw-w64-doc mingw-w64-headers and the mingw-w64-crt/Makefile.am would perhaps also contain SUBDIRS, just for the purpose of the hack with local AM_CFLAGS. It's good to have as few makefiles as possible, it is important to remember that one makefile should _normally_ cover the whole subtree, but it's good to use SUBDIRS whenever it helps. BTW: Why do you insist on the layout described above? I would have one top-level directory and make "doc" and "headers" (or perhaps "hdr") subdirs. These subdirectories wouldn't need its own makefiles, as it is not too obtrusive to repeat the short directory name: dist_doc_DATA = doc/manual.txt include_HEADERS = \ hdr/mingw-one.h \ hdr/mingw-two.h \ hdr/etc.h Hope this helps you to find the right mix for your project, Stepan