13d0407baSopenharmony_ci# SPDX-License-Identifier: GPL-2.0
23d0407baSopenharmony_ci###
33d0407baSopenharmony_ci# scripts contains sources for various helper programs used throughout
43d0407baSopenharmony_ci# the kernel for the build process.
53d0407baSopenharmony_ci
63d0407baSopenharmony_ciCRYPTO_LIBS = $(shell pkg-config --libs libcrypto 2> /dev/null || echo -lcrypto)
73d0407baSopenharmony_ciCRYPTO_CFLAGS = $(shell pkg-config --cflags libcrypto 2> /dev/null)
83d0407baSopenharmony_ci
93d0407baSopenharmony_cihostprogs-always-$(CONFIG_BUILD_BIN2C)			+= bin2c
103d0407baSopenharmony_cihostprogs-always-$(CONFIG_KALLSYMS)			+= kallsyms
113d0407baSopenharmony_cihostprogs-always-$(BUILD_C_RECORDMCOUNT)		+= recordmcount
123d0407baSopenharmony_cihostprogs-always-$(CONFIG_ARCH_ROCKCHIP)		+= resource_tool
133d0407baSopenharmony_cihostprogs-always-$(CONFIG_BUILDTIME_TABLE_SORT)		+= sorttable
143d0407baSopenharmony_cihostprogs-always-$(CONFIG_ASN1)				+= asn1_compiler
153d0407baSopenharmony_cihostprogs-always-$(CONFIG_MODULE_SIG_FORMAT)		+= sign-file
163d0407baSopenharmony_cihostprogs-always-$(CONFIG_SYSTEM_TRUSTED_KEYRING)	+= extract-cert
173d0407baSopenharmony_cihostprogs-always-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE)	+= insert-sys-cert
183d0407baSopenharmony_cihostprogs-always-$(CONFIG_SYSTEM_REVOCATION_LIST)	+= extract-cert
193d0407baSopenharmony_ci
203d0407baSopenharmony_ciHOSTCFLAGS_sorttable.o = -I$(srctree)/tools/include
213d0407baSopenharmony_ciHOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include
223d0407baSopenharmony_ciHOSTCFLAGS_sign-file.o = $(CRYPTO_CFLAGS)
233d0407baSopenharmony_ciHOSTLDLIBS_sign-file = $(CRYPTO_LIBS)
243d0407baSopenharmony_ciHOSTCFLAGS_extract-cert.o = $(CRYPTO_CFLAGS)
253d0407baSopenharmony_ciHOSTLDLIBS_extract-cert = $(CRYPTO_LIBS)
263d0407baSopenharmony_ci
273d0407baSopenharmony_ciifdef CONFIG_UNWINDER_ORC
283d0407baSopenharmony_ciifeq ($(ARCH),x86_64)
293d0407baSopenharmony_ciARCH := x86
303d0407baSopenharmony_ciendif
313d0407baSopenharmony_ciHOSTCFLAGS_sorttable.o += -I$(srctree)/tools/arch/x86/include
323d0407baSopenharmony_ciHOSTCFLAGS_sorttable.o += -DUNWINDER_ORC_ENABLED
333d0407baSopenharmony_ciHOSTLDLIBS_sorttable = -lpthread
343d0407baSopenharmony_ciendif
353d0407baSopenharmony_ci
363d0407baSopenharmony_ci# The following programs are only built on demand
373d0407baSopenharmony_cihostprogs += unifdef
383d0407baSopenharmony_ci
393d0407baSopenharmony_ci# The module linker script is preprocessed on demand
403d0407baSopenharmony_citargets += module.lds
413d0407baSopenharmony_ci
423d0407baSopenharmony_cisubdir-$(CONFIG_GCC_PLUGINS) += gcc-plugins
433d0407baSopenharmony_cisubdir-$(CONFIG_MODVERSIONS) += genksyms
443d0407baSopenharmony_cisubdir-$(CONFIG_SECURITY_SELINUX) += selinux
453d0407baSopenharmony_ci
463d0407baSopenharmony_ci# Let clean descend into subdirs
473d0407baSopenharmony_cisubdir-	+= basic dtc gdb kconfig mod
48