blob: 2c7bf79d2496f24f633675a578895ab5b5555b5b [file] [log] [blame]
Eric Andersen63879622002-05-23 19:21:23 +00001#############################################################
2#
3# ncurses
John Voltza6dca682008-03-07 13:57:53 +00004# this installs only a few vital termcap entries
5#
Eric Andersen63879622002-05-23 19:21:23 +00006#############################################################
John Voltza6dca682008-03-07 13:57:53 +00007# Copyright (C) 2002 by Ken Restivo <ken@246gt.com>
8# $Id: ncurses.mk,v 1.7 2005/01/03 04:38:13 andersen Exp $
9#
10# This program is free software; you can redistribute it and/or modify
11# it under the terms of the GNU Library General Public License as
12# published by the Free Software Foundation; either version 2 of the
13# License, or (at your option) any later version.
14#
15# This program is distributed in the hope that it will be useful, but
16# WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18# Library General Public License for more details.
19#
20# You should have received a copy of the GNU Library General Public
21# License along with this program; if not, write to the Free Software
22# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23# USA
24
25# TARGETS
26NCURSES_VERSION:=5.6
Hamish Moffattaf510f42008-03-26 03:28:09 +000027NCURSES_SITE:=$(BR2_GNU_MIRROR)/ncurses
John Voltza6dca682008-03-07 13:57:53 +000028NCURSES_DIR:=$(BUILD_DIR)/ncurses-$(NCURSES_VERSION)
29NCURSES_SOURCE:=ncurses-$(NCURSES_VERSION).tar.gz
30NCURSES_CAT:=$(ZCAT)
Eric Andersen63879622002-05-23 19:21:23 +000031
Peter Korsgaardac1d92c2008-12-08 08:15:27 +000032ifneq ($(BR2_PACKAGE_NCURSES_TARGET_HEADERS),y)
John Voltza6dca682008-03-07 13:57:53 +000033NCURSES_WANT_STATIC=--disable-static
Bernhard Reutner-Fischerab577322007-06-25 15:38:03 +000034endif
35
John Voltza6dca682008-03-07 13:57:53 +000036$(DL_DIR)/$(NCURSES_SOURCE):
Peter Korsgaard4a7bfd22009-01-16 11:42:52 +000037 $(call DOWNLOAD,$(NCURSES_SITE),$(NCURSES_SOURCE))
John Voltza6dca682008-03-07 13:57:53 +000038
39$(NCURSES_DIR)/.patched: $(DL_DIR)/$(NCURSES_SOURCE)
40 $(NCURSES_CAT) $(DL_DIR)/$(NCURSES_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
41 #use the local tic and not whatever the build system was going to find.
42 $(SED) 's~\$$srcdir/shlib tic\$$suffix~/usr/bin/tic~' \
43 $(NCURSES_DIR)/misc/run_tic.in
44 toolchain/patch-kernel.sh $(NCURSES_DIR) package/ncurses/ ncurses\*.patch
45 $(CONFIG_UPDATE) $(NCURSES_DIR)
46 touch $@
47
48$(NCURSES_DIR)/.configured: $(NCURSES_DIR)/.patched
49 (cd $(NCURSES_DIR); rm -rf config.cache; \
50 BUILD_CC="$(HOSTCC)" \
51 $(TARGET_CONFIGURE_OPTS) \
52 $(TARGET_CONFIGURE_ARGS) \
Peter Korsgaard3fdf0bf2009-10-01 21:24:42 +020053 ./configure $(QUIET) \
John Voltza6dca682008-03-07 13:57:53 +000054 --target=$(GNU_TARGET_NAME) \
55 --host=$(REAL_GNU_TARGET_NAME) \
56 --build=$(GNU_HOST_NAME) \
57 --prefix=/usr \
58 --exec-prefix=/usr \
59 --bindir=/usr/bin \
60 --sbindir=/usr/sbin \
Ulf Samuelssonea8a25f2009-01-22 22:58:55 +000061 --libdir=/usr/lib \
John Voltza6dca682008-03-07 13:57:53 +000062 --libexecdir=/usr/lib \
63 --sysconfdir=/etc \
64 --datadir=/usr/share \
65 --localstatedir=/var \
66 --includedir=/usr/include \
67 --mandir=/usr/man \
68 --infodir=/usr/info \
69 --with-terminfo-dirs=/usr/share/terminfo \
Eric Andersene4024012003-01-08 18:17:28 +000070 --with-default-terminfo-dir=/usr/share/terminfo \
Eric Andersenef7784a2003-01-17 08:03:59 +000071 --with-shared --without-cxx --without-cxx-binding \
Bernhard Reutner-Fischer2c272872007-01-30 17:47:03 +000072 --without-ada --without-progs --disable-big-core \
73 $(DISABLE_NLS) $(DISABLE_LARGEFILE) \
Eric Andersend9540bd2003-08-19 06:37:00 +000074 --without-profile --without-debug --disable-rpath \
75 --enable-echo --enable-const --enable-overwrite \
Eric Andersencbe848f2005-03-02 12:33:58 +000076 --enable-broken_linker \
John Voltza6dca682008-03-07 13:57:53 +000077 $(NCURSES_WANT_STATIC) \
78 )
79 touch $@
Eric Andersen63879622002-05-23 19:21:23 +000080
John Voltza6dca682008-03-07 13:57:53 +000081$(NCURSES_DIR)/lib/libncurses.so.$(NCURSES_VERSION): $(NCURSES_DIR)/.configured
82 $(MAKE1) DESTDIR=$(STAGING_DIR) -C $(NCURSES_DIR) \
83 libs panel menu form headers
Eric Andersen63879622002-05-23 19:21:23 +000084
Ulf Samuelssonea8a25f2009-01-22 22:58:55 +000085$(STAGING_DIR)/usr/lib/libncurses.so.$(NCURSES_VERSION): $(NCURSES_DIR)/lib/libncurses.so.$(NCURSES_VERSION)
John Voltza6dca682008-03-07 13:57:53 +000086 $(MAKE1) \
87 prefix=$(STAGING_DIR)/usr/ \
88 exec_prefix=$(STAGING_DIR) \
89 bindir=$(STAGING_DIR)/bin \
90 sbindir=$(STAGING_DIR)/sbin \
91 libexecdir=$(STAGING_DIR)/usr/lib \
92 datadir=$(STAGING_DIR)/usr/share \
93 sysconfdir=$(STAGING_DIR)/etc \
94 localstatedir=$(STAGING_DIR)/var \
Ulf Samuelssonea8a25f2009-01-22 22:58:55 +000095 libdir=$(STAGING_DIR)/usr/lib \
John Voltza6dca682008-03-07 13:57:53 +000096 infodir=$(STAGING_DIR)/usr/info \
97 mandir=$(STAGING_DIR)/usr/man \
98 includedir=$(STAGING_DIR)/usr/include \
99 gxx_include_dir=$(STAGING_DIR)/usr/include/c++ \
100 ticdir=$(STAGING_DIR)/usr/share/terminfo \
101 -C $(NCURSES_DIR) install
102 chmod a-x $(NCURSES_DIR)/lib/libncurses.so*
Peter Korsgaard0cf28ad2009-03-01 22:35:48 +0000103 $(SED) 's^prefix="^prefix="$(STAGING_DIR)^' \
104 $(STAGING_DIR)/bin/ncurses5-config
John Voltza6dca682008-03-07 13:57:53 +0000105 touch -c $@
Eric Andersen63879622002-05-23 19:21:23 +0000106
Ulf Samuelssonea8a25f2009-01-22 22:58:55 +0000107$(TARGET_DIR)/usr/lib/libncurses.so.$(NCURSES_VERSION): $(STAGING_DIR)/usr/lib/libncurses.so.$(NCURSES_VERSION)
108 cp -dpf $(NCURSES_DIR)/lib/libncurses.so* $(TARGET_DIR)/usr/lib/
Peter Korsgaardac1d92c2008-12-08 08:15:27 +0000109ifeq ($(BR2_PACKAGE_NCURSES_TARGET_PANEL),y)
Nigel Kukard46528492008-04-10 08:17:14 +0000110 cp -dpf $(NCURSES_DIR)/lib/libpanel.so* $(TARGET_DIR)/usr/lib/
Nigel Kukardd284bd52008-04-09 11:38:48 +0000111endif
Peter Korsgaardac1d92c2008-12-08 08:15:27 +0000112ifeq ($(BR2_PACKAGE_NCURSES_TARGET_FORM),y)
Nigel Kukard46528492008-04-10 08:17:14 +0000113 cp -dpf $(NCURSES_DIR)/lib/libform.so* $(TARGET_DIR)/usr/lib/
Nigel Kukardd284bd52008-04-09 11:38:48 +0000114endif
Peter Korsgaardac1d92c2008-12-08 08:15:27 +0000115ifeq ($(BR2_PACKAGE_NCURSES_TARGET_MENU),y)
Nigel Kukard46528492008-04-10 08:17:14 +0000116 cp -dpf $(NCURSES_DIR)/lib/libmenu.so* $(TARGET_DIR)/usr/lib/
Nigel Kukardd284bd52008-04-09 11:38:48 +0000117endif
Peter Korsgaard49b38b52008-07-01 19:24:36 +0000118 ln -snf /usr/share/terminfo $(TARGET_DIR)/usr/lib/terminfo
John Voltza6dca682008-03-07 13:57:53 +0000119 mkdir -p $(TARGET_DIR)/usr/share/terminfo/x
120 cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm $(TARGET_DIR)/usr/share/terminfo/x
121 cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm-color $(TARGET_DIR)/usr/share/terminfo/x
122 cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm-xfree86 $(TARGET_DIR)/usr/share/terminfo/x
123 mkdir -p $(TARGET_DIR)/usr/share/terminfo/v
124 cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt100 $(TARGET_DIR)/usr/share/terminfo/v
125 cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt102 $(TARGET_DIR)/usr/share/terminfo/v
126 cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt200 $(TARGET_DIR)/usr/share/terminfo/v
127 cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt220 $(TARGET_DIR)/usr/share/terminfo/v
128 mkdir -p $(TARGET_DIR)/usr/share/terminfo/a
129 cp -dpf $(STAGING_DIR)/usr/share/terminfo/a/ansi $(TARGET_DIR)/usr/share/terminfo/a
130 mkdir -p $(TARGET_DIR)/usr/share/terminfo/l
131 cp -dpf $(STAGING_DIR)/usr/share/terminfo/l/linux $(TARGET_DIR)/usr/share/terminfo/l
132 -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@
133 touch -c $@
Eric Andersen63879622002-05-23 19:21:23 +0000134
Ulf Samuelsson2b192f02009-01-23 23:02:15 +0000135$(NCURSES_DIR)/lib/libncurses.a: $(NCURSES_DIR)/lib/libncurses.so.$(NCURSES_VERSION)
136
137$(TARGET_DIR)/usr/lib/libncurses.a: $(NCURSES_DIR)/lib/libncurses.a
John Voltza6dca682008-03-07 13:57:53 +0000138 mkdir -p $(TARGET_DIR)/usr/include
Thomas Lundquistde5576b2009-01-11 13:33:13 +0000139 cp -dpf $(NCURSES_DIR)/include/curses.h $(TARGET_DIR)/usr/include/curses.h
John Voltza6dca682008-03-07 13:57:53 +0000140 cp -dpf $(NCURSES_DIR)/include/ncurses_dll.h $(TARGET_DIR)/usr/include/ncurses_dll.h
141 cp -dpf $(NCURSES_DIR)/include/term.h $(TARGET_DIR)/usr/include/
142 cp -dpf $(NCURSES_DIR)/include/unctrl.h $(TARGET_DIR)/usr/include/
143 cp -dpf $(NCURSES_DIR)/include/termcap.h $(TARGET_DIR)/usr/include/
144 cp -dpf $(NCURSES_DIR)/lib/libncurses.a $(TARGET_DIR)/usr/lib/
Peter Korsgaard345be8b2008-03-31 14:44:32 +0000145 (cd $(TARGET_DIR)/usr/lib; \
John Voltza6dca682008-03-07 13:57:53 +0000146 ln -fs libncurses.a libcurses.a; \
147 ln -fs libncurses.a libtermcap.a; \
148 )
Thomas Lundquistde5576b2009-01-11 13:33:13 +0000149 (cd $(TARGET_DIR)/usr/include; ln -fs curses.h ncurses.h)
Ulf Samuelssonea8a25f2009-01-22 22:58:55 +0000150 rm -f $(TARGET_DIR)/usr/lib/libncurses.so
151 (cd $(TARGET_DIR)/usr/lib; ln -fs libncurses.so.$(NCURSES_VERSION) libncurses.so)
152 -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libncurses.so.$(NCURSES_VERSION)
John Voltza6dca682008-03-07 13:57:53 +0000153 touch -c $@
154
Peter Korsgaard58508f32009-10-03 22:42:52 +0200155ncurses: $(TARGET_DIR)/usr/lib/libncurses.so.$(NCURSES_VERSION) \
156 $(if $(BR2_HAVE_DEVFILES),$(TARGET_DIR)/usr/lib/libncurses.a)
John Voltza6dca682008-03-07 13:57:53 +0000157
Ulf Samuelsson0c072542009-01-12 07:44:09 +0000158ncurses-unpacked: $(NCURSES_DIR)/.patched
159
John Voltza6dca682008-03-07 13:57:53 +0000160ncurses-source: $(DL_DIR)/$(NCURSES_SOURCE)
161
162ncurses-clean:
John Voltza6dca682008-03-07 13:57:53 +0000163 rm -f $(STAGING_DIR)/usr/lib/libncurses.so* $(TARGET_DIR)/usr/lib/libncurses.so*
164 rm -rf $(STAGING_DIR)/usr/share/tabset $(TARGET_DIR)/usr/share/tabset
165 rm -rf $(STAGING_DIR)/usr/share/terminfo $(TARGET_DIR)/usr/share/terminfo
Peter Korsgaard345be8b2008-03-31 14:44:32 +0000166 rm -rf $(TARGET_DIR)/usr/lib/terminfo
John Voltza6dca682008-03-07 13:57:53 +0000167 -$(MAKE) -C $(NCURSES_DIR) clean
168
169ncurses-dirclean:
170 rm -rf $(NCURSES_DIR)
171
172#############################################################
173#
174# Toplevel Makefile options
175#
176#############################################################
Peter Korsgaardac1d92c2008-12-08 08:15:27 +0000177ifeq ($(BR2_PACKAGE_NCURSES),y)
John Voltza6dca682008-03-07 13:57:53 +0000178TARGETS+=ncurses
179endif