-MAKEFILEDIR = $(shell dirname $(lastword $(MAKEFILE_LIST)))
+TOP_LTTNG_MODULES_DIR := $(shell dirname $(lastword $(MAKEFILE_LIST)))/..
-include $(MAKEFILEDIR)/../Makefile.ABI.workarounds
+include $(TOP_LTTNG_MODULES_DIR)/Makefile.ABI.workarounds
-ccflags-y += -I$(PWD)/probes
+ccflags-y += -I$(TOP_LTTNG_MODULES_DIR)
obj-$(CONFIG_LTTNG) += lttng-probe-sched.o
obj-$(CONFIG_LTTNG) += lttng-probe-irq.o
obj-$(CONFIG_LTTNG) += lttng-probe-power.o
obj-$(CONFIG_LTTNG) += lttng-probe-statedump.o
+i2c_dep = $(srctree)/include/trace/events/i2c.h
+ifneq ($(wildcard $(i2c_dep)),)
+ obj-$(CONFIG_LTTNG) += lttng-probe-i2c.o
+endif
+
ifneq ($(CONFIG_KVM),)
obj-$(CONFIG_LTTNG) += lttng-probe-kvm.o
ifneq ($(CONFIG_X86),)
CFLAGS_lttng-probe-kvm-x86-mmu.o += -I$(srctree)/virt/kvm
obj-$(CONFIG_LTTNG) += $(shell \
if [ $(VERSION) -ge 3 \
- -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 38 \) ] ; then \
+ -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 38 \) ] ; then \
echo "lttng-probe-kvm-x86.o" ; fi;)
obj-$(CONFIG_LTTNG) += $(shell \
if [ $(VERSION) -ge 3 \
- -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 38 \) ] ; then \
+ -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 38 \) ] ; then \
echo "lttng-probe-kvm-x86-mmu.o" ; fi;)
else
$(warning File $(kvm_dep) not found. Probe "kvm" x86-specific is disabled. Use full kernel source tree to enable it.)
obj-$(CONFIG_LTTNG) += $(shell \
if [ $(VERSION) -ge 3 \
- -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 33 \) ] ; then \
+ -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 33 \) ] ; then \
echo "lttng-probe-signal.o" ; fi;)
ifneq ($(CONFIG_BLOCK),)
obj-$(CONFIG_LTTNG) += lttng-probe-skb.o
obj-$(CONFIG_LTTNG) += $(shell \
if [ $(VERSION) -ge 3 \
- -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 37 \) ] ; then \
+ -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 37 \) ] ; then \
echo "lttng-probe-net.o" ; fi;)
obj-$(CONFIG_LTTNG) += $(shell \
if [ $(VERSION) -ge 4 \
ifneq ($(CONFIG_SND_SOC),)
obj-$(CONFIG_LTTNG) += $(shell \
if [ $(VERSION) -ge 3 \
- -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 38 \) ] ; then \
+ -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 38 \) ] ; then \
echo "lttng-probe-asoc.o" ; fi;)
endif # CONFIG_SND_SOC
ext3_dep = $(srctree)/fs/ext3/*.h
ext3_dep_check = $(wildcard $(ext3_dep))
ext3 = $(shell \
- if [ $(VERSION) -ge 4 -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -ge 1 \) ] ; then \
- if [ \( $(VERSION) -ge 4 -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -ge 4 \) \) -a \
- -z "$(ext3_dep_check)" ] ; then \
- echo "warn" ; \
- exit ; \
+ if [ $(VERSION) -lt 4 -o \( $(VERSION) -eq 4 -a $(PATCHLEVEL) -lt 3 \) ] ; then \
+ if [ $(VERSION) -ge 4 -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -ge 1 \) ] ; then \
+ if [ \( $(VERSION) -ge 4 -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -ge 4 \) \) -a \
+ -z "$(ext3_dep_check)" ] ; then \
+ echo "warn" ; \
+ exit ; \
+ fi; \
+ echo "lttng-probe-ext3.o" ; \
fi; \
- echo "lttng-probe-ext3.o" ; \
fi;)
ifeq ($(ext3),warn)
$(warning Files $(ext3_dep) not found. Probe "ext3" is disabled. Use full kernel source tree to enable it.)
ifneq ($(CONFIG_REGULATOR),)
obj-$(CONFIG_LTTNG) += $(shell \
if [ $(VERSION) -ge 3 \
- -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 38 \) ] ; then \
+ -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 38 \) ] ; then \
echo "lttng-probe-regulator.o" ; fi;)
endif # CONFIG_REGULATOR
ifneq ($(CONFIG_SCSI),)
obj-$(CONFIG_LTTNG) += $(shell \
if [ $(VERSION) -ge 3 \
- -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 35 \) ] ; then \
+ -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 35 \) ] ; then \
echo "lttng-probe-scsi.o" ; fi;)
endif # CONFIG_SCSI
-vmscan = $(shell \
+obj-$(CONFIG_LTTNG) += $(shell \
if [ $(VERSION) -ge 3 \
- -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 36 \) ] ; then \
+ -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 36 \) ] ; then \
echo "lttng-probe-vmscan.o" ; fi;)
-ifneq ($(CONFIG_SWAP),)
- obj-$(CONFIG_LTTNG) += $(vmscan)
-else
- ifneq ($(CONFIG_CGROUP_MEM_RES_CTLR),)
- obj-$(CONFIG_LTTNG) += $(vmscan)
- endif # CONFIG_CGROUP_MEM_RES_CTLR
-endif # CONFIG_SWAP
-
# lock probe does not work, so disabling it for now
#ifneq ($(CONFIG_LOCKDEP),)
# obj-$(CONFIG_LTTNG) += lttng-probe-lock.o
btrfs_dep = $(srctree)/fs/btrfs/*.h
btrfs = $(shell \
if [ $(VERSION) -ge 3 \
- -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 39 \) ] ; then \
+ -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 39 \) ] ; then \
echo "lttng-probe-btrfs.o" ; fi;)
ifneq ($(btrfs),)
ifeq ($(wildcard $(btrfs_dep)),)
obj-$(CONFIG_LTTNG) += $(shell \
if [ $(VERSION) -ge 3 \
- -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 38 \) ] ; then \
+ -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 38 \) ] ; then \
echo "lttng-probe-compaction.o" ; fi;)
ifneq ($(CONFIG_EXT4_FS),)
ifneq ($(CONFIG_KALLSYMS_ALL),)
obj-$(CONFIG_LTTNG) += $(shell \
if [ $(VERSION) -ge 3 \
- -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 36 \) ] ; then \
+ -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 36 \) ] ; then \
echo "lttng-probe-writeback.o" ; fi;)
else
- $(warning CONFIG_KALLSYMS_ALL is disabled, therefore probe "writeback" is disabled. Rebuild your kernel with this configuration option enabled in order to trace this subsystem.)
+ ifdef CONFIG_LOCALVERSION # Check if dot-config is included.
+ $(warning CONFIG_KALLSYMS_ALL is disabled, therefore probe "writeback" is disabled. Rebuild your kernel with this configuration option enabled in order to trace this subsystem.)
+ endif
endif # CONFIG_KALLSYMS_ALL
ifneq ($(CONFIG_KPROBES),)
obj-$(CONFIG_LTTNG) += lttng-ftrace.o
endif # CONFIG_DYNAMIC_FTRACE
-obj-$(CONFIG_LTTNG) += lttng-test.o
-
# vim:syntax=make