6d9ec10d5e5dd47f4db4604713c1c8cd50bcafdc
[lttng-ust.git] / doc / examples / gen-tp / Makefile
1 # Copyright (C) 2011-2012 Matthew Khouzam <matthew.khouzam@ericsson.com>
2 # Copyright (C) 2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 # Copyright (C) 2012 Yannick Brosseau <yannick.brosseau@gmail.com>
4 #
5 # THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
6 # OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
7 #
8 # Permission is hereby granted to use or copy this program for any
9 # purpose, provided the above notices are retained on all copies.
10 # Permission to modify the code and to distribute modified code is
11 # granted, provided the above notices are retained, and a notice that
12 # the code was modified is included with the above copyright notice.
13 #
14 # This makefile is not using automake so that people can see how to make
15 # simply. It builds a program with a statically embedded tracepoint
16 # provider probe.
17 #
18 # This makefile is purposefully kept simple to support GNU and BSD make.
19
20 LIBS = -ldl -llttng-ust #On Linux
21 #LIBS = -lc -llttng-ust #On BSD
22
23 all: sample
24
25 sample: sample.o sample_tracepoint.o
26 $(CC) $(LDFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) $(CFLAGS) \
27 -o $@ sample.o sample_tracepoint.o $(LIBS)
28
29 sample.o: sample.c sample_tracepoint.h
30 $(CC) $(CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) $(CFLAGS) \
31 -c -o $@ $<
32
33 # Use this command to compile the .c manually
34 #sample_tracepoint.o: sample_tracepoint.c sample_tracepoint.h
35 # $(CC) $(CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) $(CFLAGS) \
36 # -I. -c -o $@ $<
37
38 # This rule generate .o only and depends on rules for generating
39 # the .h and .c
40 %.o: %.tp %.c %.h
41 CPPFLAGS="$(AM_CPPFLAGS) $(CPPFLAGS)" \
42 CFLAGS="$(AM_CFLAGS) $(CFLAGS)" \
43 LDFLAGS="$(AM_LDFLAGS) $(LDFLAGS)" \
44 CC="$(CC)" \
45 $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $<
46
47 # The following rule can be used to generate all files instead of having one
48 # for each file type. Note that the sample.o has a dependency on the
49 # .h, so you need to change that if you remove the %.h rule.
50 #%.o: %.tp
51 # lttng-gen-tp $<
52
53 %.h: %.tp
54 $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $<
55
56 %.c: %.tp
57 $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $<
58
59 .PHONY: clean
60 clean:
61 rm -f *.o sample
62 rm -f sample_tracepoint.h sample_tracepoint.c
This page took 0.028699 seconds and 3 git commands to generate.