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 | # scripts contains sources for various helper programs used throughout |
| 4 | # the kernel for the build process. |
H. Peter Anvin | 6520fe5 | 2012-05-08 21:22:24 +0300 | [diff] [blame] | 5 | |
Masahiro Yamada | faabed2 | 2020-08-01 21:27:18 +0900 | [diff] [blame] | 6 | hostprogs-always-$(CONFIG_KALLSYMS) += kallsyms |
| 7 | hostprogs-always-$(BUILD_C_RECORDMCOUNT) += recordmcount |
| 8 | hostprogs-always-$(CONFIG_BUILDTIME_TABLE_SORT) += sorttable |
| 9 | hostprogs-always-$(CONFIG_ASN1) += asn1_compiler |
| 10 | hostprogs-always-$(CONFIG_MODULE_SIG_FORMAT) += sign-file |
Masahiro Yamada | faabed2 | 2020-08-01 21:27:18 +0900 | [diff] [blame] | 11 | hostprogs-always-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE) += insert-sys-cert |
Miguel Ojeda | a66d733 | 2023-07-18 07:27:51 +0200 | [diff] [blame] | 12 | hostprogs-always-$(CONFIG_RUST_KERNEL_DOCTESTS) += rustdoc_test_builder |
| 13 | hostprogs-always-$(CONFIG_RUST_KERNEL_DOCTESTS) += rustdoc_test_gen |
Miguel Ojeda | 2f7ab12 | 2021-07-03 16:42:57 +0200 | [diff] [blame] | 14 | |
Jamie Cunliffe | f82811e | 2023-10-20 16:50:55 +0100 | [diff] [blame] | 15 | ifneq ($(or $(CONFIG_X86_64),$(CONFIG_LOONGARCH)),) |
| 16 | always-$(CONFIG_RUST) += target.json |
Masahiro Yamada | c83b16c | 2023-01-07 18:45:45 +0900 | [diff] [blame] | 17 | filechk_rust_target = $< < include/config/auto.conf |
| 18 | |
| 19 | $(obj)/target.json: scripts/generate_rust_target include/config/auto.conf FORCE |
| 20 | $(call filechk,rust_target) |
Jamie Cunliffe | f82811e | 2023-10-20 16:50:55 +0100 | [diff] [blame] | 21 | endif |
Masahiro Yamada | c83b16c | 2023-01-07 18:45:45 +0900 | [diff] [blame] | 22 | |
| 23 | hostprogs += generate_rust_target |
Miguel Ojeda | 2f7ab12 | 2021-07-03 16:42:57 +0200 | [diff] [blame] | 24 | generate_rust_target-rust := y |
Miguel Ojeda | a66d733 | 2023-07-18 07:27:51 +0200 | [diff] [blame] | 25 | rustdoc_test_builder-rust := y |
| 26 | rustdoc_test_gen-rust := y |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 27 | |
Shile Zhang | 1091670 | 2019-12-04 08:46:31 +0800 | [diff] [blame] | 28 | HOSTCFLAGS_sorttable.o = -I$(srctree)/tools/include |
Yinan Liu | 72b3942 | 2021-12-12 19:33:58 +0800 | [diff] [blame] | 29 | HOSTLDLIBS_sorttable = -lpthread |
David Howells | 4520c6a | 2012-09-21 23:31:13 +0100 | [diff] [blame] | 30 | HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include |
Chun-Tse Shao | d5ea4fe | 2022-04-01 23:18:02 +0000 | [diff] [blame] | 31 | HOSTCFLAGS_sign-file.o = $(shell $(HOSTPKG_CONFIG) --cflags libcrypto 2> /dev/null) |
| 32 | HOSTLDLIBS_sign-file = $(shell $(HOSTPKG_CONFIG) --libs libcrypto 2> /dev/null || echo -lcrypto) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 | |
Shile Zhang | 57fa189 | 2019-12-04 08:46:32 +0800 | [diff] [blame] | 34 | ifdef CONFIG_UNWINDER_ORC |
| 35 | ifeq ($(ARCH),x86_64) |
Tiezhu Yang | cb8a2ef | 2024-03-11 22:23:47 +0800 | [diff] [blame] | 36 | SRCARCH := x86 |
Shile Zhang | 57fa189 | 2019-12-04 08:46:32 +0800 | [diff] [blame] | 37 | endif |
Tiezhu Yang | cb8a2ef | 2024-03-11 22:23:47 +0800 | [diff] [blame] | 38 | ifeq ($(ARCH),loongarch) |
| 39 | SRCARCH := loongarch |
| 40 | endif |
| 41 | HOSTCFLAGS_sorttable.o += -I$(srctree)/tools/arch/$(SRCARCH)/include |
Shile Zhang | 57fa189 | 2019-12-04 08:46:32 +0800 | [diff] [blame] | 42 | HOSTCFLAGS_sorttable.o += -DUNWINDER_ORC_ENABLED |
Yinan Liu | 72b3942 | 2021-12-12 19:33:58 +0800 | [diff] [blame] | 43 | endif |
| 44 | |
Steven Rostedt (Google) | 4ed308c | 2022-01-25 09:19:10 -0500 | [diff] [blame] | 45 | ifdef CONFIG_BUILDTIME_MCOUNT_SORT |
Yinan Liu | 72b3942 | 2021-12-12 19:33:58 +0800 | [diff] [blame] | 46 | HOSTCFLAGS_sorttable.o += -DMCOUNT_SORT_ENABLED |
Shile Zhang | 57fa189 | 2019-12-04 08:46:32 +0800 | [diff] [blame] | 47 | endif |
| 48 | |
Masahiro Yamada | 5f2fb52 | 2020-02-02 01:49:24 +0900 | [diff] [blame] | 49 | # The following programs are only built on demand |
Masahiro Yamada | 05e96e9 | 2023-03-16 00:50:18 +0900 | [diff] [blame] | 50 | hostprogs += unifdef |
Sam Ravnborg | 07aea3a | 2006-07-23 20:47:50 +0200 | [diff] [blame] | 51 | |
Masahiro Yamada | 596b047 | 2020-09-08 13:27:08 +0900 | [diff] [blame] | 52 | # The module linker script is preprocessed on demand |
| 53 | targets += module.lds |
| 54 | |
Masahiro Yamada | ce2fd53a | 2018-11-29 12:56:31 +0900 | [diff] [blame] | 55 | subdir-$(CONFIG_GCC_PLUGINS) += gcc-plugins |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 56 | subdir-$(CONFIG_MODVERSIONS) += genksyms |
Serge E. Hallyn | 93c06cb | 2008-08-26 14:47:57 -0500 | [diff] [blame] | 57 | subdir-$(CONFIG_SECURITY_SELINUX) += selinux |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 58 | |
| 59 | # Let clean descend into subdirs |
Masahiro Yamada | 46a63d4 | 2019-08-21 16:02:02 +0900 | [diff] [blame] | 60 | subdir- += basic dtc gdb kconfig mod |