Fix: Don't override user variables within the build system
[lttng-ust.git] / doc / examples / gen-tp / Makefile
index 664372f214e0f594afd015e2e023edbd5483de74..6d9ec10d5e5dd47f4db4604713c1c8cd50bcafdc 100644 (file)
 # 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
 
 all: sample
 
-sample: sample.o sample-tp.o
-       $(CC) $(LIBS) -o $@ $^
+sample: sample.o sample_tracepoint.o
+       $(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 $@ $<
+       $(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
+       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 $@ $<
+       $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $<
+
 %.c: %.tp
-       lttng-gen-tp -o $@ $<
+       $(LTTNG_GEN_TP_PATH)lttng-gen-tp -o $@ $<
 
 .PHONY: clean
 clean:
This page took 0.023924 seconds and 4 git commands to generate.