X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=doc%2Fexamples%2Fdemo%2FMakefile;h=9443d5c971016023063a2e767c4754c93894f8dd;hb=c0c0989ab70574e09b2f7e8b48c2da6af664a849;hp=0c829da965c39a3209237655e4a78476cc14656b;hpb=a106a9f8513054954003122126a8b33b56de4bd8;p=lttng-ust.git diff --git a/doc/examples/demo/Makefile b/doc/examples/demo/Makefile index 0c829da9..9443d5c9 100644 --- a/doc/examples/demo/Makefile +++ b/doc/examples/demo/Makefile @@ -1,58 +1,53 @@ -# Copyright (C) 2013 Jérémie Galarneau +# SPDX-License-Identifier: MIT # -# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED -# OR IMPLIED. ANY USE IS AT YOUR OWN RISK. +# Copyright (C) 2013 Jérémie Galarneau # -# 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 users may see how to build # a program with tracepoint provider probes as stand-alone shared objects. +# +# This makefile is purposefully kept simple to support GNU and BSD make. -CC = gcc LIBS = -ldl # On Linux #LIBS = -lc # On BSD -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 +LOCAL_CPPFLAGS += -I. +AM_V_P := : 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 - $(CC) $(CFLAGS) -fpic -c -o $@ $< +tp.o: tp.c ust_tests_demo.h + @if $(AM_V_P); then set -x; else echo " CC $@"; fi; \ + $(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) \ + $(CFLAGS) -fpic -c -o $@ $< + +tp2.o: tp2.c ust_tests_demo2.h + @if $(AM_V_P); then set -x; else echo " CC $@"; fi; \ + $(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) \ + $(CFLAGS) -fpic -c -o $@ $< -lttng-ust-provider-ust-tests-demo.so: lttng-ust-provider-ust-tests-demo.o - $(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $< +lttng-ust-provider-ust-tests-demo.so: tp.o tp2.o + @if $(AM_V_P); then set -x; else echo " CCLD $@"; fi; \ + $(CC) -Wl,--no-as-needed -o $@ $(LDFLAGS) $(AM_CFLAGS) \ + $(AM_LDFLAGS) $(CFLAGS) -shared -fpic tp.o tp2.o $(LIBS) -llttng-ust -lttng-ust-provider-ust-tests-demo3.o: tp3.c ust_tests_demo3.h - $(CC) $(CFLAGS) -fpic -c -o $@ $< +tp3.o: tp3.c ust_tests_demo3.h + @if $(AM_V_P); then set -x; else echo " CC $@"; fi; \ + $(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) \ + $(CFLAGS) -fpic -c -o $@ $< -lttng-ust-provider-ust-tests-demo3.so: lttng-ust-provider-ust-tests-demo3.o - $(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $< +lttng-ust-provider-ust-tests-demo3.so: tp3.o + @if $(AM_V_P); then set -x; else echo " CCLD $@"; fi; \ + $(CC) -Wl,--no-as-needed -o $@ $(LDFLAGS) $(AM_CFLAGS) \ + $(AM_LDFLAGS) $(CFLAGS) -shared -fpic tp3.o $(LIBS) -llttng-ust demo.o: demo.c - $(CC) $(CFLAGS) -c -o $@ $< + @if $(AM_V_P); then set -x; else echo " CC $@"; fi; \ + $(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) \ + $(CFLAGS) -c -o $@ $< demo: demo.o - $(CC) demo.o -o $@ $(LIBS) + @if $(AM_V_P); then set -x; else echo " CCLD $@"; fi; \ + $(CC) $(LDFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) $(CFLAGS) \ + -o $@ demo.o $(LIBS) .PHONY: clean clean: