1 # SPDX-License-Identifier: GPL-2.0
3 # scripts contains sources for various helper programs used throughout
4 # the kernel for the build process.
5 # ---------------------------------------------------------------------------
6 # kallsyms: Find all symbols in vmlinux
7 # pnmttologo: Convert pnm files to logo files
8 # conmakehash: Create chartable
9 # conmakehash: Create arrays for initializing the kernel console tables
11 HOST_EXTRACFLAGS
+= -I
$(srctree
)/tools
/include
13 hostprogs-
$(CONFIG_KALLSYMS
) += kallsyms
14 hostprogs-
$(CONFIG_LOGO
) += pnmtologo
15 hostprogs-
$(CONFIG_VT
) += conmakehash
16 hostprogs-
$(BUILD_C_RECORDMCOUNT
) += recordmcount
17 hostprogs-
$(CONFIG_BUILDTIME_EXTABLE_SORT
) += sortextable
18 hostprogs-
$(CONFIG_ASN1
) += asn1_compiler
19 hostprogs-
$(CONFIG_MODULE_SIG
) += sign-file
20 hostprogs-
$(CONFIG_SYSTEM_TRUSTED_KEYRING
) += extract-cert
21 hostprogs-
$(CONFIG_SYSTEM_EXTRA_CERTIFICATE
) += insert-sys-cert
23 HOSTCFLAGS_sortextable.o
= -I
$(srctree
)/tools
/include
24 HOSTCFLAGS_asn1_compiler.o
= -I
$(srctree
)/include
25 HOSTLOADLIBES_sign-file
= -lcrypto
26 HOSTLOADLIBES_extract-cert
= -lcrypto
28 always
:= $(hostprogs-y
) $(hostprogs-m
)
30 # The following hostprogs-y programs are only build on demand
31 hostprogs-y
+= unifdef
33 # These targets are used internally to avoid "is up to date" messages
34 PHONY
+= build_unifdef
35 build_unifdef
: $(obj
)/unifdef
38 subdir-
$(CONFIG_MODVERSIONS
) += genksyms
40 subdir-
$(CONFIG_SECURITY_SELINUX
) += selinux
41 subdir-
$(CONFIG_DTC
) += dtc
42 subdir-
$(CONFIG_GDB_SCRIPTS
) += gdb
44 # Let clean descend into subdirs
45 subdir-
+= basic kconfig package gcc-plugins