X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=doc%2Fexamples%2Fdemo%2FMakefile;h=7e9746fa181c3a9d9585f8cae38b8f077b9b59f9;hb=08a10b1bf766665533d9d65d7cb15f8a3df984fb;hp=41f4321084760da8b8d6d25dd8459c75926fd62e;hpb=60302adc32827b3b62028018588f0d7bebb6c5d2;p=lttng-ust.git diff --git a/doc/examples/demo/Makefile b/doc/examples/demo/Makefile index 41f43210..7e9746fa 100644 --- a/doc/examples/demo/Makefile +++ b/doc/examples/demo/Makefile @@ -9,33 +9,53 @@ # 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 -lttng-ust-provider-ust-tests-demo.o: tp.c tp2.c ust_tests_demo.h ust_tests_demo2.h +tp.o: tp.c ust_tests_demo.h $(CC) $(CFLAGS) -fpic -c -o $@ $< -lttng-ust-provider-ust-tests-demo.so: lttng-ust-provider-ust-tests-demo.o - $(CC) -shared -o $@ -llttng-ust $< +tp2.o: tp2.c ust_tests_demo2.h + $(CC) $(CFLAGS) -fpic -c -o $@ $< + +lttng-ust-provider-ust-tests-demo.so: tp.o tp2.o + $(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $+ -lttng-ust-provider-ust-tests-demo3.o: tp3.c ust_tests_demo3.h +tp3.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 $< +lttng-ust-provider-ust-tests-demo3.so: tp3.o + $(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $+ demo.o: demo.c $(CC) $(CFLAGS) -c -o $@ $< demo: demo.o - $(CC) demo.o -o $@ $(LIBS) + $(CC) -o $@ $(LIBS) $+ .PHONY: clean clean: