Makefile 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. #
  2. # Copyright (C) 2006 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. # $Id$
  8. include $(TOPDIR)/rules.mk
  9. PKG_NAME:=ncurses
  10. PKG_VERSION:=5.6
  11. PKG_RELEASE:=1
  12. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  13. PKG_SOURCE_URL:=@GNU/ncurses
  14. PKG_MD5SUM:=b6593abe1089d6aab1551c105c9300e3
  15. include $(INCLUDE_DIR)/package.mk
  16. define Package/libncurses
  17. SECTION:=libs
  18. CATEGORY:=Libraries
  19. TITLE:=Terminal handling library
  20. URL:=http://www.gnu.org/software/ncurses/
  21. endef
  22. define Build/Configure
  23. endef
  24. TARGET_CFLAGS += $(FPIC)
  25. define Build/Compile
  26. rm -rf $(PKG_INSTALL_DIR)
  27. mkdir -p $(PKG_INSTALL_DIR)
  28. -$(MAKE) -C $(PKG_BUILD_DIR) distclean
  29. (cd $(PKG_BUILD_DIR); rm -f config.cache; \
  30. CONFIG_SITE="" \
  31. ./configure \
  32. --target=$(GNU_HOST_NAME) \
  33. --host=$(GNU_HOST_NAME) \
  34. --build=$(GNU_HOST_NAME) \
  35. --program-prefix="" \
  36. --program-suffix="" \
  37. --prefix=/usr \
  38. --exec-prefix=/usr \
  39. --bindir=/usr/bin \
  40. --datadir=/usr/share \
  41. --includedir=/usr/include \
  42. --infodir=/usr/share/info \
  43. --libdir=/usr/lib \
  44. --libexecdir=/usr/lib \
  45. --localstatedir=/var \
  46. --mandir=/usr/share/man \
  47. --sbindir=/usr/sbin \
  48. --sysconfdir=/etc \
  49. $(DISABLE_NLS) \
  50. $(DISABLE_LARGEFILE) \
  51. --enable-echo \
  52. --enable-const \
  53. --enable-overwrite \
  54. --disable-rpath \
  55. --without-ada \
  56. --without-cxx \
  57. --without-cxx-binding \
  58. --without-debug \
  59. --without-profile \
  60. --with-progs \
  61. --with-normal \
  62. --without-shared \
  63. --with-terminfo-dirs=/usr/share/terminfo \
  64. --with-default-terminfo-dir=/usr/share/terminfo \
  65. );
  66. $(MAKE) -C $(PKG_BUILD_DIR) \
  67. DESTDIR="$(PKG_INSTALL_DIR)" \
  68. libs install.progs
  69. (cd $(PKG_BUILD_DIR); rm -f config.cache; \
  70. $(TARGET_CONFIGURE_OPTS) \
  71. CFLAGS="$(TARGET_CFLAGS)" \
  72. CPPFLAGS="$(TARGET_CPPFLAGS)" \
  73. LDFLAGS="$(TARGET_LDFLAGS)" \
  74. ./configure \
  75. --target=$(GNU_TARGET_NAME) \
  76. --host=$(GNU_TARGET_NAME) \
  77. --build=$(GNU_HOST_NAME) \
  78. --program-prefix="" \
  79. --program-suffix="" \
  80. --prefix=/usr \
  81. --exec-prefix=/usr \
  82. --bindir=/usr/bin \
  83. --datadir=/usr/share \
  84. --includedir=/usr/include \
  85. --infodir=/usr/share/info \
  86. --libdir=/usr/lib \
  87. --libexecdir=/usr/lib \
  88. --localstatedir=/var \
  89. --mandir=/usr/share/man \
  90. --sbindir=/usr/sbin \
  91. --sysconfdir=/etc \
  92. $(DISABLE_NLS) \
  93. $(DISABLE_LARGEFILE) \
  94. --enable-echo \
  95. --enable-const \
  96. --enable-overwrite \
  97. --disable-rpath \
  98. --without-ada \
  99. --without-cxx \
  100. --without-cxx-binding \
  101. --without-debug \
  102. --without-profile \
  103. --without-progs \
  104. --with-normal \
  105. --with-shared \
  106. --with-terminfo-dirs=/usr/share/terminfo \
  107. --with-default-terminfo-dir=/usr/share/terminfo \
  108. );
  109. rm -f $(PKG_BUILD_DIR)/lib/lib*
  110. $(MAKE) -C $(PKG_BUILD_DIR) \
  111. $(TARGET_CONFIGURE_OPTS) \
  112. BUILD_CC="$(TARGET_CC)" \
  113. HOSTCC="$(HOSTCC)" \
  114. HOSTCCFLAGS="" \
  115. DESTDIR="$(PKG_INSTALL_DIR)" \
  116. libs install.libs install.data
  117. endef
  118. define Package/libncurses/install
  119. $(INSTALL_DIR) $(1)/usr/lib
  120. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ncurses,panel,menu,form}*.so.* $(1)/usr/lib/
  121. $(INSTALL_DIR) $(1)/usr/share/terminfo
  122. (cd $(PKG_INSTALL_DIR)/usr/share/terminfo; \
  123. for dir in ??; do \
  124. [ -d "$$$$dir" ] || continue; \
  125. mv $$$$dir $$$$(echo -ne "\x$$$$dir"); \
  126. done \
  127. )
  128. for file in a/ansi d/dumb l/linux r/rxvt s/screen v/vt100 v/vt102 x/xterm x/xterm-color; do \
  129. $(INSTALL_DIR) $(1)/usr/share/terminfo/`dirname $$$$file`; \
  130. $(CP) $(PKG_INSTALL_DIR)/usr/share/terminfo/$$$$file \
  131. $(1)/usr/share/terminfo/$$$$file; \
  132. done
  133. endef
  134. define Build/InstallDev
  135. mkdir -p $(1)/usr/include
  136. $(CP) $(PKG_INSTALL_DIR)/usr/include/curses.h $(1)/usr/include/
  137. $(CP) $(PKG_INSTALL_DIR)/usr/include/ncurses.h $(1)/usr/include/
  138. $(CP) $(PKG_INSTALL_DIR)/usr/include/ncurses_dll.h $(1)/usr/include/
  139. $(CP) $(PKG_INSTALL_DIR)/usr/include/menu.h $(1)/usr/include/
  140. $(CP) $(PKG_INSTALL_DIR)/usr/include/panel.h $(1)/usr/include/
  141. $(CP) $(PKG_INSTALL_DIR)/usr/include/term{,cap}.h $(1)/usr/include/
  142. $(CP) $(PKG_INSTALL_DIR)/usr/include/unctrl.h $(1)/usr/include/
  143. $(CP) $(PKG_INSTALL_DIR)/usr/include/form.h $(1)/usr/include/
  144. $(CP) $(PKG_INSTALL_DIR)/usr/include/eti.h $(1)/usr/include/
  145. mkdir -p $(1)/usr/lib
  146. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcurses.so $(1)/usr/lib/
  147. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ncurses,panel,menu,form}.{a,so*} $(1)/usr/lib/
  148. endef
  149. $(eval $(call BuildPackage,libncurses))