X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=Makefile.am;h=e3a4bbdc4eed8a5821ab3f19a7c24a6445480f5b;hb=c7dc133cff3db7336bb97fcb57c2dec559942518;hp=646b3d3026e5f9c999a15d3c2e8cc3e762628e2a;hpb=9441df61728a22747f28a713b6c00b1732acbd57;p=ust.git diff --git a/Makefile.am b/Makefile.am index 646b3d3..e3a4bbd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,11 @@ ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = libust tests libmallocwrap ustd ustctl libinterfork include + +# The order here is tricky. SUBDIRS applies both to compilation and +# installation. Programs depending on the libs must be built after +# libust and '.' (that contains the linker script). However, '.' +# must be installed after libust so it can overwrite libust.so with +# the linker script. +SUBDIRS = snprintf libustcomm libust . tests libmallocwrap ustd ustctl libinterfork include EXTRA_DIST = doc libust.ldscript.in libust-initializer.c dist_bin_SCRIPTS = usttrace @@ -7,10 +13,12 @@ dist_bin_SCRIPTS = usttrace ldscriptsdir = $(libdir) ldscripts_DATA = libust.so libust-initializer.o -CLEANFILES = $(ldscripts_DATA) +CLEANFILES = $(ldscripts_DATA) ./tests/libust-initializer.Po libust.so: libust.ldscript.in - $(SED) -e "s@\@FORMAT\@@$(LIBFORMAT)@" -e "s@\@PATH\@@${libdir}@g" < $< > $@ + $(SED) -e "s@\@FORMAT\@@$(LIBFORMAT)@" < $< > $@ +# It is very important to compile the initializer with PIC otherwise we +# may get obscure errors when linking to shared libraries. libust-initializer.o: libust-initializer.c - $(CC) $(CFLAGS) -c -I$(top_srcdir)/include -o $@ $< + $(CC) $(CFLAGS) -fPIC -c -I$(top_srcdir)/include -o $@ $<