# 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 may see how to build
-# a program and tracepoint provider probes as stand-alone shared objects.
+# This Makefile is not using automake so that users may see how to build
+# a program with tracepoint provider probes as stand-alone shared objects.
CC = gcc
LIBS = -ldl # On Linux
#LIBS = -lc # On BSD
-CFLAGS = -I.
+CFLAGS += -I.
+
+# Only necessary when building from the source tree and lttng-ust is not
+# installed
+ifdef BUILD_EXAMPLES_FROM_TREE
+CFLAGS += -I../../../include/
+LIBLTTNG_UST_PATH = ../../../liblttng-ust/.libs/
+LDFLAGS += -L$(LIBLTTNG_UST_PATH) -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)'
+
+# Third-party Makefiles have to define these targets to integrate with an
+# automake project
+EMPTY_AUTOMAKE_TARGETS = distdir install install-data install-exec uninstall \
+ install-dvi install-html install-info install-ps install-pdf \
+ installdirs check installcheck mostlyclean distclean maintainer-clean \
+ dvi html pdf ps info tags ctags
+.PHONY: $(EMPTY_AUTOMAKE_TARGETS)
+$(EMPTY_AUTOMAKE_TARGETS):
+endif
all: demo lttng-ust-provider-ust-tests-demo.so lttng-ust-provider-ust-tests-demo3.so
$(CC) $(CFLAGS) -fpic -c -o $@ $<
lttng-ust-provider-ust-tests-demo.so: lttng-ust-provider-ust-tests-demo.o
- $(CC) -shared -o $@ -llttng-ust $<
+ $(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $<
lttng-ust-provider-ust-tests-demo3.o: tp3.c ust_tests_demo3.h
$(CC) $(CFLAGS) -fpic -c -o $@ $<
lttng-ust-provider-ust-tests-demo3.so: lttng-ust-provider-ust-tests-demo3.o
- $(CC) -shared -o $@ -llttng-ust $<
+ $(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $<
demo.o: demo.c
$(CC) $(CFLAGS) -c -o $@ $<