Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | # |
| 3 | # Makefile for the linux kernel. |
| 4 | # |
| 5 | |
Nicholas Piggin | b67067f | 2016-08-24 22:29:20 +1000 | [diff] [blame] | 6 | ccflags-y := -fno-function-sections -fno-data-sections |
| 7 | |
Jean-Paul Saman | c33df4e | 2007-02-10 01:44:43 -0800 | [diff] [blame] | 8 | obj-y := main.o version.o mounts.o |
| 9 | ifneq ($(CONFIG_BLK_DEV_INITRD),y) |
| 10 | obj-y += noinitramfs.o |
| 11 | else |
| 12 | obj-$(CONFIG_BLK_DEV_INITRD) += initramfs.o |
| 13 | endif |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 14 | obj-$(CONFIG_GENERIC_CALIBRATE_DELAY) += calibrate.o |
Thomas Gleixner | a6359d1 | 2012-05-03 09:03:02 +0000 | [diff] [blame] | 15 | |
| 16 | ifneq ($(CONFIG_ARCH_INIT_TASK),y) |
| 17 | obj-y += init_task.o |
| 18 | endif |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 19 | |
| 20 | mounts-y := do_mounts.o |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 21 | mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o |
| 22 | mounts-$(CONFIG_BLK_DEV_INITRD) += do_mounts_initrd.o |
| 23 | mounts-$(CONFIG_BLK_DEV_MD) += do_mounts_md.o |
| 24 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | # dependencies on generated files need to be listed explicitly |
Sam Ravnborg | 9204595 | 2009-10-18 00:36:47 +0200 | [diff] [blame] | 26 | $(obj)/version.o: include/generated/compile.h |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 27 | |
Roman Zippel | 3eb3c74 | 2007-01-10 14:45:28 +0100 | [diff] [blame] | 28 | # compile.h changes depending on hostname, generation number, etc, |
| 29 | # so we regenerate it always. |
| 30 | # mkcompile_h will make sure to only update the |
| 31 | # actual file if its content has changed. |
| 32 | |
Sam Ravnborg | fab1e31 | 2008-02-11 14:26:26 +0100 | [diff] [blame] | 33 | chk_compile.h = : |
Mike Frysinger | d75f4c68 | 2008-02-08 00:05:52 -0500 | [diff] [blame] | 34 | quiet_chk_compile.h = echo ' CHK $@' |
| 35 | silent_chk_compile.h = : |
Sam Ravnborg | 9204595 | 2009-10-18 00:36:47 +0200 | [diff] [blame] | 36 | include/generated/compile.h: FORCE |
Mike Frysinger | d75f4c68 | 2008-02-08 00:05:52 -0500 | [diff] [blame] | 37 | @$($(quiet)chk_compile.h) |
Roman Zippel | 3eb3c74 | 2007-01-10 14:45:28 +0100 | [diff] [blame] | 38 | $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \ |
Sam Ravnborg | a0f97e0 | 2007-10-14 22:21:35 +0200 | [diff] [blame] | 39 | "$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" "$(CC) $(KBUILD_CFLAGS)" |