-# Copyright (C) 2013 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+# 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 <jeremie.galarneau@efficios.com>
#
-# 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
tp.o: tp.c ust_tests_demo.h
- $(CC) $(CPPFLAGS) $(CFLAGS) -fpic -c -o $@ $<
+ @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
- $(CC) $(CPPFLAGS) $(CFLAGS) -fpic -c -o $@ $<
+ @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: tp.o tp2.o
- $(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $^
+ @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
tp3.o: tp3.c ust_tests_demo3.h
- $(CC) $(CPPFLAGS) $(CFLAGS) -fpic -c -o $@ $<
+ @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: tp3.o
- $(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $^
+ @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) $(CPPFLAGS) $(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) -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: