X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=doc%2Fexamples%2Fgen-tp%2FMakefile;h=07627f3deed10f9180c98a2c966dfce232efc187;hb=90417e3efe593df1b5b7547b3ece31ebc0be7f4f;hp=664372f214e0f594afd015e2e023edbd5483de74;hpb=7ccf75d384dd852f7aa51b44663546dd3c6baa83;p=lttng-ust.git diff --git a/doc/examples/gen-tp/Makefile b/doc/examples/gen-tp/Makefile index 664372f2..07627f3d 100644 --- a/doc/examples/gen-tp/Makefile +++ b/doc/examples/gen-tp/Makefile @@ -1,38 +1,61 @@ +# SPDX-License-Identifier: MIT +# # Copyright (C) 2011-2012 Matthew Khouzam # Copyright (C) 2012 Mathieu Desnoyers # Copyright (C) 2012 Yannick Brosseau # -# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED -# OR IMPLIED. ANY USE IS AT YOUR OWN RISK. -# -# Permission is hereby granted to use or copy this program for any -# purpose, provided the above notices are retained on all copies. -# 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 +PYTHON := python + +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 $@ $< - -sample-tp.o: sample_tracepoint.c sample_tracepoint.h - $(CC) $(CFLAGS) -I. -c -o $@ $< + @if $(AM_V_P); then set -x; else echo " CC $@"; fi; \ + $(CC) $(CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) $(CFLAGS) \ + -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)" \ + $(PYTHON) $(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; \ + $(PYTHON) $(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; \ + $(PYTHON) $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $< .PHONY: clean clean: