use signal safe ust_safe_snprintf()
[ust.git] / Makefile.am
index 8c4eb65c677564754bf0652720e4505271ad393d..de22e0d84021d2aedff6300ab3a1fc9024f5d40f 100644 (file)
@@ -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 libust . tests libmallocwrap ustd ustctl libinterfork include
 
 EXTRA_DIST = doc libust.ldscript.in libust-initializer.c
 dist_bin_SCRIPTS = usttrace
@@ -7,11 +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_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 "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_builddir)/include -o $@ $<
+       $(CC) $(CFLAGS) -fPIC -c -I$(top_srcdir)/include -o $@ $<
This page took 0.022639 seconds and 4 git commands to generate.