Blame view

kernel/Makefile 4.81 KB
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  # SPDX-License-Identifier: GPL-2.0
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2
3
4
  #
  # Makefile for the linux kernel.
  #
b9ee979e9   Joe Perches   printk: move to s...
5
  obj-y     = fork.o exec_domain.o panic.o \
5cee96459   Thomas Gleixner   time/timers: Move...
6
  	    cpu.o exit.o softirq.o resource.o \
88db0aa24   Xiaoming Ni   all arch: remove ...
7
  	    sysctl.o capability.o ptrace.o user.o \
0ce2c2029   Luis R. Rodriguez   kmod: move #ifdef...
8
  	    signal.o sys.o umh.o workqueue.o pid.o task_work.o \
5cee96459   Thomas Gleixner   time/timers: Move...
9
10
  	    extable.o params.o \
  	    kthread.o sys_ni.o nsproxy.o \
15d94b825   Robin Holt   reboot: move shut...
11
  	    notifier.o ksysfs.o cred.o reboot.o \
b4e9c9549   Al Viro   introduction of r...
12
  	    async.o range.o smpboot.o ucount.o regset.o
2813893f8   Iulia Manda   kernel: condition...
13

d71fa5c97   Alexei Starovoitov   bpf: Add kernel m...
14
  obj-$(CONFIG_USERMODE_DRIVER) += usermode_driver.o
0ce2c2029   Luis R. Rodriguez   kmod: move #ifdef...
15
  obj-$(CONFIG_MODULES) += kmod.o
2813893f8   Iulia Manda   kernel: condition...
16
  obj-$(CONFIG_MULTIUSER) += groups.o
029632fbb   Peter Zijlstra   sched: Make separ...
17

606576ce8   Steven Rostedt   ftrace: rename FT...
18
  ifdef CONFIG_FUNCTION_TRACER
e11b956e9   Li Bin   kernel/Makefile: ...
19
  # Do not trace internal ftrace files
c0a80c0c2   Heiko Carstens   ftrace: allow arc...
20
  CFLAGS_REMOVE_irq_work.o = $(CC_FLAGS_FTRACE)
1d09daa55   Steven Rostedt   ftrace: use Makef...
21
  endif
5c9a8750a   Dmitry Vyukov   kernel: add kcov ...
22
23
24
  # Prevents flicker of uninteresting __do_softirq()/__local_bh_disable_ip()
  # in coverage traces.
  KCOV_INSTRUMENT_softirq.o := n
0ebba7141   Marco Elver   build, kcsan: Add...
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   Dmitry Vyukov   kernel: add kcov ...
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   Dmitry Vyukov   kcov: ignore faul...
32
  KCOV_INSTRUMENT_stacktrace.o := n
5c9a8750a   Dmitry Vyukov   kernel: add kcov ...
33
34
35
  # Don't self-instrument.
  KCOV_INSTRUMENT_kcov.o := n
  KASAN_SANITIZE_kcov.o := n
0ebba7141   Marco Elver   build, kcsan: Add...
36
  KCSAN_SANITIZE_kcov.o := n
31a1b9878   Marco Elver   kcov: uncondition...
37
  CFLAGS_kcov.o := $(call cc-option, -fno-conserve-stack) -fno-stack-protector
5c9a8750a   Dmitry Vyukov   kernel: add kcov ...
38

391e43da7   Peter Zijlstra   sched: Move all s...
39
  obj-y += sched/
01768b42d   Peter Zijlstra   locking: Move the...
40
  obj-y += locking/
dae5cbc24   Rafael J. Wysocki   PM: Make sysrq-o ...
41
  obj-y += power/
b9ee979e9   Joe Perches   printk: move to s...
42
  obj-y += printk/
0244ad004   Martin Schwidefsky   Remove GENERIC_HA...
43
  obj-y += irq/
4102adab9   Paul E. McKenney   rcu: Move RCU-rel...
44
  obj-y += rcu/
b700e7f03   Seth Jennings   livepatch: kernel...
45
  obj-y += livepatch/
cf65a0f6f   Christoph Hellwig   dma-mapping: move...
46
  obj-y += dma/
142781e10   Thomas Gleixner   entry: Provide ge...
47
  obj-y += entry/
391e43da7   Peter Zijlstra   sched: Move all s...
48

1e142b29e   Cyrill Gorcunov   kcmp: make it dep...
49
  obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o
8174f1503   Matt Helsley   container freezer...
50
  obj-$(CONFIG_FREEZER) += freezer.o
b03f6489f   Adrian Bunk   build kernel/prof...
51
  obj-$(CONFIG_PROFILING) += profile.o
8637c0990   Ingo Molnar   [PATCH] lockdep: ...
52
  obj-$(CONFIG_STACKTRACE) += stacktrace.o
ad596171e   John Stultz   [PATCH] Time: Use...
53
  obj-y += time/
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
54
55
  obj-$(CONFIG_FUTEX) += futex.o
  obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o
351f8f8e6   Amerigo Wang   kernel: clean up ...
56
  obj-$(CONFIG_SMP) += smp.o
9316fcacb   Andrew Morton   kernel/up.c: omit...
57
  ifneq ($(CONFIG_SMP),y)
53ce3d956   Andrew Morton   smp_call_function...
58
59
  obj-y += up.o
  endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
60
61
  obj-$(CONFIG_UID16) += uid16.o
  obj-$(CONFIG_MODULES) += module.o
b56e5a17b   David Howells   KEYS: Separate th...
62
  obj-$(CONFIG_MODULE_SIG) += module_signing.o
c8424e776   Thiago Jung Bauermann   MODSIGN: Export m...
63
  obj-$(CONFIG_MODULE_SIG_FORMAT) += module_signature.o
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
64
  obj-$(CONFIG_KALLSYMS) += kallsyms.o
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
65
  obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o
692f66f26   Hari Bathini   crash: move crash...
66
  obj-$(CONFIG_CRASH_CORE) += crash_core.o
2965faa5e   Dave Young   kexec: split kexe...
67
  obj-$(CONFIG_KEXEC_CORE) += kexec_core.o
dc009d924   Eric W. Biederman   [PATCH] kexec: ad...
68
  obj-$(CONFIG_KEXEC) += kexec.o
a43cac0d9   Dave Young   kexec: split kexe...
69
  obj-$(CONFIG_KEXEC_FILE) += kexec_file.o
175fca3bf   Sven Schnelle   kexec: add KEXEC_ELF
70
  obj-$(CONFIG_KEXEC_ELF) += kexec_elf.o
6dab27784   Arjan van de Ven   x86: add a simple...
71
  obj-$(CONFIG_BACKTRACE_SELF_TEST) += backtracetest.o
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
72
  obj-$(CONFIG_COMPAT) += compat.o
201af4c0f   Tejun Heo   cgroup: move cgro...
73
  obj-$(CONFIG_CGROUPS) += cgroup/
aee16ce73   Pavel Emelyanov   namespaces: clean...
74
75
  obj-$(CONFIG_UTS_NS) += utsname.o
  obj-$(CONFIG_USER_NS) += user_namespace.o
74bd59bb3   Pavel Emelyanov   namespaces: clean...
76
  obj-$(CONFIG_PID_NS) += pid_namespace.o
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
77
  obj-$(CONFIG_IKCONFIG) += configs.o
f7b101d33   Joel Fernandes (Google)   kheaders: Move fr...
78
  obj-$(CONFIG_IKHEADERS) += kheaders.o
bbf1bb3ee   Tejun Heo   cpu_stop: add dum...
79
  obj-$(CONFIG_SMP) += stop_machine.o
8c1c93564   Ananth N Mavinakayanahalli   x86: kprobes: add...
80
  obj-$(CONFIG_KPROBES_SANITY_TEST) += test_kprobes.o
939a67fc4   Eric Paris   Audit: split audi...
81
  obj-$(CONFIG_AUDIT) += audit.o auditfilter.o
c8fc5d49c   Richard Guy Briggs   audit: remove WAT...
82
  obj-$(CONFIG_AUDITSYSCALL) += auditsc.o audit_watch.o audit_fsnotify.o audit_tree.o
939a67fc4   Eric Paris   Audit: split audi...
83
  obj-$(CONFIG_GCOV_KERNEL) += gcov/
5c9a8750a   Dmitry Vyukov   kernel: add kcov ...
84
  obj-$(CONFIG_KCOV) += kcov.o
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
85
  obj-$(CONFIG_KPROBES) += kprobes.o
4b1a29a7f   Masami Hiramatsu   error-injection: ...
86
  obj-$(CONFIG_FAIL_FUNCTION) += fail_function.o
c43382097   Jason Wessel   Move kernel/kgdb....
87
  obj-$(CONFIG_KGDB) += debug/
e162b39a3   Mandeep Singh Baines   softlockup: decou...
88
  obj-$(CONFIG_DETECT_HUNG_TASK) += hung_task.o
58687acba   Don Zickus   lockup_detector: ...
89
  obj-$(CONFIG_LOCKUP_DETECTOR) += watchdog.o
05a4a9527   Nicholas Piggin   kernel/watchdog: ...
90
  obj-$(CONFIG_HARDLOCKUP_DETECTOR_PERF) += watchdog_hld.o
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
91
  obj-$(CONFIG_SECCOMP) += seccomp.o
b86ff981a   Jens Axboe   [PATCH] relay: mi...
92
  obj-$(CONFIG_RELAY) += relay.o
39732acd9   Eric W. Biederman   [PATCH] sysctl: m...
93
  obj-$(CONFIG_SYSCTL) += utsname_sysctl.o
ca74e92b4   Shailabh Nagar   [PATCH] per-task-...
94
  obj-$(CONFIG_TASK_DELAY_ACCT) += delayacct.o
f3cef7a99   Jay Lan   [PATCH] csa: basi...
95
  obj-$(CONFIG_TASKSTATS) += taskstats.o tsacct.o
97e1c18e8   Mathieu Desnoyers   tracing: Kernel T...
96
  obj-$(CONFIG_TRACEPOINTS) += tracepoint.o
9745512ce   Arjan van de Ven   sched: latencytop...
97
  obj-$(CONFIG_LATENCYTOP) += latencytop.o
606576ce8   Steven Rostedt   ftrace: rename FT...
98
  obj-$(CONFIG_FUNCTION_TRACER) += trace/
bc0c38d13   Steven Rostedt   ftrace: latency t...
99
  obj-$(CONFIG_TRACING) += trace/
ea632e9f1   Josh Triplett   trace: Stop compi...
100
  obj-$(CONFIG_TRACE_CLOCK) += trace/
1155de47c   Paul Mundt   ring-buffer: Make...
101
  obj-$(CONFIG_RING_BUFFER) += trace/
870915e04   Mathieu Desnoyers   tracing: Fix TRAC...
102
  obj-$(CONFIG_TRACEPOINTS) += trace/
e360adbe2   Peter Zijlstra   irq_work: Add gen...
103
  obj-$(CONFIG_IRQ_WORK) += irq_work.o
ab10023e0   Colin Cross   cpu_pm: Add cpu p...
104
  obj-$(CONFIG_CPU_PM) += cpu_pm.o
f89b7755f   Alexei Starovoitov   bpf: split eBPF o...
105
  obj-$(CONFIG_BPF) += bpf/
dfd402a4c   Marco Elver   kcsan: Add Kernel...
106
  obj-$(CONFIG_KCSAN) += kcsan/
d08b9f0ca   Sami Tolvanen   scs: Add support ...
107
  obj-$(CONFIG_SHADOW_CALL_STACK) += scs.o
9183c3f9e   Josh Poimboeuf   static_call: Add ...
108
  obj-$(CONFIG_HAVE_STATIC_CALL_INLINE) += static_call.o
fae85b7c8   Borislav Petkov   perf: Start the r...
109
110
  
  obj-$(CONFIG_PERF_EVENTS) += events/
7a0410975   Avi Kivity   x86: Fix user ret...
111
  obj-$(CONFIG_USER_RETURN_NOTIFIER) += user-return-notifier.o
16295bec6   Steffen Klassert   padata: Generic p...
112
  obj-$(CONFIG_PADATA) += padata.o
93a72052b   Olaf Hering   crash_dump: expor...
113
  obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
b77f0f3c1   Jason Baron   jump label: Reduc...
114
  obj-$(CONFIG_JUMP_LABEL) += jump_label.o
91d1aa43d   Frederic Weisbecker   context_tracking:...
115
  obj-$(CONFIG_CONTEXT_TRACKING) += context_tracking.o
51b1130eb   Paul E. McKenney   rcutorture: Abstr...
116
  obj-$(CONFIG_TORTURE_TEST) += torture.o
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
117

5981690dd   Dan Williams   memremap: split d...
118
  obj-$(CONFIG_HAS_IOMEM) += iomem.o
d7822b1e2   Mathieu Desnoyers   rseq: Introduce r...
119
  obj-$(CONFIG_RSEQ) += rseq.o
c73be61ce   David Howells   pipe: Add general...
120
  obj-$(CONFIG_WATCH_QUEUE) += watch_queue.o
92281dee8   Dan Williams   arch: introduce m...
121

2cb80dbbb   Iurii Zaikin   kernel/sysctl-tes...
122
  obj-$(CONFIG_SYSCTL_KUNIT_TEST) += sysctl-test.o
005e696df   Alexander Popov   gcc-plugins/stack...
123
  CFLAGS_stackleak.o += $(DISABLE_STACKLEAK_PLUGIN)
afaef01c0   Alexander Popov   x86/entry: Add ST...
124
125
  obj-$(CONFIG_GCC_PLUGIN_STACKLEAK) += stackleak.o
  KASAN_SANITIZE_stackleak.o := n
0ebba7141   Marco Elver   build, kcsan: Add...
126
  KCSAN_SANITIZE_stackleak.o := n
afaef01c0   Alexander Popov   x86/entry: Add ST...
127
  KCOV_INSTRUMENT_stackleak.o := n
e9d338a0b   Paul E. McKenney   scftorture: Add s...
128
  obj-$(CONFIG_SCF_TORTURE_TEST) += scftorture.o
13610aa90   Masahiro Yamada   kernel/configs: u...
129
  $(obj)/configs.o: $(obj)/config_data.gz
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
130

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
131
  targets += config_data.gz
41263fc67   Ben Gardiner   kbuild: fix inter...
132
  $(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
133
  	$(call if_changed,gzip)
43d8ce9d6   Joel Fernandes (Google)   Provide in-kernel...
134
135
136
137
  
  $(obj)/kheaders.o: $(obj)/kheaders_data.tar.xz
  
  quiet_cmd_genikh = CHK     $(obj)/kheaders_data.tar.xz
1463f74f4   Masahiro Yamada   kheaders: remove ...
138
        cmd_genikh = $(CONFIG_SHELL) $(srctree)/kernel/gen_kheaders.sh $@
43d8ce9d6   Joel Fernandes (Google)   Provide in-kernel...
139
140
141
142
  $(obj)/kheaders_data.tar.xz: FORCE
  	$(call cmd,genikh)
  
  clean-files := kheaders_data.tar.xz kheaders.md5