Blame view
kernel/Makefile
7.73 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 |
# # Makefile for the linux kernel. # |
b9ee979e9 printk: move to s... |
4 |
obj-y = fork.o exec_domain.o panic.o \ |
68f4f1ec0 sched: Move cpu m... |
5 |
cpu.o exit.o itimer.o time.o softirq.o resource.o \ |
afa588b26 sysctl: Separate ... |
6 |
sysctl.o sysctl_binary.o capability.o ptrace.o timer.o user.o \ |
e73f8959a task_work_add: ge... |
7 |
signal.o sys.o kmod.o workqueue.o pid.o task_work.o \ |
4102adab9 rcu: Move RCU-rel... |
8 |
extable.o params.o posix-timers.o \ |
01768b42d locking: Move the... |
9 |
kthread.o sys_ni.o posix-cpu-timers.o \ |
ed428bfc3 locking: Move the... |
10 |
hrtimer.o nsproxy.o \ |
15d94b825 reboot: move shut... |
11 |
notifier.o ksysfs.o cred.o reboot.o \ |
cd4d241d5 locking: Move the... |
12 |
async.o range.o groups.o smpboot.o |
029632fbb sched: Make separ... |
13 |
|
606576ce8 ftrace: rename FT... |
14 |
ifdef CONFIG_FUNCTION_TRACER |
6ec562328 ftrace: use the n... |
15 |
# Do not trace debug files and internal ftrace files |
6ec562328 ftrace: use the n... |
16 |
CFLAGS_REMOVE_cgroup-debug.o = -pg |
e360adbe2 irq_work: Add gen... |
17 |
CFLAGS_REMOVE_irq_work.o = -pg |
1d09daa55 ftrace: use Makef... |
18 |
endif |
58edae3aa lto: Disable LTO ... |
19 20 |
# cond_syscall is currently not LTO compatible CFLAGS_sys_ni.o = $(DISABLE_LTO) |
391e43da7 sched: Move all s... |
21 |
obj-y += sched/ |
01768b42d locking: Move the... |
22 |
obj-y += locking/ |
dae5cbc24 PM: Make sysrq-o ... |
23 |
obj-y += power/ |
b9ee979e9 printk: move to s... |
24 |
obj-y += printk/ |
0244ad004 Remove GENERIC_HA... |
25 |
obj-y += irq/ |
4102adab9 rcu: Move RCU-rel... |
26 |
obj-y += rcu/ |
391e43da7 sched: Move all s... |
27 |
|
1e142b29e kcmp: make it dep... |
28 |
obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o |
8174f1503 container freezer... |
29 |
obj-$(CONFIG_FREEZER) += freezer.o |
b03f6489f build kernel/prof... |
30 |
obj-$(CONFIG_PROFILING) += profile.o |
8637c0990 [PATCH] lockdep: ... |
31 |
obj-$(CONFIG_STACKTRACE) += stacktrace.o |
ad596171e [PATCH] Time: Use... |
32 |
obj-y += time/ |
1da177e4c Linux-2.6.12-rc2 |
33 |
obj-$(CONFIG_FUTEX) += futex.o |
34f192c65 [PATCH] lightweig... |
34 35 36 |
ifeq ($(CONFIG_COMPAT),y) obj-$(CONFIG_FUTEX) += futex_compat.o endif |
1da177e4c Linux-2.6.12-rc2 |
37 |
obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o |
351f8f8e6 kernel: clean up ... |
38 |
obj-$(CONFIG_SMP) += smp.o |
9316fcacb kernel/up.c: omit... |
39 |
ifneq ($(CONFIG_SMP),y) |
53ce3d956 smp_call_function... |
40 41 |
obj-y += up.o endif |
1da177e4c Linux-2.6.12-rc2 |
42 |
obj-$(CONFIG_UID16) += uid16.o |
b56e5a17b KEYS: Separate th... |
43 |
obj-$(CONFIG_SYSTEM_TRUSTED_KEYRING) += system_keyring.o system_certificates.o |
1da177e4c Linux-2.6.12-rc2 |
44 |
obj-$(CONFIG_MODULES) += module.o |
b56e5a17b KEYS: Separate th... |
45 |
obj-$(CONFIG_MODULE_SIG) += module_signing.o |
1da177e4c Linux-2.6.12-rc2 |
46 |
obj-$(CONFIG_KALLSYMS) += kallsyms.o |
1da177e4c Linux-2.6.12-rc2 |
47 |
obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o |
dc009d924 [PATCH] kexec: ad... |
48 |
obj-$(CONFIG_KEXEC) += kexec.o |
6dab27784 x86: add a simple... |
49 |
obj-$(CONFIG_BACKTRACE_SELF_TEST) += backtracetest.o |
1da177e4c Linux-2.6.12-rc2 |
50 |
obj-$(CONFIG_COMPAT) += compat.o |
ddbcc7e8e Task Control Grou... |
51 |
obj-$(CONFIG_CGROUPS) += cgroup.o |
dc52ddc0e container freezer... |
52 |
obj-$(CONFIG_CGROUP_FREEZER) += cgroup_freezer.o |
1da177e4c Linux-2.6.12-rc2 |
53 |
obj-$(CONFIG_CPUSETS) += cpuset.o |
aee16ce73 namespaces: clean... |
54 55 |
obj-$(CONFIG_UTS_NS) += utsname.o obj-$(CONFIG_USER_NS) += user_namespace.o |
74bd59bb3 namespaces: clean... |
56 |
obj-$(CONFIG_PID_NS) += pid_namespace.o |
1da177e4c Linux-2.6.12-rc2 |
57 |
obj-$(CONFIG_IKCONFIG) += configs.o |
e552b6617 Memory controller... |
58 |
obj-$(CONFIG_RESOURCE_COUNTERS) += res_counter.o |
bbf1bb3ee cpu_stop: add dum... |
59 |
obj-$(CONFIG_SMP) += stop_machine.o |
8c1c93564 x86: kprobes: add... |
60 |
obj-$(CONFIG_KPROBES_SANITY_TEST) += test_kprobes.o |
939a67fc4 Audit: split audi... |
61 |
obj-$(CONFIG_AUDIT) += audit.o auditfilter.o |
1da177e4c Linux-2.6.12-rc2 |
62 |
obj-$(CONFIG_AUDITSYSCALL) += auditsc.o |
939a67fc4 Audit: split audi... |
63 |
obj-$(CONFIG_AUDIT_WATCH) += audit_watch.o |
74c3cbe33 [PATCH] audit: wa... |
64 |
obj-$(CONFIG_AUDIT_TREE) += audit_tree.o |
939a67fc4 Audit: split audi... |
65 |
obj-$(CONFIG_GCOV_KERNEL) += gcov/ |
1da177e4c Linux-2.6.12-rc2 |
66 |
obj-$(CONFIG_KPROBES) += kprobes.o |
c43382097 Move kernel/kgdb.... |
67 |
obj-$(CONFIG_KGDB) += debug/ |
e162b39a3 softlockup: decou... |
68 |
obj-$(CONFIG_DETECT_HUNG_TASK) += hung_task.o |
58687acba lockup_detector: ... |
69 |
obj-$(CONFIG_LOCKUP_DETECTOR) += watchdog.o |
1da177e4c Linux-2.6.12-rc2 |
70 |
obj-$(CONFIG_SECCOMP) += seccomp.o |
b86ff981a [PATCH] relay: mi... |
71 |
obj-$(CONFIG_RELAY) += relay.o |
39732acd9 [PATCH] sysctl: m... |
72 |
obj-$(CONFIG_SYSCTL) += utsname_sysctl.o |
ca74e92b4 [PATCH] per-task-... |
73 |
obj-$(CONFIG_TASK_DELAY_ACCT) += delayacct.o |
f3cef7a99 [PATCH] csa: basi... |
74 |
obj-$(CONFIG_TASKSTATS) += taskstats.o tsacct.o |
97e1c18e8 tracing: Kernel T... |
75 |
obj-$(CONFIG_TRACEPOINTS) += tracepoint.o |
9745512ce sched: latencytop... |
76 |
obj-$(CONFIG_LATENCYTOP) += latencytop.o |
1fcccbac8 elf coredump: rep... |
77 78 79 |
obj-$(CONFIG_BINFMT_ELF) += elfcore.o obj-$(CONFIG_COMPAT_BINFMT_ELF) += elfcore.o obj-$(CONFIG_BINFMT_ELF_FDPIC) += elfcore.o |
606576ce8 ftrace: rename FT... |
80 |
obj-$(CONFIG_FUNCTION_TRACER) += trace/ |
bc0c38d13 ftrace: latency t... |
81 |
obj-$(CONFIG_TRACING) += trace/ |
ea632e9f1 trace: Stop compi... |
82 |
obj-$(CONFIG_TRACE_CLOCK) += trace/ |
1155de47c ring-buffer: Make... |
83 |
obj-$(CONFIG_RING_BUFFER) += trace/ |
870915e04 tracing: Fix TRAC... |
84 |
obj-$(CONFIG_TRACEPOINTS) += trace/ |
e360adbe2 irq_work: Add gen... |
85 |
obj-$(CONFIG_IRQ_WORK) += irq_work.o |
ab10023e0 cpu_pm: Add cpu p... |
86 |
obj-$(CONFIG_CPU_PM) += cpu_pm.o |
fae85b7c8 perf: Start the r... |
87 88 |
obj-$(CONFIG_PERF_EVENTS) += events/ |
7a0410975 x86: Fix user ret... |
89 |
obj-$(CONFIG_USER_RETURN_NOTIFIER) += user-return-notifier.o |
16295bec6 padata: Generic p... |
90 |
obj-$(CONFIG_PADATA) += padata.o |
93a72052b crash_dump: expor... |
91 |
obj-$(CONFIG_CRASH_DUMP) += crash_dump.o |
b77f0f3c1 jump label: Reduc... |
92 |
obj-$(CONFIG_JUMP_LABEL) += jump_label.o |
91d1aa43d context_tracking:... |
93 |
obj-$(CONFIG_CONTEXT_TRACKING) += context_tracking.o |
51b1130eb rcutorture: Abstr... |
94 |
obj-$(CONFIG_TORTURE_TEST) += torture.o |
1da177e4c Linux-2.6.12-rc2 |
95 |
|
1da177e4c Linux-2.6.12-rc2 |
96 97 98 99 100 |
$(obj)/configs.o: $(obj)/config_data.h # config_data.h contains the same information as ikconfig.h but gzipped. # Info from config_data can be extracted from /proc/config* targets += config_data.gz |
41263fc67 kbuild: fix inter... |
101 |
$(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE |
1da177e4c Linux-2.6.12-rc2 |
102 |
$(call if_changed,gzip) |
e78e8f2d8 kernel: prevent u... |
103 |
filechk_ikconfiggz = (echo "static const char kernel_config_data[] __used = MAGIC_START"; cat $< | scripts/bin2c; echo "MAGIC_END;") |
1da177e4c Linux-2.6.12-rc2 |
104 105 |
targets += config_data.h $(obj)/config_data.h: $(obj)/config_data.gz FORCE |
e78e8f2d8 kernel: prevent u... |
106 |
$(call filechk,ikconfiggz) |
bdc807871 avoid overflows i... |
107 108 |
$(obj)/time.o: $(obj)/timeconst.h |
70730bca1 kernel: Replace t... |
109 110 111 112 113 114 115 116 117 |
quiet_cmd_hzfile = HZFILE $@ cmd_hzfile = echo "hz=$(CONFIG_HZ)" > $@ targets += hz.bc $(obj)/hz.bc: $(objtree)/include/config/hz.h FORCE $(call if_changed,hzfile) quiet_cmd_bc = BC $@ cmd_bc = bc -q $(filter-out FORCE,$^) > $@ |
bdc807871 avoid overflows i... |
118 |
targets += timeconst.h |
70730bca1 kernel: Replace t... |
119 120 |
$(obj)/timeconst.h: $(obj)/hz.bc $(src)/timeconst.bc FORCE $(call if_changed,bc) |
d441108c6 MODSIGN: Automati... |
121 |
|
f0e6d220a KEYS: Load *.x509... |
122 |
############################################################################### |
631cc66eb MODSIGN: Provide ... |
123 |
# |
0fbd39cf7 KEYS: Have make c... |
124 |
# Roll all the X.509 certificates that we can find together and pull them into |
b56e5a17b KEYS: Separate th... |
125 126 |
# the kernel so that they get loaded into the system trusted keyring during # boot. |
631cc66eb MODSIGN: Provide ... |
127 |
# |
0fbd39cf7 KEYS: Have make c... |
128 129 130 131 |
# We look in the source root and the build root for all files whose name ends # in ".x509". Unfortunately, this will generate duplicate filenames, so we # have make canonicalise the pathnames and then sort them to discard the # duplicates. |
631cc66eb MODSIGN: Provide ... |
132 |
# |
f0e6d220a KEYS: Load *.x509... |
133 |
############################################################################### |
b56e5a17b KEYS: Separate th... |
134 |
ifeq ($(CONFIG_SYSTEM_TRUSTED_KEYRING),y) |
f0e6d220a KEYS: Load *.x509... |
135 |
X509_CERTIFICATES-y := $(wildcard *.x509) $(wildcard $(srctree)/*.x509) |
d7ec435fd X.509: Fix certif... |
136 137 |
X509_CERTIFICATES-$(CONFIG_MODULE_SIG) += $(objtree)/signing_key.x509 X509_CERTIFICATES-raw := $(sort $(foreach CERT,$(X509_CERTIFICATES-y), \ |
0fbd39cf7 KEYS: Have make c... |
138 |
$(or $(realpath $(CERT)),$(CERT)))) |
d7ec435fd X.509: Fix certif... |
139 |
X509_CERTIFICATES := $(subst $(realpath $(objtree))/,,$(X509_CERTIFICATES-raw)) |
f0e6d220a KEYS: Load *.x509... |
140 141 142 143 144 145 146 147 148 149 150 |
ifeq ($(X509_CERTIFICATES),) $(warning *** No X.509 certificates found ***) endif ifneq ($(wildcard $(obj)/.x509.list),) ifneq ($(shell cat $(obj)/.x509.list),$(X509_CERTIFICATES)) $(info X.509 certificate list changed) $(shell rm $(obj)/.x509.list) endif endif |
b56e5a17b KEYS: Separate th... |
151 |
kernel/system_certificates.o: $(obj)/x509_certificate_list |
e10e1774e MODSIGN: Fix kbui... |
152 |
|
f0e6d220a KEYS: Load *.x509... |
153 |
quiet_cmd_x509certs = CERTS $@ |
b56e5a17b KEYS: Separate th... |
154 |
cmd_x509certs = cat $(X509_CERTIFICATES) /dev/null >$@ $(foreach X509,$(X509_CERTIFICATES),; echo " - Including cert $(X509)") |
e10e1774e MODSIGN: Fix kbui... |
155 |
|
f0e6d220a KEYS: Load *.x509... |
156 157 158 |
targets += $(obj)/x509_certificate_list $(obj)/x509_certificate_list: $(X509_CERTIFICATES) $(obj)/.x509.list $(call if_changed,x509certs) |
631cc66eb MODSIGN: Provide ... |
159 |
|
f0e6d220a KEYS: Load *.x509... |
160 161 162 |
targets += $(obj)/.x509.list $(obj)/.x509.list: @echo $(X509_CERTIFICATES) >$@ |
f46a3cbbe KEYS: Remove file... |
163 |
endif |
d441108c6 MODSIGN: Automati... |
164 |
|
f0e6d220a KEYS: Load *.x509... |
165 |
clean-files := x509_certificate_list .x509.list |
d441108c6 MODSIGN: Automati... |
166 |
|
b56e5a17b KEYS: Separate th... |
167 |
ifeq ($(CONFIG_MODULE_SIG),y) |
d441108c6 MODSIGN: Automati... |
168 169 170 171 172 173 174 |
############################################################################### # # If module signing is requested, say by allyesconfig, but a key has not been # supplied, then one will need to be generated to make sure the build does not # fail and that the kernel may be used afterwards. # ############################################################################### |
227536740 MODSIGN: Simplify... |
175 |
ifndef CONFIG_MODULE_SIG_HASH |
5e8cb1e44 MODSIGN: Use the ... |
176 177 |
$(error Could not determine digest type to use from kernel config) endif |
d441108c6 MODSIGN: Automati... |
178 179 180 181 182 183 |
signing_key.priv signing_key.x509: x509.genkey @echo "###" @echo "### Now generating an X.509 key pair to be used for signing modules." @echo "###" @echo "### If this takes a long time, you might wish to run rngd in the" @echo "### background to keep the supply of entropy topped up. It" |
2008713c7 Makefile: Documen... |
184 185 |
@echo "### needs to be run as root, and uses a hardware random" @echo "### number generator if one is available." |
d441108c6 MODSIGN: Automati... |
186 |
@echo "###" |
227536740 MODSIGN: Simplify... |
187 188 |
openssl req -new -nodes -utf8 -$(CONFIG_MODULE_SIG_HASH) -days 36500 \ -batch -x509 -config x509.genkey \ |
d441108c6 MODSIGN: Automati... |
189 |
-outform DER -out signing_key.x509 \ |
07c449bbc MODSIGN: do not s... |
190 |
-keyout signing_key.priv 2>&1 |
d441108c6 MODSIGN: Automati... |
191 192 193 194 195 196 197 198 199 200 |
@echo "###" @echo "### Key pair generated." @echo "###" x509.genkey: @echo Generating X.509 key generation config @echo >x509.genkey "[ req ]" @echo >>x509.genkey "default_bits = 4096" @echo >>x509.genkey "distinguished_name = req_distinguished_name" @echo >>x509.genkey "prompt = no" |
e7d113bcf MODSIGN: Use utf8... |
201 |
@echo >>x509.genkey "string_mask = utf8only" |
d441108c6 MODSIGN: Automati... |
202 203 204 205 206 207 208 209 210 211 212 213 214 |
@echo >>x509.genkey "x509_extensions = myexts" @echo >>x509.genkey @echo >>x509.genkey "[ req_distinguished_name ]" @echo >>x509.genkey "O = Magrathea" @echo >>x509.genkey "CN = Glacier signing key" @echo >>x509.genkey "emailAddress = slartibartfast@magrathea.h2g2" @echo >>x509.genkey @echo >>x509.genkey "[ myexts ]" @echo >>x509.genkey "basicConstraints=critical,CA:FALSE" @echo >>x509.genkey "keyUsage=digitalSignature" @echo >>x509.genkey "subjectKeyIdentifier=hash" @echo >>x509.genkey "authorityKeyIdentifier=keyid" endif |