+
+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)))
+
+lttng_check_linux_version = $(shell pwd)/include/linux/version.h
+lttng_check_generated_linux_version = $(shell pwd)/include/generated/uapi/linux/version.h
+
+
+#
+# Check for stale version.h, which can be a leftover from an old Linux
+# kernel tree moved to a newer kernel version, only pruned by make
+# distclean.
+#
+ifneq ($(wildcard $(lttng_check_linux_version)),)
+ifneq ($(wildcard $(lttng_check_generated_linux_version)),)
+$(error Duplicate version.h files found in $(lttng_check_linux_version) and $(lttng_check_generated_linux_version). Consider running make distclean on your kernel, or removing the stale $(lttng_check_linux_version) file)
+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