make user_generic a lib
[lttv.git] / ltt-usertrace / Makefile
1
2 CC=gcc
3 INCLUDE_DIR=/usr/include
4 LIB_DIR?=/usr/lib
5 RANLIB=ranlib
6
7 LTT_CFLAGS=-I. -O2 -L. -fPIC
8
9 #For testing lib ltt-usertrace-fast
10 #CFLAGS+=-DLTT_SUBBUF_SIZE_CPU=134217728
11 #CFLAGS+=-DLTT_NULL_OUTPUT_TEST
12
13 all: libs samples
14
15 #SAMPLE PROGRAMS
16
17 samples: sample sample-highspeed sample-printf \
18 sample-instrument-fct sample-thread-slow sample-thread-fast sample-thread-brand sample-block
19
20 sample: sample.c
21 $(CC) $(LTT_CFLAGS) $(CFLAGS) -lltt-loader-user_generic -o $@ $^
22 sample-block: sample-block.c
23 $(CC) $(LTT_CFLAGS) $(CFLAGS) -lltt-loader-user_generic -o $@ $^
24
25 sample-thread-brand: sample-thread-brand.c
26 $(CC) $(LTT_CFLAGS) $(CFLAGS) -lltt-loader-user_generic -o $@ $^
27
28 sample-highspeed: sample-highspeed.c
29 $(CC) $(LTT_CFLAGS) $(CFLAGS) -lltt-usertrace-fast -lltt-loader-user_generic -o $@ $^
30
31 sample-printf: sample-printf.c
32 $(CC) $(LTT_CFLAGS) $(CFLAGS) -lltt-loader-user_generic -o $@ $^
33
34 sample-instrument-fct: sample-instrument-fct.c
35 $(CC) $(LTT_CFLAGS) $(CFLAGS) -g -finstrument-functions -lltt-instrument-functions -o $@ $^
36
37 sample-thread-slow: sample-thread-slow.c
38 $(CC) $(LTT_CFLAGS) $(CFLAGS) -lpthread -lltt-loader-user_generic -o $@ $^
39
40 sample-thread-fast: sample-thread-fast.c
41 $(CC) $(LTT_CFLAGS) $(CFLAGS) -lpthread -lltt-usertrace-fast -lltt-loader-user_generic -o $@ $^
42
43
44 #LIBRAIRIES
45
46 libs: libltt-instrument-functions.a libltt-instrument-functions.so.0 \
47 libltt-usertrace-fast.a libltt-usertrace-fast.so.0 \
48 libltt-loader-user_generic.a libltt-loader-user_generic.so.0
49
50 libltt-usertrace-fast.a: ltt-usertrace-fast.o
51 @rm -f libltt-usertrace-fast.a
52 $(AR) rc $@ $^
53 $(RANLIB) $@
54
55 libltt-usertrace-fast.so.0: ltt-usertrace-fast.o
56 @rm -f libltt-usertrace-fast.so libltt-usertrace-fast.so.0
57 $(CC) $(LTT_CFLAGS) $(CFLAGS) -lpthread -shared -Wl,-soname,libltt-usertrace-fast.so -o $@ $^
58 ln -s libltt-usertrace-fast.so.0 libltt-usertrace-fast.so
59
60 libltt-instrument-functions.a: ltt-instrument-functions.o ltt-facility-loader-user_generic.o ltt-usertrace-fast.o
61 @rm -f libltt-instrument-functions.a
62 $(AR) rc $@ $^
63 $(RANLIB) $@
64
65 libltt-instrument-functions.so.0: ltt-instrument-functions.o ltt-facility-loader-user_generic.o ltt-usertrace-fast.o
66 @rm -f libltt-instrument-functions.so libltt-instrument-functions.so.0
67 $(CC) $(LTT_CFLAGS) $(CFLAGS) -lpthread -shared -Wl,-soname,libltt-instrument-functions.so -o $@ $^
68 ln -s libltt-instrument-functions.so.0 libltt-instrument-functions.so
69
70 libltt-loader-user_generic.a: ltt-facility-loader-user_generic.o
71 @rm -f libltt-loader-user_generic.a
72 $(AR) rc $@ $^
73 $(RANLIB) $@
74
75 libltt-loader-user_generic.so.0: ltt-facility-loader-user_generic.o
76 @rm -f libltt-loader-user_generic.so libltt-loader-user_generic.so.0
77 $(CC) $(LTT_CFLAGS) $(CFLAGS) -lpthread -shared -Wl,-soname,libltt-loader-user_generic.so -o $@ $^
78 ln -s libltt-loader-user_generic.so.0 libltt-loader-user_generic.so
79
80 %.o: %.c
81 $(CC) $(LTT_CFLAGS) $(CFLAGS) -c -o $@ $+
82
83 .PHONY : clean install libs install_libs install_headers samples
84
85 install_headers:
86 if [ ! -e "$(INCLUDE_DIR)/ltt" ] ; then mkdir $(INCLUDE_DIR)/ltt ; fi
87 cp -f ltt/*.h $(INCLUDE_DIR)/ltt
88
89 install_libs:
90 cp -df libltt-instrument-functions.so* libltt-instrument-functions.a $(LIB_DIR)
91 cp -df libltt-usertrace-fast.so* libltt-usertrace-fast.a $(LIB_DIR)
92 cp -df libltt-loader-user_generic.so* libltt-loader-user_generic.a $(LIB_DIR)
93
94 install: install_headers libs install_libs
95
96 clean:
97 rm -fr *.o *~ sample-thread sample sample-highspeed sample-printf sample-instrument-fct libltt-instrument-functions.so* libltt-instrument-functions.a libltt-usertrace-fast.a libltt-usertrace-fast.so* libltt-loader-user_generic.so* libltt-loader-user_generic.a sample-thread-slow sample-thread-fast sample-thread-brand
98
This page took 0.031362 seconds and 5 git commands to generate.