| 1 | # Copyright (C) 2013 Jérémie Galarneau <jeremie.galarneau@efficios.com> |
| 2 | # |
| 3 | # THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED |
| 4 | # OR IMPLIED. ANY USE IS AT YOUR OWN RISK. |
| 5 | # |
| 6 | # Permission is hereby granted to use or copy this program for any |
| 7 | # purpose, provided the above notices are retained on all copies. |
| 8 | # Permission to modify the code and to distribute modified code is |
| 9 | # granted, provided the above notices are retained, and a notice that |
| 10 | # the code was modified is included with the above copyright notice. |
| 11 | |
| 12 | # This Makefile is not using automake so that users may see how to build |
| 13 | # a program with tracepoint provider probes compiled as static libraries. |
| 14 | |
| 15 | CC = gcc |
| 16 | CFLAGS += -I. |
| 17 | LIBS = -ldl -llttng-ust # On Linux |
| 18 | #LIBS = -lc -llttng-ust # On BSD |
| 19 | |
| 20 | # Only necessary when building from the source tree and lttng-ust is not |
| 21 | # installed |
| 22 | ifdef BUILD_EXAMPLES_FROM_TREE |
| 23 | CFLAGS += -I../../../include/ |
| 24 | LIBLTTNG_UST_PATH = ../../../liblttng-ust/.libs/ |
| 25 | LDFLAGS += -L$(LIBLTTNG_UST_PATH) -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)' |
| 26 | |
| 27 | # Third-party Makefiles have to define these targets to integrate with an |
| 28 | # automake project |
| 29 | EMPTY_AUTOMAKE_TARGETS = distdir install install-data install-exec uninstall \ |
| 30 | install-dvi install-html install-info install-ps install-pdf \ |
| 31 | installdirs check installcheck mostlyclean distclean maintainer-clean \ |
| 32 | dvi html pdf ps info tags ctags |
| 33 | .PHONY: $(EMPTY_AUTOMAKE_TARGETS) |
| 34 | $(EMPTY_AUTOMAKE_TARGETS): |
| 35 | endif |
| 36 | |
| 37 | all: hello |
| 38 | |
| 39 | lttng-ust-provider-hello.o: tp.c ust_tests_hello.h |
| 40 | $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< |
| 41 | |
| 42 | lttng-ust-provider-hello.a: lttng-ust-provider-hello.o |
| 43 | ar -rc $@ $^ |
| 44 | |
| 45 | hello.o: hello.c |
| 46 | $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< |
| 47 | |
| 48 | hello: hello.o lttng-ust-provider-hello.a |
| 49 | $(CC) -o $@ $(LDFLAGS) $^ $(LIBS) |
| 50 | |
| 51 | .PHONY: clean |
| 52 | clean: |
| 53 | rm -f *.o *.a hello |