Makefile 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # SPDX-License-Identifier: GPL-2.0
  2. ###
  3. # scripts contains sources for various helper programs used throughout
  4. # the kernel for the build process.
  5. CRYPTO_LIBS = $(shell pkg-config --libs libcrypto 2> /dev/null || echo -lcrypto)
  6. CRYPTO_CFLAGS = $(shell pkg-config --cflags libcrypto 2> /dev/null)
  7. hostprogs-always-$(CONFIG_BUILD_BIN2C) += bin2c
  8. hostprogs-always-$(CONFIG_KALLSYMS) += kallsyms
  9. hostprogs-always-$(BUILD_C_RECORDMCOUNT) += recordmcount
  10. hostprogs-always-$(CONFIG_BUILDTIME_TABLE_SORT) += sorttable
  11. hostprogs-always-$(CONFIG_ASN1) += asn1_compiler
  12. hostprogs-always-$(CONFIG_MODULE_SIG_FORMAT) += sign-file
  13. hostprogs-always-$(CONFIG_SYSTEM_TRUSTED_KEYRING) += extract-cert
  14. hostprogs-always-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE) += insert-sys-cert
  15. hostprogs-always-$(CONFIG_SYSTEM_REVOCATION_LIST) += extract-cert
  16. HOSTCFLAGS_sorttable.o = -I$(srctree)/tools/include
  17. HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include
  18. HOSTCFLAGS_sign-file.o = $(CRYPTO_CFLAGS)
  19. HOSTLDLIBS_sign-file = $(CRYPTO_LIBS)
  20. HOSTCFLAGS_extract-cert.o = $(CRYPTO_CFLAGS)
  21. HOSTLDLIBS_extract-cert = $(CRYPTO_LIBS)
  22. ifdef CONFIG_UNWINDER_ORC
  23. ifeq ($(ARCH),x86_64)
  24. ARCH := x86
  25. endif
  26. HOSTCFLAGS_sorttable.o += -I$(srctree)/tools/arch/x86/include
  27. HOSTCFLAGS_sorttable.o += -DUNWINDER_ORC_ENABLED
  28. HOSTLDLIBS_sorttable = -lpthread
  29. endif
  30. # The following programs are only built on demand
  31. hostprogs += unifdef
  32. # The module linker script is preprocessed on demand
  33. targets += module.lds
  34. subdir-$(CONFIG_GCC_PLUGINS) += gcc-plugins
  35. subdir-$(CONFIG_MODVERSIONS) += genksyms
  36. subdir-$(CONFIG_SECURITY_SELINUX) += selinux
  37. # Let clean descend into subdirs
  38. subdir- += basic dtc gdb kconfig mod