Blame view
kernel/Makefile
5.21 KB
b24413180
|
1 |
# SPDX-License-Identifier: GPL-2.0 |
1da177e4c
|
2 3 4 |
# # Makefile for the linux kernel. # |
b9ee979e9
|
5 |
obj-y = fork.o exec_domain.o panic.o \ |
5cee96459
|
6 |
cpu.o exit.o softirq.o resource.o \ |
88db0aa24
|
7 |
sysctl.o capability.o ptrace.o user.o \ |
0ce2c2029
|
8 |
signal.o sys.o umh.o workqueue.o pid.o task_work.o \ |
5cee96459
|
9 10 |
extable.o params.o \ kthread.o sys_ni.o nsproxy.o \ |
15d94b825
|
11 |
notifier.o ksysfs.o cred.o reboot.o \ |
b4e9c9549
|
12 |
async.o range.o smpboot.o ucount.o regset.o |
2813893f8
|
13 |
|
d71fa5c97
|
14 |
obj-$(CONFIG_USERMODE_DRIVER) += usermode_driver.o |
0ce2c2029
|
15 |
obj-$(CONFIG_MODULES) += kmod.o |
2813893f8
|
16 |
obj-$(CONFIG_MULTIUSER) += groups.o |
029632fbb
|
17 |
|
606576ce8
|
18 |
ifdef CONFIG_FUNCTION_TRACER |
e11b956e9
|
19 |
# Do not trace internal ftrace files |
c0a80c0c2
|
20 |
CFLAGS_REMOVE_irq_work.o = $(CC_FLAGS_FTRACE) |
1d09daa55
|
21 |
endif |
5c9a8750a
|
22 23 24 |
# Prevents flicker of uninteresting __do_softirq()/__local_bh_disable_ip() # in coverage traces. KCOV_INSTRUMENT_softirq.o := n |
0ebba7141
|
25 26 27 |
# Avoid KCSAN instrumentation in softirq ("No shared variables, all the data # are CPU local" => assume no data races), to reduce overhead in interrupts. KCSAN_SANITIZE_softirq.o = n |
5c9a8750a
|
28 29 30 31 |
# These are called from save_stack_trace() on slub debug path, # and produce insane amounts of uninteresting coverage. KCOV_INSTRUMENT_module.o := n KCOV_INSTRUMENT_extable.o := n |
43e76af85
|
32 |
KCOV_INSTRUMENT_stacktrace.o := n |
5c9a8750a
|
33 34 |
# Don't self-instrument. KCOV_INSTRUMENT_kcov.o := n |
c1cb05e77
|
35 36 |
# If sanitizers detect any issues in kcov, it may lead to recursion # via printk, etc. |
5c9a8750a
|
37 |
KASAN_SANITIZE_kcov.o := n |
0ebba7141
|
38 |
KCSAN_SANITIZE_kcov.o := n |
c1cb05e77
|
39 |
UBSAN_SANITIZE_kcov.o := n |
31a1b9878
|
40 |
CFLAGS_kcov.o := $(call cc-option, -fno-conserve-stack) -fno-stack-protector |
5c9a8750a
|
41 |
|
cf68fffb6
|
42 43 |
# Don't instrument error handlers CFLAGS_REMOVE_cfi.o := $(CC_FLAGS_CFI) |
391e43da7
|
44 |
obj-y += sched/ |
01768b42d
|
45 |
obj-y += locking/ |
dae5cbc24
|
46 |
obj-y += power/ |
b9ee979e9
|
47 |
obj-y += printk/ |
0244ad004
|
48 |
obj-y += irq/ |
4102adab9
|
49 |
obj-y += rcu/ |
b700e7f03
|
50 |
obj-y += livepatch/ |
cf65a0f6f
|
51 |
obj-y += dma/ |
142781e10
|
52 |
obj-y += entry/ |
391e43da7
|
53 |
|
bfe3911a9
|
54 |
obj-$(CONFIG_KCMP) += kcmp.o |
8174f1503
|
55 |
obj-$(CONFIG_FREEZER) += freezer.o |
b03f6489f
|
56 |
obj-$(CONFIG_PROFILING) += profile.o |
8637c0990
|
57 |
obj-$(CONFIG_STACKTRACE) += stacktrace.o |
ad596171e
|
58 |
obj-y += time/ |
1da177e4c
|
59 60 |
obj-$(CONFIG_FUTEX) += futex.o obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o |
351f8f8e6
|
61 |
obj-$(CONFIG_SMP) += smp.o |
9316fcacb
|
62 |
ifneq ($(CONFIG_SMP),y) |
53ce3d956
|
63 64 |
obj-y += up.o endif |
1da177e4c
|
65 66 |
obj-$(CONFIG_UID16) += uid16.o obj-$(CONFIG_MODULES) += module.o |
b56e5a17b
|
67 |
obj-$(CONFIG_MODULE_SIG) += module_signing.o |
c8424e776
|
68 |
obj-$(CONFIG_MODULE_SIG_FORMAT) += module_signature.o |
1da177e4c
|
69 |
obj-$(CONFIG_KALLSYMS) += kallsyms.o |
1da177e4c
|
70 |
obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o |
692f66f26
|
71 |
obj-$(CONFIG_CRASH_CORE) += crash_core.o |
2965faa5e
|
72 |
obj-$(CONFIG_KEXEC_CORE) += kexec_core.o |
dc009d924
|
73 |
obj-$(CONFIG_KEXEC) += kexec.o |
a43cac0d9
|
74 |
obj-$(CONFIG_KEXEC_FILE) += kexec_file.o |
175fca3bf
|
75 |
obj-$(CONFIG_KEXEC_ELF) += kexec_elf.o |
6dab27784
|
76 |
obj-$(CONFIG_BACKTRACE_SELF_TEST) += backtracetest.o |
1da177e4c
|
77 |
obj-$(CONFIG_COMPAT) += compat.o |
201af4c0f
|
78 |
obj-$(CONFIG_CGROUPS) += cgroup/ |
aee16ce73
|
79 80 |
obj-$(CONFIG_UTS_NS) += utsname.o obj-$(CONFIG_USER_NS) += user_namespace.o |
74bd59bb3
|
81 |
obj-$(CONFIG_PID_NS) += pid_namespace.o |
1da177e4c
|
82 |
obj-$(CONFIG_IKCONFIG) += configs.o |
f7b101d33
|
83 |
obj-$(CONFIG_IKHEADERS) += kheaders.o |
bbf1bb3ee
|
84 |
obj-$(CONFIG_SMP) += stop_machine.o |
8c1c93564
|
85 |
obj-$(CONFIG_KPROBES_SANITY_TEST) += test_kprobes.o |
939a67fc4
|
86 |
obj-$(CONFIG_AUDIT) += audit.o auditfilter.o |
c8fc5d49c
|
87 |
obj-$(CONFIG_AUDITSYSCALL) += auditsc.o audit_watch.o audit_fsnotify.o audit_tree.o |
939a67fc4
|
88 |
obj-$(CONFIG_GCOV_KERNEL) += gcov/ |
5c9a8750a
|
89 |
obj-$(CONFIG_KCOV) += kcov.o |
1da177e4c
|
90 |
obj-$(CONFIG_KPROBES) += kprobes.o |
4b1a29a7f
|
91 |
obj-$(CONFIG_FAIL_FUNCTION) += fail_function.o |
c43382097
|
92 |
obj-$(CONFIG_KGDB) += debug/ |
e162b39a3
|
93 |
obj-$(CONFIG_DETECT_HUNG_TASK) += hung_task.o |
58687acba
|
94 |
obj-$(CONFIG_LOCKUP_DETECTOR) += watchdog.o |
05a4a9527
|
95 |
obj-$(CONFIG_HARDLOCKUP_DETECTOR_PERF) += watchdog_hld.o |
1da177e4c
|
96 |
obj-$(CONFIG_SECCOMP) += seccomp.o |
b86ff981a
|
97 |
obj-$(CONFIG_RELAY) += relay.o |
39732acd9
|
98 |
obj-$(CONFIG_SYSCTL) += utsname_sysctl.o |
ca74e92b4
|
99 |
obj-$(CONFIG_TASK_DELAY_ACCT) += delayacct.o |
f3cef7a99
|
100 |
obj-$(CONFIG_TASKSTATS) += taskstats.o tsacct.o |
97e1c18e8
|
101 |
obj-$(CONFIG_TRACEPOINTS) += tracepoint.o |
9745512ce
|
102 |
obj-$(CONFIG_LATENCYTOP) += latencytop.o |
606576ce8
|
103 |
obj-$(CONFIG_FUNCTION_TRACER) += trace/ |
bc0c38d13
|
104 |
obj-$(CONFIG_TRACING) += trace/ |
ea632e9f1
|
105 |
obj-$(CONFIG_TRACE_CLOCK) += trace/ |
1155de47c
|
106 |
obj-$(CONFIG_RING_BUFFER) += trace/ |
870915e04
|
107 |
obj-$(CONFIG_TRACEPOINTS) += trace/ |
e360adbe2
|
108 |
obj-$(CONFIG_IRQ_WORK) += irq_work.o |
ab10023e0
|
109 |
obj-$(CONFIG_CPU_PM) += cpu_pm.o |
f89b7755f
|
110 |
obj-$(CONFIG_BPF) += bpf/ |
dfd402a4c
|
111 |
obj-$(CONFIG_KCSAN) += kcsan/ |
d08b9f0ca
|
112 |
obj-$(CONFIG_SHADOW_CALL_STACK) += scs.o |
68cea1e24
|
113 114 |
obj-$(CONFIG_HAVE_STATIC_CALL) += static_call.o obj-$(CONFIG_HAVE_STATIC_CALL_INLINE) += static_call_inline.o |
cf68fffb6
|
115 |
obj-$(CONFIG_CFI_CLANG) += cfi.o |
fae85b7c8
|
116 117 |
obj-$(CONFIG_PERF_EVENTS) += events/ |
7a0410975
|
118 |
obj-$(CONFIG_USER_RETURN_NOTIFIER) += user-return-notifier.o |
16295bec6
|
119 |
obj-$(CONFIG_PADATA) += padata.o |
93a72052b
|
120 |
obj-$(CONFIG_CRASH_DUMP) += crash_dump.o |
b77f0f3c1
|
121 |
obj-$(CONFIG_JUMP_LABEL) += jump_label.o |
91d1aa43d
|
122 |
obj-$(CONFIG_CONTEXT_TRACKING) += context_tracking.o |
51b1130eb
|
123 |
obj-$(CONFIG_TORTURE_TEST) += torture.o |
1da177e4c
|
124 |
|
5981690dd
|
125 |
obj-$(CONFIG_HAS_IOMEM) += iomem.o |
d7822b1e2
|
126 |
obj-$(CONFIG_RSEQ) += rseq.o |
c73be61ce
|
127 |
obj-$(CONFIG_WATCH_QUEUE) += watch_queue.o |
92281dee8
|
128 |
|
5df38ca6a
|
129 |
obj-$(CONFIG_RESOURCE_KUNIT_TEST) += resource_kunit.o |
2cb80dbbb
|
130 |
obj-$(CONFIG_SYSCTL_KUNIT_TEST) += sysctl-test.o |
005e696df
|
131 |
CFLAGS_stackleak.o += $(DISABLE_STACKLEAK_PLUGIN) |
afaef01c0
|
132 133 |
obj-$(CONFIG_GCC_PLUGIN_STACKLEAK) += stackleak.o KASAN_SANITIZE_stackleak.o := n |
0ebba7141
|
134 |
KCSAN_SANITIZE_stackleak.o := n |
afaef01c0
|
135 |
KCOV_INSTRUMENT_stackleak.o := n |
e9d338a0b
|
136 |
obj-$(CONFIG_SCF_TORTURE_TEST) += scftorture.o |
13610aa90
|
137 |
$(obj)/configs.o: $(obj)/config_data.gz |
1da177e4c
|
138 |
|
46b41d5dd
|
139 140 |
targets += config_data config_data.gz $(obj)/config_data.gz: $(obj)/config_data FORCE |
1da177e4c
|
141 |
$(call if_changed,gzip) |
43d8ce9d6
|
142 |
|
46b41d5dd
|
143 144 145 146 |
filechk_cat = cat $< $(obj)/config_data: $(KCONFIG_CONFIG) FORCE $(call filechk,cat) |
43d8ce9d6
|
147 148 149 |
$(obj)/kheaders.o: $(obj)/kheaders_data.tar.xz quiet_cmd_genikh = CHK $(obj)/kheaders_data.tar.xz |
1463f74f4
|
150 |
cmd_genikh = $(CONFIG_SHELL) $(srctree)/kernel/gen_kheaders.sh $@ |
43d8ce9d6
|
151 152 153 154 |
$(obj)/kheaders_data.tar.xz: FORCE $(call cmd,genikh) clean-files := kheaders_data.tar.xz kheaders.md5 |