X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=doc%2Fexamples%2Fgen-tp%2FMakefile;h=bc172f0ccefbd08830f05a81b225e9594bb72969;hb=dc5af9e3311ab28f2728f540f06e61add9d7b5eb;hp=664372f214e0f594afd015e2e023edbd5483de74;hpb=7ccf75d384dd852f7aa51b44663546dd3c6baa83;p=lttng-ust.git diff --git a/doc/examples/gen-tp/Makefile b/doc/examples/gen-tp/Makefile index 664372f2..bc172f0c 100644 --- a/doc/examples/gen-tp/Makefile +++ b/doc/examples/gen-tp/Makefile @@ -10,29 +10,57 @@ # Permission to modify the code and to distribute modified code is # granted, provided the above notices are retained, and a notice that # the code was modified is included with the above copyright notice. - +# # This makefile is not using automake so that people can see how to make # simply. It builds a program with a statically embedded tracepoint # provider probe. +# +# This makefile is purposefully kept simple to support GNU and BSD make. -CC = gcc -LIBS = -ldl -llttng-ust +LIBS = -ldl -llttng-ust #On Linux +#LIBS = -lc -llttng-ust #On BSD +AM_V_P := : all: sample -sample: sample.o sample-tp.o - $(CC) $(LIBS) -o $@ $^ +sample: sample.o sample_tracepoint.o + @if $(AM_V_P); then set -x; else echo " CCLD $@"; fi; \ + $(CC) $(LDFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) $(CFLAGS) \ + -o $@ sample.o sample_tracepoint.o $(LIBS) sample.o: sample.c sample_tracepoint.h - $(CC) $(CFLAGS) -c -o $@ $< + @if $(AM_V_P); then set -x; else echo " CC $@"; fi; \ + $(CC) $(CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) $(CFLAGS) \ + -c -o $@ $< -sample-tp.o: sample_tracepoint.c sample_tracepoint.h - $(CC) $(CFLAGS) -I. -c -o $@ $< +# Use this command to compile the .c manually +#sample_tracepoint.o: sample_tracepoint.c sample_tracepoint.h +# $(CC) $(CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) $(CFLAGS) \ +# -I. -c -o $@ $< + +# This rule generate .o only and depends on rules for generating +# the .h and .c +%.o: %.tp %.c %.h + @if $(AM_V_P); then set -x; else echo " CC $@"; fi; \ + CPPFLAGS="$(AM_CPPFLAGS) $(CPPFLAGS)" \ + CFLAGS="$(AM_CFLAGS) $(CFLAGS)" \ + LDFLAGS="$(AM_LDFLAGS) $(LDFLAGS)" \ + CC="$(CC)" \ + $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $< + +# The following rule can be used to generate all files instead of having one +# for each file type. Note that the sample.o has a dependency on the +# .h, so you need to change that if you remove the %.h rule. +#%.o: %.tp +# lttng-gen-tp $< %.h: %.tp - lttng-gen-tp -o $@ $< + @if $(AM_V_P); then set -x; else echo " GEN $@"; fi; \ + $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $< + %.c: %.tp - lttng-gen-tp -o $@ $< + @if $(AM_V_P); then set -x; else echo " GEN $@"; fi; \ + $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $< .PHONY: clean clean: