automake
[Top][All Lists]
Advanced

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

Re: Dependency tracking problem using "-l" to link libraries.


From: Ralf Wildenhues
Subject: Re: Dependency tracking problem using "-l" to link libraries.
Date: Sun, 25 Apr 2010 12:05:45 +0200
User-agent: Mutt/1.5.20 (2009-10-28)

Hello Xochitl,

* Xochitl Lunde wrote on Thu, Apr 22, 2010 at 05:48:20PM CEST:
> I have a problem with my dependency tracking in my auto tools build.  I 
> have a program like this for an embedded target:

> pald_LDADD = $(am_ldadd)
> 
> am_ldadd = \
>         -lstartup

> There are more libraries in am_ldadd, but I wanted to shorten it. 
> Basically if I use "-lstartup" in my am_ldadd, the "pald" program does not 
> get relinked if I make a change in "libstartup.a", even though 
> "libstartup.a" does get relinked.  If I change my reference of 
> libstartup.a from "-lstartup" to "$(top_srcdir)/src/startup/libstartup.a", 
> then "pald" does relink.  What is wrong with using the "-l" instead of 
> specifying the full library name?

See 'info Automake Linking', the final paragraph, also here:
<http://www.gnu.org/software/automake/manual/html_node/Linking.html#Linking>

> I think I had switched to using "-l" 
> exclusivey because on some platforms I use dynamic libraries instead and I 
> didn't want to have to rewrite long lists in Makefile.am for platforms 
> that make dynamic libraries.

With shared libraries, you can use libtool and list the .la file in
*_LDADD.  Then everything will work as you desire.

Cheers,
Ralf




reply via email to

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