1 MAKEFILEDIR
= $(shell dirname
$(lastword
$(MAKEFILE_LIST
)))
3 include $(MAKEFILEDIR
)/..
/Makefile.ABI.workarounds
5 ccflags-y
+= -I
$(PWD
)/probes
6 obj-
$(CONFIG_LTTNG
) += lttng-types.o
8 obj-
$(CONFIG_LTTNG
) += lttng-probe-sched.o
9 obj-
$(CONFIG_LTTNG
) += lttng-probe-irq.o
10 obj-
$(CONFIG_LTTNG
) += lttng-probe-timer.o
11 obj-
$(CONFIG_LTTNG
) += lttng-probe-kmem.o
12 obj-
$(CONFIG_LTTNG
) += lttng-probe-module.o
13 obj-
$(CONFIG_LTTNG
) += lttng-probe-power.o
14 obj-
$(CONFIG_LTTNG
) += lttng-probe-statedump.o
16 ifneq ($(CONFIG_KVM
),)
17 obj-
$(CONFIG_LTTNG
) += lttng-probe-kvm.o
18 ifneq ($(CONFIG_X86
),)
19 kvm_dep_lapic
= $(srctree
)/arch
/x86
/kvm
/lapic.h
20 ifneq ($(wildcard $(kvm_dep_lapic
)),)
21 kvm_dep
= $(srctree
)/virt
/kvm
/iodev.h
$(srctree
)/include/kvm
/iodev.h
22 ifneq ($(wildcard $(kvm_dep
)),)
23 CFLAGS_lttng-probe-kvm-x86.o
+= -I
$(srctree
)/virt
/kvm
24 CFLAGS_lttng-probe-kvm-x86-mmu.o
+= -I
$(srctree
)/virt
/kvm
25 obj-
$(CONFIG_LTTNG
) += $(shell \
26 if
[ $(VERSION
) -ge
3 \
27 -o \
( $(VERSION
) -eq
2 -a
$(PATCHLEVEL
) -ge
6 -a
$(SUBLEVEL
) -ge
38 \
) ] ; then \
28 echo
"lttng-probe-kvm-x86.o" ; fi
;)
29 obj-
$(CONFIG_LTTNG
) += $(shell \
30 if
[ $(VERSION
) -ge
3 \
31 -o \
( $(VERSION
) -eq
2 -a
$(PATCHLEVEL
) -ge
6 -a
$(SUBLEVEL
) -ge
38 \
) ] ; then \
32 echo
"lttng-probe-kvm-x86-mmu.o" ; fi
;)
34 $(warning File
$(kvm_dep
) not found. Probe
"kvm" x86-specific is disabled. Use full kernel source tree to enable it.
)
35 endif # $(wildcard $(kvm_dep))
37 $(warning File
$(kvm_dep_lapic
) not found. Probe
"kvm" x86-specific is disabled. Use full kernel source tree to enable it.
)
38 endif # $(wildcard $(kvm_dep_lapic))
42 ifneq ($(CONFIG_X86
),)
43 x86_irq_vectors_dep
= $(srctree
)/arch
/x86
/include/asm
/trace
/irq_vectors.h
45 ifneq ($(wildcard $(x86_irq_vectors_dep
)),)
46 obj-
$(CONFIG_LTTNG
) += lttng-probe-x86-irq-vectors.o
47 endif # $(wildcard $(x86_irq_vectors_dep))
49 x86_exceptions_dep
= $(srctree
)/arch
/x86
/include/asm
/trace
/exceptions.h
51 ifneq ($(wildcard $(x86_exceptions_dep
)),)
52 obj-
$(CONFIG_LTTNG
) += lttng-probe-x86-exceptions.o
53 endif # $(wildcard $(x86_exceptions_dep))
56 obj-
$(CONFIG_LTTNG
) += $(shell \
57 if
[ $(VERSION
) -ge
3 \
58 -o \
( $(VERSION
) -eq
2 -a
$(PATCHLEVEL
) -ge
6 -a
$(SUBLEVEL
) -ge
33 \
) ] ; then \
59 echo
"lttng-probe-signal.o" ; fi
;)
61 ifneq ($(CONFIG_BLOCK
),)
62 # need blk_cmd_buf_len
63 ifneq ($(CONFIG_EVENT_TRACING
),)
64 obj-
$(CONFIG_LTTNG
) += lttng-probe-block.o
65 endif # CONFIG_EVENT_TRACING
68 ifneq ($(CONFIG_NET
),)
69 obj-
$(CONFIG_LTTNG
) += lttng-probe-napi.o
70 obj-
$(CONFIG_LTTNG
) += lttng-probe-skb.o
71 obj-
$(CONFIG_LTTNG
) += $(shell \
72 if
[ $(VERSION
) -ge
3 \
73 -o \
( $(VERSION
) -eq
2 -a
$(PATCHLEVEL
) -ge
6 -a
$(SUBLEVEL
) -ge
37 \
) ] ; then \
74 echo
"lttng-probe-net.o" ; fi
;)
75 obj-
$(CONFIG_LTTNG
) += $(shell \
76 if
[ $(VERSION
) -ge
4 \
77 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -ge
1 \
) ] ; then \
78 echo
"lttng-probe-sock.o" ; fi
;)
79 obj-
$(CONFIG_LTTNG
) += $(shell \
80 if
[ $(VERSION
) -ge
4 \
81 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -ge
1 \
) ] ; then \
82 echo
"lttng-probe-udp.o" ; fi
;)
85 ifneq ($(CONFIG_SND_SOC
),)
86 obj-
$(CONFIG_LTTNG
) += $(shell \
87 if
[ $(VERSION
) -ge
3 \
88 -o \
( $(VERSION
) -eq
2 -a
$(PATCHLEVEL
) -ge
6 -a
$(SUBLEVEL
) -ge
38 \
) ] ; then \
89 echo
"lttng-probe-asoc.o" ; fi
;)
90 endif # CONFIG_SND_SOC
92 ifneq ($(CONFIG_EXT3_FS
),)
93 ext3_dep
= $(srctree
)/fs
/ext3
/*.h
94 ext3_dep_check
= $(wildcard $(ext3_dep
))
96 if
[ $(VERSION
) -ge
4 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -ge
1 \
) ] ; then \
97 if
[ \
( $(VERSION
) -ge
4 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -ge
4 \
) \
) -a \
98 -z
"$(ext3_dep_check)" ] ; then \
102 echo
"lttng-probe-ext3.o" ; \
105 $(warning Files
$(ext3_dep
) not found. Probe
"ext3" is disabled. Use full kernel source tree to enable it.
)
108 obj-
$(CONFIG_LTTNG
) += $(ext3
)
109 endif # CONFIG_EXT3_FS
111 ifneq ($(CONFIG_GPIOLIB
),)
112 obj-
$(CONFIG_LTTNG
) += $(shell \
113 if
[ $(VERSION
) -ge
3 ] ; then \
114 echo
"lttng-probe-gpio.o" ; fi
;)
115 endif # CONFIG_GPIOLIB
117 ifneq ($(CONFIG_JBD2
),)
118 obj-
$(CONFIG_LTTNG
) += lttng-probe-jbd2.o
121 ifneq ($(CONFIG_JBD
),)
122 obj-
$(CONFIG_LTTNG
) += $(shell \
123 if
[ $(VERSION
) -ge
4 \
124 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -ge
1 \
) ] ; then \
125 echo
"lttng-probe-jbd.o" ; fi
;)
128 ifneq ($(CONFIG_REGULATOR
),)
129 obj-
$(CONFIG_LTTNG
) += $(shell \
130 if
[ $(VERSION
) -ge
3 \
131 -o \
( $(VERSION
) -eq
2 -a
$(PATCHLEVEL
) -ge
6 -a
$(SUBLEVEL
) -ge
38 \
) ] ; then \
132 echo
"lttng-probe-regulator.o" ; fi
;)
133 endif # CONFIG_REGULATOR
135 ifneq ($(CONFIG_SCSI
),)
136 obj-
$(CONFIG_LTTNG
) += $(shell \
137 if
[ $(VERSION
) -ge
3 \
138 -o \
( $(VERSION
) -eq
2 -a
$(PATCHLEVEL
) -ge
6 -a
$(SUBLEVEL
) -ge
35 \
) ] ; then \
139 echo
"lttng-probe-scsi.o" ; fi
;)
143 if
[ $(VERSION
) -ge
3 \
144 -o \
( $(VERSION
) -eq
2 -a
$(PATCHLEVEL
) -ge
6 -a
$(SUBLEVEL
) -ge
36 \
) ] ; then \
145 echo
"lttng-probe-vmscan.o" ; fi
;)
147 ifneq ($(CONFIG_SWAP
),)
148 obj-
$(CONFIG_LTTNG
) += $(vmscan
)
150 ifneq ($(CONFIG_CGROUP_MEM_RES_CTLR
),)
151 obj-
$(CONFIG_LTTNG
) += $(vmscan
)
152 endif # CONFIG_CGROUP_MEM_RES_CTLR
155 # lock probe does not work, so disabling it for now
156 #ifneq ($(CONFIG_LOCKDEP),)
157 # obj-$(CONFIG_LTTNG) += lttng-probe-lock.o
158 #endif # CONFIG_LOCKDEP
160 ifneq ($(CONFIG_BTRFS_FS
),)
161 btrfs_dep
= $(srctree
)/fs
/btrfs
/*.h
163 if
[ $(VERSION
) -ge
3 \
164 -o \
( $(VERSION
) -eq
2 -a
$(PATCHLEVEL
) -ge
6 -a
$(SUBLEVEL
) -ge
39 \
) ] ; then \
165 echo
"lttng-probe-btrfs.o" ; fi
;)
167 ifeq ($(wildcard $(btrfs_dep
)),)
168 $(warning Files
$(btrfs_dep
) not found. Probe
"btrfs" is disabled. Use full kernel source tree to enable it.
)
170 endif # $(wildcard $(btrfs_dep))
172 obj-
$(CONFIG_LTTNG
) += $(btrfs
)
173 endif # CONFIG_BTRFS_FS
175 obj-
$(CONFIG_LTTNG
) += $(shell \
176 if
[ $(VERSION
) -ge
3 \
177 -o \
( $(VERSION
) -eq
2 -a
$(PATCHLEVEL
) -ge
6 -a
$(SUBLEVEL
) -ge
38 \
) ] ; then \
178 echo
"lttng-probe-compaction.o" ; fi
;)
180 ifneq ($(CONFIG_EXT4_FS
),)
181 ext4_dep
= $(srctree
)/fs
/ext4
/*.h
182 ext4
= lttng-probe-ext4.o
183 ifeq ($(wildcard $(ext4_dep
)),)
184 $(warning Files
$(ext4_dep
) not found. Probe
"ext4" is disabled. Use full kernel source tree to enable it.
)
186 endif # $(wildcard $(ext4_dep))
187 obj-
$(CONFIG_LTTNG
) += $(ext4
)
188 endif # CONFIG_EXT4_FS
190 obj-
$(CONFIG_LTTNG
) += $(shell \
191 if
[ $(VERSION
) -ge
4 \
192 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -ge
4 \
) ] ; then \
193 echo
"lttng-probe-printk.o" ; fi
;)
195 ifneq ($(CONFIG_FRAME_WARN
),0)
196 CFLAGS_lttng-probe-printk.o
+= -Wframe-larger-than
=2200
199 obj-
$(CONFIG_LTTNG
) += $(shell \
200 if
[ $(VERSION
) -ge
4 \
201 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -ge
6 \
) \
202 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -eq
5 -a
$(SUBLEVEL
) -ge
2 \
) \
203 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -eq
4 -a
$(SUBLEVEL
) -ge
9 \
) \
204 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -eq
0 -a
$(SUBLEVEL
) -ge
41 \
) ] ; then \
205 echo
"lttng-probe-random.o" ; fi
;)
207 obj-
$(CONFIG_LTTNG
) += $(shell \
208 if
[ $(VERSION
) -ge
4 \
209 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -ge
2 \
) ] ; then \
210 echo
"lttng-probe-rcu.o" ; fi
;)
212 ifneq ($(CONFIG_REGMAP
),)
213 regmap_dep_4_1
= $(srctree
)/drivers
/base
/regmap
/trace.h
214 ifneq ($(wildcard $(regmap_dep_4_1
)),)
215 obj-
$(CONFIG_LTTNG
) += lttng-probe-regmap.o
217 $(warning File
$(regmap_dep_4_1
) not found. Probe
"regmap" is disabled. Need Linux
4.1+ kernel source tree to enable it.
)
218 endif # $(wildcard $(regmap_dep_4_1)),
219 endif # CONFIG_REGMAP
221 ifneq ($(CONFIG_PM_RUNTIME
),)
222 obj-
$(CONFIG_LTTNG
) += $(shell \
223 if
[ $(VERSION
) -ge
4 \
224 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -ge
2 \
) ] ; then \
225 echo
"lttng-probe-rpm.o" ; fi
;)
226 endif # CONFIG_PM_RUNTIME
228 ifneq ($(CONFIG_SUNRPC
),)
229 obj-
$(CONFIG_LTTNG
) += $(shell \
230 if
[ $(VERSION
) -ge
4 \
231 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -ge
4 \
) ] ; then \
232 echo
"lttng-probe-sunrpc.o" ; fi
;)
233 endif # CONFIG_SUNRPC
235 ifneq ($(CONFIG_VIDEO_V4L2
),)
236 obj-
$(CONFIG_LTTNG
) += $(shell \
237 if
[ $(VERSION
) -ge
4 \
238 -o \
( $(VERSION
) -eq
3 -a
$(PATCHLEVEL
) -ge
14 \
) ] ; then \
239 echo
"lttng-probe-v4l2.o" ; fi
;)
240 endif # CONFIG_VIDEO_V4L2
242 obj-
$(CONFIG_LTTNG
) += lttng-probe-workqueue.o
244 ifneq ($(CONFIG_KALLSYMS_ALL
),)
245 obj-
$(CONFIG_LTTNG
) += $(shell \
246 if
[ $(VERSION
) -ge
3 \
247 -o \
( $(VERSION
) -eq
2 -a
$(PATCHLEVEL
) -ge
6 -a
$(SUBLEVEL
) -ge
36 \
) ] ; then \
248 echo
"lttng-probe-writeback.o" ; fi
;)
250 $(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.
)
251 endif # CONFIG_KALLSYMS_ALL
253 ifneq ($(CONFIG_KPROBES
),)
254 obj-
$(CONFIG_LTTNG
) += lttng-kprobes.o
255 endif # CONFIG_KPROBES
257 ifneq ($(CONFIG_KRETPROBES
),)
258 obj-
$(CONFIG_LTTNG
) += lttng-kretprobes.o
259 endif # CONFIG_KRETPROBES
261 ifneq ($(CONFIG_DYNAMIC_FTRACE
),)
262 obj-
$(CONFIG_LTTNG
) += lttng-ftrace.o
263 endif # CONFIG_DYNAMIC_FTRACE
265 obj-
$(CONFIG_LTTNG
) += lttng-test.o