1 # SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
2 # SPDX-FileCopyrightText: 2010-2024 EfficiOS Inc.
4 ifneq ($(KERNELRELEASE
),)
6 # This part of the Makefile is used when called by the kernel build system
7 # and defines the modules to be built.
9 obj-
$(CONFIG_LTTNG
) += src
/
13 # This part of the Makefile is used when the 'make' command is runned in the
14 # base directory of the lttng-modules sources. It sets some environment and
15 # calls the kernel build system to build the actual modules.
17 KERNELDIR ?
= /lib
/modules
/$(shell uname
-r
)/build
20 # Experimental bitwise enum defaults to disabled.
21 CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM ?
= n
23 # Emulate Kconfig behavior of setting defines for config options.
24 LKCPPFLAGS
= $(KCPPFLAGS
)
25 ifeq ($(CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM
),y
)
26 LKCPPFLAGS
+= -DCONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM
=y
32 $(MAKE
) -C
$(KERNELDIR
) M
=$(PWD
)/src \
33 CONFIG_LTTNG
=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST
=m \
34 KCPPFLAGS
='$(LKCPPFLAGS)' \
38 $(MAKE
) -C
$(KERNELDIR
) M
=$(PWD
)/src \
39 CONFIG_LTTNG_SYSCALLS_EXTRACTOR
=m \
40 CONFIG_LTTNG
=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST
=m \
41 KCPPFLAGS
='$(LKCPPFLAGS)' \
45 $(MAKE
) -C
$(KERNELDIR
) M
=$(PWD
)/src \
46 CONFIG_LTTNG
=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST
=m \
47 KCPPFLAGS
='$(LKCPPFLAGS)' \
51 $(MAKE
) -C
$(KERNELDIR
) M
=$(PWD
)/src
clean
53 # The following targets are used for development and debugging. They are not
54 # part of the build system.
56 $(MAKE
) -C
$(KERNELDIR
) M
=$(PWD
) \
57 CONFIG_LTTNG
=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST
=m \
58 KCPPFLAGS
='$(LKCPPFLAGS)' \
62 $(MAKE
) -C
$(KERNELDIR
) M
=$(PWD
) \
63 CONFIG_LTTNG
=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST
=m \
64 KCPPFLAGS
='$(LKCPPFLAGS)' \