#
ifneq ($(KERNELRELEASE),)
-ifneq ($(CONFIG_TRACEPOINTS),)
+
+ifdef CONFIG_LOCALVERSION # Check if dot-config is included.
+ifeq ($(CONFIG_TRACEPOINTS),)
+$(error The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
+endif # CONFIG_TRACEPOINTS
+endif # ifdef CONFIG_LOCALVERSION
KERNELDIR = ${LTTNG_KERNELDIR}
MAKEFILEDIR = $(shell dirname $(lastword $(MAKEFILE_LIST)))
endif
endif
+ifneq ($(shell \
+ if [ $(VERSION) -ge 5 \
+ -o \( $(VERSION) -eq 4 -a $(PATCHLEVEL) -ge 8 \) ] ; then \
+ echo "true" ; fi;),)
+$(warning You are entering uncharted territories adventurer! Proceed with utmost caution (also, lttng-modules 2.7 does not support Linux >= 4.8. You should upgrade to a newer lttng-modules version.))
+endif
+
include $(MAKEFILEDIR)/Makefile.ABI.workarounds
obj-m += lttng-ring-buffer-client-discard.o
lttng-filter-validator.o \
probes/lttng-probe-user.o
-obj-m += lttng-statedump.o
-lttng-statedump-objs := lttng-statedump-impl.o wrapper/irqdesc.o \
- wrapper/fdtable.o
-
ifneq ($(CONFIG_HAVE_SYSCALL_TRACEPOINTS),)
lttng-tracer-objs += lttng-syscalls.o
endif # CONFIG_HAVE_SYSCALL_TRACEPOINTS
-o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -ge 15 -a $(SUBLEVEL) -ge 0 \) ] ; then \
echo "lttng-tracepoint.o" ; fi;)
+obj-m += lttng-statedump.o
+lttng-statedump-objs := lttng-statedump-impl.o wrapper/irqdesc.o \
+ wrapper/fdtable.o
+
obj-m += probes/
obj-m += lib/
-endif # CONFIG_TRACEPOINTS
-
else # KERNELRELEASE
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
CFLAGS = $(EXTCFLAGS)
-default:
+default: modules
+
+modules:
LTTNG_KERNELDIR=$(KERNELDIR) $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install: