On Thu, 2003-11-20 at 09:04, Bob Friesenhahn wrote: > Using Automake 1.7.9, I am attempting to create a single Makefile.am > which is capable of building all of the libraries used by the project. > The source files to the project are located in subdirectories, and the > output libraries should also be located in subdirectories. The > objective is to replace an existing recursive build. > > Using a rule like: > > noinst_LIBRARIES = libs/somedir/libfoo.a > libs_somedir_libfoo_a_SOURCES=foo.cc > > and then inpecting the output of 'make -n' (and the generated > Makefile), I see evidence that the build will put all .Po files in a > .deps subdirectory under the Makefile.am, and all the .o files in the > same directory as Makefile.am. This approach seems quite wrong to me > since it is quite possible that libraries and applications may use > similarly named source files. Intermediate files should be placed > either under the directory where the library is placed, or in the > directory where the source files live. An even better solution would > allow the user to specify where intermediate files are placed on a > per-library and per application basis.
subdir_objects in your automake options. Problem is, there is a design headache that makes recursive clean fail with this approach - I forget the bug #, but it's on my todo, waay down there :p. Rob