X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=Makefile.am;h=e3a4bbdc4eed8a5821ab3f19a7c24a6445480f5b;hb=8c017ed33e7d9a0f6e678e7f70922d1dddf413fc;hp=dd92eaf31e02749b2073bc72af40b996d7d3d7ad;hpb=5f118a1c28ec1a3b4ad0dc847dac9636ce69852d;p=ust.git diff --git a/Makefile.am b/Makefile.am index dd92eaf..e3a4bbd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,8 +1,24 @@ ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = libust tests libmallocwrap ustd ustctl libinterfork -EXTRA_DIST = doc share/kernelcompat.h share/localerr.h share/share.h \ - share/usterr.h +# 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 -include_HEADERS = share/kernelcompat.h share/localerr.h share/usterr.h +ldscriptsdir = $(libdir) +ldscripts_DATA = libust.so libust-initializer.o + +CLEANFILES = $(ldscripts_DATA) ./tests/libust-initializer.Po + +libust.so: libust.ldscript.in + $(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) -fPIC -c -I$(top_srcdir)/include -o $@ $<