compile with -fno-strict-aliasing
[ust.git] / Makefile.am
index 46dc86ca7ffa9dbade74c624bef5cb9e21ed64cf..f7952c64b3a25d78146220b714e142e6ab77e658 100644 (file)
@@ -1,7 +1,24 @@
 ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = libust tests libmallocwrap ustd ustctl libinterfork
 
-EXTRA_DIST = doc share/kernelcompat.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 libustinstr-malloc ustd ustctl libustfork include doc
+
+EXTRA_DIST = libust.ldscript.in libust-initializer.c
 dist_bin_SCRIPTS = usttrace
 
-include_HEADERS = share/kernelcompat.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) -fno-strict-aliasing -fPIC -c -I$(top_srcdir)/include -o $@ $<
This page took 0.023341 seconds and 4 git commands to generate.