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 CRYPTO_LIBS
= $(shell pkg-config
--libs libcrypto
2> /dev
/null || echo
-lcrypto
)
14 CRYPTO_CFLAGS
= $(shell pkg-config
--cflags libcrypto
2> /dev
/null
)
16 hostprogs-
$(CONFIG_KALLSYMS
) += kallsyms
17 hostprogs-
$(CONFIG_LOGO
) += pnmtologo
18 hostprogs-
$(CONFIG_VT
) += conmakehash
19 hostprogs-
$(BUILD_C_RECORDMCOUNT
) += recordmcount
20 hostprogs-
$(CONFIG_BUILDTIME_EXTABLE_SORT
) += sortextable
21 hostprogs-
$(CONFIG_ASN1
) += asn1_compiler
22 hostprogs-
$(CONFIG_MODULE_SIG
) += sign-file
23 hostprogs-
$(CONFIG_SYSTEM_TRUSTED_KEYRING
) += extract-cert
24 hostprogs-
$(CONFIG_SYSTEM_EXTRA_CERTIFICATE
) += insert-sys-cert
26 HOSTCFLAGS_sortextable.o
= -I
$(srctree
)/tools
/include
27 HOSTCFLAGS_asn1_compiler.o
= -I
$(srctree
)/include
28 HOSTCFLAGS_sign-file.o
= $(CRYPTO_CFLAGS
)
29 HOSTLOADLIBES_sign-file
= $(CRYPTO_LIBS
)
30 HOSTCFLAGS_extract-cert.o
= $(CRYPTO_CFLAGS
)
31 HOSTLOADLIBES_extract-cert
= $(CRYPTO_LIBS
)
33 always
:= $(hostprogs-y
) $(hostprogs-m
)
35 # The following hostprogs-y programs are only build on demand
36 hostprogs-y
+= unifdef
38 # These targets are used internally to avoid "is up to date" messages
39 PHONY
+= build_unifdef
40 build_unifdef
: $(obj
)/unifdef
43 subdir-
$(CONFIG_MODVERSIONS
) += genksyms
45 subdir-
$(CONFIG_SECURITY_SELINUX
) += selinux
46 subdir-
$(CONFIG_DTC
) += dtc
47 subdir-
$(CONFIG_GDB_SCRIPTS
) += gdb
49 # Let clean descend into subdirs
50 subdir-
+= basic kconfig package gcc-plugins