On Sat, Sep 21, 2002 at 06:36:10PM -0400, Peter Gavin wrote: > Hi, > > I decided to switch a project I'm working on to use a single top level Makefile, >instead of using recursive make. One thing I noticed was that if you have this in >your Makefile.am: > > bin_PROGRAMS = a/a > a_a_SOURCES = a/a.c > > Then a.o gets built in $(top_builddir), not $(top_builddir)/a as I would have >expected, and as it would be using recursive make. Is this a bug, or am I >misunderstanding something? > > Peter Gavin > >
Oh, btw, I'm using automake-1.6.3. And one other problem... My project has a library and an executable that links to that library. So, e.g. my project's Makefile.am is something like this: lib_LTLIBRARIES = liba/liba.la liba_liba_la_SOURCES = liba/liba.c bin_PROGRAMS = a/a a_a_SOURCES = a a_a_LDADD = $(top_builddir)/liba/liba.la So, liba/liba.c and a/a.c get compiled to liba.o and a.o respectively. liba.la gets created as liba/liba.la, and the real .so and .a files are put in liba/.libs, as expected. But, make distclean fails to remove liba/.libs or any of the files within, apparently because make distclean does rm -f liba/liba.la instead of using libtool to remove it. Pete