On 4 March 2015 at 19:05, Andy Falanga (afalanga) <afala...@micron.com> wrote: > I'm trying to reproduce this using the automake tools. I have this in the > Makefile.am located in sata: > > lib_LTLIBRARIES = satacpp.la > satacpp_la_SOURCES = ... > > pyexec_LTLIBRAIRES = sata.la > sata_la_LDFLAGS = -module > sata_la_LIBADD = -Wl,--whole-archive ../Shared/HwMgmt/.libs/libhwmgmt.a > ../Shared/Misc/.libs/libmisc.a .libs/libsata.a -Wl,--no-whole-archive -lz -lrt > > As I'm sure no one here will be surprised, this causes automake to fail > because, "linker flags such as '-Wl,--whole-archive' belong in > sata_la_LDFLAGS." However, when I place this there, I find that Makefile.in > and the final Makefile have things where I expect them, but when make runs, > the libraries I've specified to be included as "whole-archive" are not listed > between this option. Instead, they are listed earlier and *nothing is > listed* between -Wl,--whole-archive -Wl,--no-whole-archive. I assume that > libtool is doing this for me. >
I don't know if will work in your case, but I managed to work around automake's policing of one of its variables in a similar situation by hiding the value in a variable set by the configure script, e.g. do my_libadd=-Wl,--whole-archive ../Shared/HwMgmt/.libs/libhwmgmt.a ../Shared/Misc/.libs/libmisc.a .libs/libsata.a -Wl,--no-whole-archive -lz -lrt AC_SUBST([my_libadd]) in configure.ac, and sata_la_LIBADD=$(my_libadd) in Makefile.am.