automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libtool libraries, dependencies and parallel builds


From: Stefano Lattarini
Subject: Re: libtool libraries, dependencies and parallel builds
Date: Fri, 02 Nov 2012 09:43:17 +0100

On 11/02/2012 09:18 AM, Václav Zeman wrote:
> On 1 November 2012 17:42, Diego Elio Pettenò wrote:
>> On 01/11/2012 09:18, Vincent Torri wrote:
>>> lib_eo_libeo_la_LIBADD = $(top_builddir)/src/lib/eina/libeina.la
>>
>> Don't use $(top_builddir) and it should work just fine.
> Is there a rationale behind this? I am not saying it is wrong, I just
> want to better understand how things work.
> 
My guess is that, albeit having a rule to build 'lib/eina/libeina.la'
-- rule generated by Automake from the

  lib_LTLIBRARIES = lib/eina/libeina.la lib/eo/libeo.la

assignment -- make is not "smart enough" to recognize that, in
this Makefile (where '$(top_builddir)' expands to '..'),
'$(top_builddir)/src/lib/eina/libeina.la' points in fact to
'lib/eina/libeina.la'.

So, when asked to build '$(top_builddir)/src/lib/eina/libeina.la'
as a dependency for 'lib/eo/libeo.la' -- dependency derived from
the

  lib_eo_libeo_la_LIBADD = $(top_builddir)/src/lib/eina/libeina.la

assignment --  make doesn't know how to proceed, and bails out.

So better to just remove the useless extra '$(top_builddir)/src'
indirection.  Not only this fixes the error, but is also clearer
to human readers IMNSHO.

HTH,
  Stefano



reply via email to

[Prev in Thread] Current Thread [Next in Thread]