Makefile 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #
  2. # Copyright (C) 2006-2012 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=kexec-tools
  9. PKG_VERSION:=2.0.21
  10. PKG_RELEASE:=2
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
  12. PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/kexec
  13. PKG_HASH:=e113142dee891638ad96e0f72cf9277b244477619470b30c41999d312e8e8702
  14. PKG_CONFIG_DEPENDS := CONFIG_KEXEC_ZLIB CONFIG_KEXEC_LZMA
  15. include $(INCLUDE_DIR)/package.mk
  16. define Package/kexec-tools/Default
  17. SECTION:=utils
  18. CATEGORY:=Utilities
  19. URL:=http://kernel.org/pub/linux/kernel/people/horms/kexec-tools/
  20. endef
  21. define Package/kexec-tools
  22. $(call Package/kexec-tools/Default)
  23. TITLE:=kexec-tools transition meta package
  24. DEPENDS:=+kexec
  25. endef
  26. define Package/kexec-tools/description
  27. kexec is a set of system calls that allows you to load
  28. another kernel from the currently executing Linux kernel.
  29. The kexec utility allows to load and boot another kernel.
  30. endef
  31. define Package/kexec
  32. $(call Package/kexec-tools/Default)
  33. TITLE:=Kernel boots kernel
  34. DEPENDS:=\
  35. @(armeb||arm||i386||x86_64||powerpc64||mipsel||mips) \
  36. +KEXEC_ZLIB:zlib +KEXEC_LZMA:liblzma @KERNEL_KEXEC
  37. endef
  38. define Package/kexec/description
  39. The kexec utility allows to load and boot another kernel.
  40. endef
  41. define Package/kexec/config
  42. source "$(SOURCE)/Config.in"
  43. endef
  44. KEXEC_TARGET_NAME:=$(ARCH)-linux-$(TARGET_SUFFIX)
  45. CONFIGURE_ARGS = \
  46. --target=$(KEXEC_TARGET_NAME) \
  47. --host=$(REAL_GNU_TARGET_NAME) \
  48. --build=$(GNU_HOST_NAME) \
  49. --program-prefix="" \
  50. --program-suffix="" \
  51. --prefix=/usr \
  52. --exec-prefix=/usr \
  53. --bindir=/usr/bin \
  54. --sbindir=/usr/sbin \
  55. --libexecdir=/usr/lib \
  56. --sysconfdir=/etc \
  57. $(if $(CONFIG_KEXEC_ZLIB),--with,--without)-zlib \
  58. $(if $(CONFIG_KEXEC_LZMA),--with,--without)-lzma \
  59. TARGET_LD="$(TARGET_CROSS)ld"
  60. TARGET_CFLAGS += -ffunction-sections -fdata-sections
  61. TARGET_LDFLAGS += -Wl,--gc-sections
  62. CONFIGURE_VARS += \
  63. BUILD_CC="$(HOSTCC)" \
  64. TARGET_CC="$(TARGET_CC)"
  65. define Build/Compile
  66. $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" all install
  67. endef
  68. define Package/kexec-tools/install
  69. :
  70. endef
  71. define Package/kexec/install
  72. $(INSTALL_DIR) $(1)/usr/sbin
  73. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kexec $(1)/usr/sbin
  74. # make a link for compatability with other distros
  75. $(INSTALL_DIR) $(1)/sbin
  76. $(LN) ../usr/sbin/kexec $(1)/sbin/kexec
  77. endef
  78. $(eval $(call BuildPackage,kexec-tools))
  79. $(eval $(call BuildPackage,kexec))