Commit | Line | Data |
---|---|---|
1c8284eb MD |
1 | # |
2 | # Makefile for the LTT objects. | |
3 | # | |
4 | ||
5 | ifneq ($(KERNELRELEASE),) | |
11b5a3c2 | 6 | ifneq ($(CONFIG_TRACEPOINTS),) |
1c8284eb | 7 | |
58ee8fea MD |
8 | KERNELDIR=${LTTNG_KERNELDIR} |
9 | ||
c340f071 MD |
10 | lttng_check_linux_version = $(shell pwd)/include/linux/version.h |
11 | lttng_check_generated_linux_version = $(shell pwd)/include/generated/uapi/linux/version.h | |
12 | ||
13 | # | |
14 | # Check for stale version.h, which can be a leftover from an old Linux | |
15 | # kernel tree moved to a newer kernel version, only pruned by make | |
16 | # distclean. | |
17 | # | |
18 | ifneq ($(wildcard $(lttng_check_linux_version)),) | |
19 | ifneq ($(wildcard $(lttng_check_generated_linux_version)),) | |
20 | $(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) | |
21 | endif | |
22 | endif | |
23 | ||
58ee8fea MD |
24 | include $(KBUILD_EXTMOD)/Makefile.ABI.workarounds |
25 | ||
a90917c3 MD |
26 | obj-m += lttng-ring-buffer-client-discard.o |
27 | obj-m += lttng-ring-buffer-client-overwrite.o | |
28 | obj-m += lttng-ring-buffer-metadata-client.o | |
29 | obj-m += lttng-ring-buffer-client-mmap-discard.o | |
30 | obj-m += lttng-ring-buffer-client-mmap-overwrite.o | |
31 | obj-m += lttng-ring-buffer-metadata-mmap-client.o | |
32 | ||
33 | obj-m += lttng-tracer.o | |
34 | lttng-tracer-objs := lttng-events.o lttng-abi.o \ | |
35 | lttng-probes.o lttng-context.o \ | |
c26fddc2 | 36 | lttng-context-pid.o lttng-context-procname.o \ |
b64bc438 MD |
37 | lttng-context-prio.o lttng-context-nice.o \ |
38 | lttng-context-vpid.o lttng-context-tid.o \ | |
39 | lttng-context-vtid.o lttng-context-ppid.o \ | |
a82c63f1 | 40 | lttng-context-vppid.o lttng-calibrate.o \ |
0c956676 | 41 | lttng-context-hostname.o wrapper/random.o \ |
165eee70 MD |
42 | probes/lttng.o wrapper/trace-clock.o \ |
43 | wrapper/page_alloc.o | |
11b5a3c2 | 44 | |
c337ddc2 | 45 | obj-m += lttng-statedump.o |
361c023a MD |
46 | lttng-statedump-objs := lttng-statedump-impl.o wrapper/irqdesc.o \ |
47 | wrapper/fdtable.o | |
c337ddc2 | 48 | |
63728b02 | 49 | ifneq ($(CONFIG_HAVE_SYSCALL_TRACEPOINTS),) |
7b8ea3a5 | 50 | lttng-tracer-objs += lttng-syscalls.o probes/lttng-probe-user.o |
b4809588 | 51 | endif # CONFIG_HAVE_SYSCALL_TRACEPOINTS |
259b6cb3 | 52 | |
c24a0d71 | 53 | ifneq ($(CONFIG_PERF_EVENTS),) |
a90917c3 | 54 | lttng-tracer-objs += $(shell \ |
1386746e | 55 | if [ $(VERSION) -ge 3 \ |
5ca7b8a3 | 56 | -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 33 \) ] ; then \ |
1d443b34 | 57 | echo "lttng-context-perf-counters.o" ; fi;) |
b4809588 | 58 | endif # CONFIG_PERF_EVENTS |
c24a0d71 | 59 | |
20591cf7 | 60 | lttng-tracer-objs += $(shell \ |
821a8870 MD |
61 | if [ $(VERSION) -ge 4 \ |
62 | -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -ge 15 -a $(SUBLEVEL) -ge 0 \) ] ; then \ | |
20591cf7 MD |
63 | echo "lttng-tracepoint.o" ; fi;) |
64 | ||
6d61b34d | 65 | obj-m += probes/ |
f3bc08c5 | 66 | obj-m += lib/ |
f3bc08c5 | 67 | |
b4809588 | 68 | endif # CONFIG_TRACEPOINTS |
1c8284eb | 69 | |
b4809588 | 70 | else # KERNELRELEASE |
1c8284eb MD |
71 | KERNELDIR ?= /lib/modules/$(shell uname -r)/build |
72 | PWD := $(shell pwd) | |
2e6246b4 | 73 | CFLAGS = $(EXTCFLAGS) |
1c8284eb MD |
74 | |
75 | default: | |
58ee8fea | 76 | LTTNG_KERNELDIR=$(KERNELDIR) $(MAKE) -C $(KERNELDIR) M=$(PWD) modules |
1c8284eb MD |
77 | |
78 | modules_install: | |
58ee8fea | 79 | LTTNG_KERNELDIR=$(KERNELDIR) $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install |
1c8284eb MD |
80 | |
81 | clean: | |
58ee8fea | 82 | LTTNG_KERNELDIR=$(KERNELDIR) $(MAKE) -C $(KERNELDIR) M=$(PWD) clean |
1c8284eb | 83 | |
23e6a44f | 84 | %.i: %.c |
58ee8fea | 85 | LTTNG_KERNELDIR=$(KERNELDIR) $(MAKE) -C $(KERNELDIR) M=$(PWD) $@ |
b4809588 | 86 | endif # KERNELRELEASE |