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_BUILD_BIN2C
) += bin2c
14 hostprogs-
$(CONFIG_KALLSYMS
) += kallsyms
15 hostprogs-
$(CONFIG_LOGO
) += pnmtologo
16 hostprogs-
$(CONFIG_VT
) += conmakehash
17 hostprogs-
$(BUILD_C_RECORDMCOUNT
) += recordmcount
18 hostprogs-
$(CONFIG_BUILDTIME_EXTABLE_SORT
) += sortextable
19 hostprogs-
$(CONFIG_ASN1
) += asn1_compiler
20 hostprogs-
$(CONFIG_MODULE_SIG
) += sign-file
21 hostprogs-
$(CONFIG_SYSTEM_TRUSTED_KEYRING
) += extract-cert
22 hostprogs-
$(CONFIG_SYSTEM_EXTRA_CERTIFICATE
) += insert-sys-cert
24 HOSTCFLAGS_sortextable.o
= -I
$(srctree
)/tools
/include
25 HOSTCFLAGS_asn1_compiler.o
= -I
$(srctree
)/include
26 HOSTLDLIBS_sign-file
= -lcrypto
27 HOSTLDLIBS_extract-cert
= -lcrypto
29 always
:= $(hostprogs-y
) $(hostprogs-m
)
31 # The following hostprogs-y programs are only build on demand
32 hostprogs-y
+= unifdef
34 # These targets are used internally to avoid "is up to date" messages
35 PHONY
+= build_unifdef
36 build_unifdef
: $(obj
)/unifdef
39 subdir-
$(CONFIG_GCC_PLUGINS
) += gcc-plugins
40 subdir-
$(CONFIG_MODVERSIONS
) += genksyms
41 subdir-
$(CONFIG_SECURITY_SELINUX
) += selinux
42 subdir-
$(CONFIG_GDB_SCRIPTS
) += gdb
44 # Let clean descend into subdirs
45 subdir-
+= basic dtc kconfig mod package