kexec.mk 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. ################################################################################
  2. #
  3. # kexec
  4. #
  5. ################################################################################
  6. KEXEC_VERSION = 2.0.28
  7. KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.xz
  8. KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kexec
  9. KEXEC_LICENSE = GPL-2.0
  10. KEXEC_LICENSE_FILES = COPYING
  11. KEXEC_CPE_ID_PRODUCT = kexec-tools
  12. KEXEC_CPE_ID_VENDOR = kexec-tools_project
  13. KEXEC_SELINUX_MODULES = kdump
  14. # Makefile expects $STRIP -o to work, so needed for !BR2_STRIP_strip
  15. KEXEC_MAKE_OPTS = STRIP="$(TARGET_CROSS)strip"
  16. # kexec requires at least -O1 optimization level. Its code uses a
  17. # trick to detect unaligned accesses at link time which needs at least
  18. # dead-code-removal to work. See put/get_unaligned() macros in
  19. # kexec/kexec.h
  20. ifeq ($(BR2_OPTIMIZE_0),y)
  21. KEXEC_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O1"
  22. endif
  23. ifeq ($(BR2_PACKAGE_KEXEC_ZLIB),y)
  24. KEXEC_CONF_OPTS += --with-zlib
  25. KEXEC_DEPENDENCIES += zlib
  26. else
  27. KEXEC_CONF_OPTS += --without-zlib
  28. endif
  29. ifeq ($(BR2_PACKAGE_XZ),y)
  30. KEXEC_CONF_OPTS += --with-lzma
  31. KEXEC_DEPENDENCIES += xz
  32. else
  33. KEXEC_CONF_OPTS += --without-lzma
  34. endif
  35. define KEXEC_REMOVE_LIB_TOOLS
  36. rm -rf $(TARGET_DIR)/usr/lib/kexec-tools
  37. endef
  38. KEXEC_POST_INSTALL_TARGET_HOOKS += KEXEC_REMOVE_LIB_TOOLS
  39. $(eval $(autotools-package))