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