X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=Makefile.am;h=bff619836298e38d90aaec245f36d2f19a488a4e;hb=4cf459a783b914dfd2942b93c8ddbff11a025739;hp=f881570042b5b16d1844c32902c64f8b14b35c45;hpb=25123621e72daf757b53fe8b5f28130a98016988;p=ust.git diff --git a/Makefile.am b/Makefile.am index f881570..bff6198 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,17 +1,27 @@ -ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = libust tests libmallocwrap ustd ustctl libinterfork include +ACLOCAL_AMFLAGS = -I config -EXTRA_DIST = doc libust.ldscript.in libust-initializer.c +# 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 libustctl libust . tests libustinstr-malloc libustconsumer ust-consumerd ustctl libustfork include doc + +EXTRA_DIST = libust.ldscript.in libust-initializer.c libust-initializer.h dist_bin_SCRIPTS = usttrace ldscriptsdir = $(libdir) ldscripts_DATA = libust.so libust-initializer.o -CLEANFILES = $(ldscripts_DATA) +CLEANFILES = $(ldscripts_DATA) ./tests/libust-initializer.Po -libust_FORMAT := $(shell case $(shell uname -m) in (i*86) echo elf32-i386 ;; (x86_64) echo elf64-x86-64 ;; (ppc) echo elf32-powerpc ;; (ppc64) echo elf64-powerpc ;; (s390) echo elf32-s390 ;; (s390x) echo elf64-s390 ;; esac) libust.so: libust.ldscript.in - $(SED) -e "s@\@FORMAT\@@${libust_FORMAT}@" -e "s@\@PATH\@@${libdir}@g" < $< > $@ + $(SED) -e $(if $(LIBFORMAT),"s@\@FORMAT\@@$(LIBFORMAT)@","s@.*\@FORMAT\@.*@@") < $< > $@ +# 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) -c $(CFLAGS) -o $@ $< + $(CC) $(CFLAGS) -fno-strict-aliasing -fPIC -c -I$(top_srcdir)/include -I$(top_srcdir) -o $@ $< + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = ust.pc \ No newline at end of file