Fix: Don't override user variables within the build system
[lttng-ust.git] / doc / examples / gen-tp / Makefile
CommitLineData
b25c5b37
YB
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.
16c96fc0 13#
b25c5b37
YB
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.
16c96fc0
MD
17#
18# This makefile is purposefully kept simple to support GNU and BSD make.
b25c5b37 19
c6c454ab
MD
20LIBS = -ldl -llttng-ust #On Linux
21#LIBS = -lc -llttng-ust #On BSD
b25c5b37
YB
22
23all: sample
24
db06a0a2 25sample: sample.o sample_tracepoint.o
e1c62734 26 $(CC) $(LDFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) $(CFLAGS) \
afd20a56 27 -o $@ sample.o sample_tracepoint.o $(LIBS)
b25c5b37
YB
28
29sample.o: sample.c sample_tracepoint.h
e1c62734 30 $(CC) $(CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) $(CFLAGS) \
f7116edc 31 -c -o $@ $<
b25c5b37 32
db06a0a2
YB
33# Use this command to compile the .c manually
34#sample_tracepoint.o: sample_tracepoint.c sample_tracepoint.h
e1c62734 35# $(CC) $(CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) $(CFLAGS) \
f7116edc 36# -I. -c -o $@ $<
db06a0a2
YB
37
38# This rule generate .o only and depends on rules for generating
39# the .h and .c
40%.o: %.tp %.c %.h
e1c62734
MJ
41 CPPFLAGS="$(AM_CPPFLAGS) $(CPPFLAGS)" \
42 CFLAGS="$(AM_CFLAGS) $(CFLAGS)" \
43 LDFLAGS="$(AM_LDFLAGS) $(LDFLAGS)" \
eadbff06 44 CC="$(CC)" \
f7116edc 45 $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $<
db06a0a2
YB
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 $<
b25c5b37
YB
52
53%.h: %.tp
f7116edc 54 $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $<
db06a0a2 55
b25c5b37 56%.c: %.tp
f7116edc 57 $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $<
b25c5b37
YB
58
59.PHONY: clean
60clean:
61 rm -f *.o sample
62 rm -f sample_tracepoint.h sample_tracepoint.c
This page took 0.02854 seconds and 4 git commands to generate.