Move to kernel style SPDX license identifiers
[lttng-ust.git] / doc / examples / gen-tp / Makefile
index 664372f214e0f594afd015e2e023edbd5483de74..de62e481485ccbfc1e3fe9a4e4eac0e26ea60a11 100644 (file)
@@ -1,38 +1,59 @@
+# SPDX-License-Identifier: MIT
+#
 # Copyright (C) 2011-2012  Matthew Khouzam <matthew.khouzam@ericsson.com>
 # Copyright (C) 2012  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
 # Copyright (C) 2012  Yannick Brosseau <yannick.brosseau@gmail.com>
 #
-# 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
+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)" \
+               $(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:
This page took 0.024989 seconds and 4 git commands to generate.