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 | |
Thomas Gleixner | a6359d1 | 2012-05-03 09:03:02 +0000 | [diff] [blame] | 16 | obj-y += init_task.o |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 17 | |
| 18 | mounts-y := do_mounts.o |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 19 | mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o |
| 20 | mounts-$(CONFIG_BLK_DEV_INITRD) += do_mounts_initrd.o |
| 21 | mounts-$(CONFIG_BLK_DEV_MD) += do_mounts_md.o |
| 22 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 23 | # dependencies on generated files need to be listed explicitly |
Sam Ravnborg | 9204595 | 2009-10-18 00:36:47 +0200 | [diff] [blame] | 24 | $(obj)/version.o: include/generated/compile.h |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | |
Roman Zippel | 3eb3c74 | 2007-01-10 14:45:28 +0100 | [diff] [blame] | 26 | # compile.h changes depending on hostname, generation number, etc, |
| 27 | # so we regenerate it always. |
| 28 | # mkcompile_h will make sure to only update the |
| 29 | # actual file if its content has changed. |
| 30 | |
Sam Ravnborg | fab1e31 | 2008-02-11 14:26:26 +0100 | [diff] [blame] | 31 | chk_compile.h = : |
Mike Frysinger | d75f4c68 | 2008-02-08 00:05:52 -0500 | [diff] [blame] | 32 | quiet_chk_compile.h = echo ' CHK $@' |
| 33 | silent_chk_compile.h = : |
Sam Ravnborg | 9204595 | 2009-10-18 00:36:47 +0200 | [diff] [blame] | 34 | include/generated/compile.h: FORCE |
Mike Frysinger | d75f4c68 | 2008-02-08 00:05:52 -0500 | [diff] [blame] | 35 | @$($(quiet)chk_compile.h) |
Thomas Gleixner | 4b950bb | 2019-07-28 20:27:41 +0200 | [diff] [blame] | 36 | $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \ |
| 37 | "$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" \ |
| 38 | "$(CONFIG_PREEMPT_RT)" "$(CC) $(KBUILD_CFLAGS)" |