This is the mail archive of the
automake@gnu.org
mailing list for the automake project.
Re: Subdirectory problem
- From: Peter Gavin <pgavin at debaser dot kicks-ass dot org>
- To: automake at gnu dot org
- Date: Sat, 21 Sep 2002 21:42:27 -0400
- Subject: Re: Subdirectory problem
- References: <20020921223610.GA3421@debaser>
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