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



Reply via email to