Hi,
Section 7.3 of the Automake manual indicates that Automake provides (or at least intends to provide) sufficient cross-directory support to enable a single Makefile.am to support a complex, multi-directory package. In testing with versions 1.10 and 1.11
of Automake, I find that it does seem to understand sources in subdirectories, that it successfully builds targets into subdirectories, and that it generally does the right thing when installing files from subdirectories. Furthermore, I find that its support
for the “include” makes it easier to manage such Makefile.am files. Thanks!
Automake’s cross-directory support seems to have at least one serious problem, however: Makefiles generated by the autotools always build intermediate objects in the top source directory. For example, if I am building ./subpackage1/foo from ./subpackage1/foo.c
and ./subpackage1/init.c, then the intermediate foo.o and init.o files are created in the top source directory (./foo.o and ./init.o), instead of in ./subpackage1/. Aside from the mess, this presents a grave risk of incorrect builds, for if I also have subpackage2/init.c
(or subpackage2/init.f, etc.) then that wants to use the same name and location for its intermediate .o file as does subpackage1/init.c.
Is there any reason why Automake cannot or should not set up its make rules to build intermediate files into the same directory as their sources? That would cleanly resolve the name clash.
Regards,
John Bollinger
--
John C. Bollinger, Ph.D.
Computing and X-Ray Scientist
Department of Structural Biology
St. Jude Children's Research Hospital
address@hidden
(901) 595-3166 [office]
________________________________