Makefile 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. #
  2. # Copyright (C) 2006-2011 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:=ncurses
  9. PKG_VERSION:=5.7
  10. PKG_RELEASE:=5
  11. PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
  12. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  13. PKG_SOURCE_URL:=@GNU/ncurses
  14. PKG_MD5SUM:=cce05daf61a64501ef6cd8da1f727ec6
  15. PKG_INSTALL:=1
  16. PKG_BUILD_PARALLEL:=1
  17. include $(INCLUDE_DIR)/package.mk
  18. define Package/libncurses
  19. SECTION:=libs
  20. CATEGORY:=Libraries
  21. TITLE:=Terminal handling library
  22. URL:=http://www.gnu.org/software/ncurses/
  23. DEPENDS:= +terminfo
  24. VARIANT:=libncurses
  25. endef
  26. define Package/terminfo
  27. SECTION:=libs
  28. CATEGORY:=Libraries
  29. TITLE:=Terminal Info Database (ncurses)
  30. URL:=http://www.gnu.org/software/ncurses/
  31. VARIANT:=libncurses
  32. endef
  33. define Package/libncursesw
  34. SECTION:=libs
  35. CATEGORY:=Libraries
  36. TITLE:=Terminal handling library (Unicode)
  37. URL:=http://www.gnu.org/software/ncurses/
  38. DEPENDS:=libncurses
  39. VARIANT:=libncursesw
  40. endef
  41. TARGET_CFLAGS += $(FPIC)
  42. CONFIGURE_ARGS += \
  43. --enable-echo \
  44. --enable-const \
  45. --enable-overwrite \
  46. --disable-rpath \
  47. --without-ada \
  48. --without-debug \
  49. --without-profile \
  50. --without-progs \
  51. --disable-big-core \
  52. --disable-home-terminfo \
  53. --with-normal \
  54. --with-shared \
  55. --with-terminfo-dirs=/usr/share/terminfo \
  56. --with-default-terminfo-dir=/usr/share/terminfo
  57. ifeq ($(HOST_OS),FreeBSD)
  58. CONFIGURE_ARGS +=
  59. --with-terminfo=/usr/share/terminfo.db
  60. endif
  61. ifeq ($(BUILD_VARIANT),libncursesw)
  62. CONFIGURE_ARGS += \
  63. --enable-widec \
  64. --with-build-cppflags=-D_GNU_SOURCE
  65. endif
  66. MAKE_FLAGS += \
  67. BUILD_CC="$(HOSTCC)" \
  68. HOSTCC="$(HOSTCC)" \
  69. HOSTCCFLAGS="" \
  70. libs
  71. define Build/Install/Default
  72. $(MAKE_VARS) \
  73. $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
  74. $(MAKE_INSTALL_FLAGS) \
  75. $(1) install.libs install.data;
  76. endef
  77. define Package/terminfo/install
  78. echo ""
  79. ifneq ($(HOST_OS),FreeBSD)
  80. $(INSTALL_DIR) $(1)/usr/share/terminfo
  81. (cd $(PKG_INSTALL_DIR)/usr/share/terminfo; \
  82. for dir in ??; do \
  83. [ -d "$$$$dir" ] || continue; \
  84. mv $$$$dir $$$$(echo -ne "\x$$$$dir"); \
  85. done \
  86. )
  87. for file in a/ansi d/dumb l/linux r/rxvt r/rxvt-unicode s/screen v/vt100 v/vt102 x/xterm x/xterm-color; do \
  88. $(INSTALL_DIR) $(1)/usr/share/terminfo/`dirname $$$$file`; \
  89. $(CP) $(PKG_INSTALL_DIR)/usr/share/terminfo/$$$$file \
  90. $(1)/usr/share/terminfo/$$$$file; \
  91. done
  92. endif
  93. endef
  94. define Package/libncurses/install
  95. $(INSTALL_DIR) $(1)/usr/lib
  96. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{curses,ncurses,panel,menu,form}.so* $(1)/usr/lib/
  97. endef
  98. define Package/libncursesw/install
  99. $(INSTALL_DIR) $(1)/usr/lib
  100. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ncurses,panel,menu,form}w.so* $(1)/usr/lib/
  101. endef
  102. ifeq ($(BUILD_VARIANT),libncursesw)
  103. define Build/InstallDev
  104. $(INSTALL_DIR) $(1)/usr/include/ncursesw/
  105. $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/ncursesw/
  106. $(INSTALL_DIR) $(1)/usr/lib
  107. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ncurses,panel,menu,form}w.{a,so*} $(1)/usr/lib/
  108. $(INSTALL_DIR) $(1)/usr/bin $(2)/bin
  109. $(CP) $(PKG_INSTALL_DIR)/usr/bin/ncursesw5-config $(2)/bin/
  110. $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' -e 's/$$$$INCS //g' \
  111. $(2)/bin/ncursesw5-config
  112. ln -sf $(STAGING_DIR)/host/bin/ncursesw5-config $(1)/usr/bin/ncursesw5-config
  113. endef
  114. else
  115. define Build/InstallDev
  116. $(INSTALL_DIR) $(1)/usr/include
  117. $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
  118. $(INSTALL_DIR) $(1)/usr/lib
  119. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{curses,ncurses,panel,menu,form}.{a,so*} $(1)/usr/lib/
  120. $(INSTALL_DIR) $(1)/usr/bin $(2)/bin
  121. $(CP) $(PKG_INSTALL_DIR)/usr/bin/ncurses5-config $(2)/bin/
  122. $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
  123. $(2)/bin/ncurses5-config
  124. ln -sf $(STAGING_DIR)/host/bin/ncurses5-config $(1)/usr/bin/ncurses5-config
  125. endef
  126. endif
  127. $(eval $(call BuildPackage,terminfo))
  128. $(eval $(call BuildPackage,libncurses))
  129. $(eval $(call BuildPackage,libncursesw))