1### 2# scripts contains sources for various helper programs used throughout 3# the kernel for the build process. 4# --------------------------------------------------------------------------- 5# kallsyms: Find all symbols in vmlinux 6# pnmttologo: Convert pnm files to logo files 7# conmakehash: Create chartable 8# conmakehash: Create arrays for initializing the kernel console tables 9# docproc: Used in Documentation/DocBook 10# check-lc_ctype: Used in Documentation/DocBook 11 12HOST_EXTRACFLAGS += -I$(srctree)/tools/include 13 14CRYPTO_LIBS = $(shell pkg-config --libs libcrypto 2> /dev/null || echo -lcrypto) 15CRYPTO_CFLAGS = $(shell pkg-config --cflags libcrypto 2> /dev/null) 16 17hostprogs-$(CONFIG_KALLSYMS) += kallsyms 18hostprogs-$(CONFIG_LOGO) += pnmtologo 19hostprogs-$(CONFIG_VT) += conmakehash 20hostprogs-$(BUILD_C_RECORDMCOUNT) += recordmcount 21hostprogs-$(CONFIG_BUILDTIME_EXTABLE_SORT) += sortextable 22hostprogs-$(CONFIG_ASN1) += asn1_compiler 23hostprogs-$(CONFIG_MODULE_SIG) += sign-file 24hostprogs-$(CONFIG_SYSTEM_TRUSTED_KEYRING) += extract-cert 25 26HOSTCFLAGS_sortextable.o = -I$(srctree)/tools/include 27HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include 28HOSTCFLAGS_sign-file.o = $(CRYPTO_CFLAGS) 29HOSTLOADLIBES_sign-file = $(CRYPTO_LIBS) 30HOSTCFLAGS_extract-cert.o = $(CRYPTO_CFLAGS) 31HOSTLOADLIBES_extract-cert = $(CRYPTO_LIBS) 32 33always := $(hostprogs-y) $(hostprogs-m) 34 35# The following hostprogs-y programs are only build on demand 36hostprogs-y += unifdef docproc check-lc_ctype 37 38# These targets are used internally to avoid "is up to date" messages 39PHONY += build_unifdef build_docproc build_check-lc_ctype 40build_unifdef: $(obj)/unifdef 41 @: 42build_docproc: $(obj)/docproc 43 @: 44build_check-lc_ctype: $(obj)/check-lc_ctype 45 @: 46 47subdir-$(CONFIG_MODVERSIONS) += genksyms 48subdir-y += mod 49subdir-$(CONFIG_SECURITY_SELINUX) += selinux 50subdir-$(CONFIG_DTC) += dtc 51subdir-$(CONFIG_GDB_SCRIPTS) += gdb 52 53# Let clean descend into subdirs 54subdir- += basic kconfig package 55