blob: 0fbef7194b5ca8f20864542a0f519306f7113b08 [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) \
53 ./configure \
54 --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 \
61 --libdir=/lib \
62 --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
John Voltza6dca682008-03-07 13:57:53 +000085$(STAGING_DIR)/lib/libncurses.so.$(NCURSES_VERSION): $(NCURSES_DIR)/lib/libncurses.so.$(NCURSES_VERSION)
86 $(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 \
95 libdir=$(STAGING_DIR)/lib \
96 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*
103 touch -c $@
Eric Andersen63879622002-05-23 19:21:23 +0000104
John Voltza6dca682008-03-07 13:57:53 +0000105$(TARGET_DIR)/lib/libncurses.so.$(NCURSES_VERSION): $(STAGING_DIR)/lib/libncurses.so.$(NCURSES_VERSION)
106 cp -dpf $(NCURSES_DIR)/lib/libncurses.so* $(TARGET_DIR)/lib/
Peter Korsgaardac1d92c2008-12-08 08:15:27 +0000107ifeq ($(BR2_PACKAGE_NCURSES_TARGET_PANEL),y)
Nigel Kukard46528492008-04-10 08:17:14 +0000108 cp -dpf $(NCURSES_DIR)/lib/libpanel.so* $(TARGET_DIR)/usr/lib/
Nigel Kukardd284bd52008-04-09 11:38:48 +0000109endif
Peter Korsgaardac1d92c2008-12-08 08:15:27 +0000110ifeq ($(BR2_PACKAGE_NCURSES_TARGET_FORM),y)
Nigel Kukard46528492008-04-10 08:17:14 +0000111 cp -dpf $(NCURSES_DIR)/lib/libform.so* $(TARGET_DIR)/usr/lib/
Nigel Kukardd284bd52008-04-09 11:38:48 +0000112endif
Peter Korsgaardac1d92c2008-12-08 08:15:27 +0000113ifeq ($(BR2_PACKAGE_NCURSES_TARGET_MENU),y)
Nigel Kukard46528492008-04-10 08:17:14 +0000114 cp -dpf $(NCURSES_DIR)/lib/libmenu.so* $(TARGET_DIR)/usr/lib/
Nigel Kukardd284bd52008-04-09 11:38:48 +0000115endif
Peter Korsgaard49b38b52008-07-01 19:24:36 +0000116 ln -snf /usr/share/terminfo $(TARGET_DIR)/usr/lib/terminfo
John Voltza6dca682008-03-07 13:57:53 +0000117 mkdir -p $(TARGET_DIR)/usr/share/terminfo/x
118 cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm $(TARGET_DIR)/usr/share/terminfo/x
119 cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm-color $(TARGET_DIR)/usr/share/terminfo/x
120 cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm-xfree86 $(TARGET_DIR)/usr/share/terminfo/x
121 mkdir -p $(TARGET_DIR)/usr/share/terminfo/v
122 cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt100 $(TARGET_DIR)/usr/share/terminfo/v
123 cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt102 $(TARGET_DIR)/usr/share/terminfo/v
124 cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt200 $(TARGET_DIR)/usr/share/terminfo/v
125 cp -dpf $(STAGING_DIR)/usr/share/terminfo/v/vt220 $(TARGET_DIR)/usr/share/terminfo/v
126 mkdir -p $(TARGET_DIR)/usr/share/terminfo/a
127 cp -dpf $(STAGING_DIR)/usr/share/terminfo/a/ansi $(TARGET_DIR)/usr/share/terminfo/a
128 mkdir -p $(TARGET_DIR)/usr/share/terminfo/l
129 cp -dpf $(STAGING_DIR)/usr/share/terminfo/l/linux $(TARGET_DIR)/usr/share/terminfo/l
130 -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@
131 touch -c $@
Eric Andersen63879622002-05-23 19:21:23 +0000132
John Voltza6dca682008-03-07 13:57:53 +0000133$(TARGET_DIR)/usr/lib/libncurses.a: $(STAGING_DIR)/lib/libncurses.a
134 mkdir -p $(TARGET_DIR)/usr/include
Thomas Lundquistde5576b2009-01-11 13:33:13 +0000135 cp -dpf $(NCURSES_DIR)/include/curses.h $(TARGET_DIR)/usr/include/curses.h
John Voltza6dca682008-03-07 13:57:53 +0000136 cp -dpf $(NCURSES_DIR)/include/ncurses_dll.h $(TARGET_DIR)/usr/include/ncurses_dll.h
137 cp -dpf $(NCURSES_DIR)/include/term.h $(TARGET_DIR)/usr/include/
138 cp -dpf $(NCURSES_DIR)/include/unctrl.h $(TARGET_DIR)/usr/include/
139 cp -dpf $(NCURSES_DIR)/include/termcap.h $(TARGET_DIR)/usr/include/
140 cp -dpf $(NCURSES_DIR)/lib/libncurses.a $(TARGET_DIR)/usr/lib/
Peter Korsgaard345be8b2008-03-31 14:44:32 +0000141 (cd $(TARGET_DIR)/usr/lib; \
John Voltza6dca682008-03-07 13:57:53 +0000142 ln -fs libncurses.a libcurses.a; \
143 ln -fs libncurses.a libtermcap.a; \
144 )
Thomas Lundquistde5576b2009-01-11 13:33:13 +0000145 (cd $(TARGET_DIR)/usr/include; ln -fs curses.h ncurses.h)
John Voltza6dca682008-03-07 13:57:53 +0000146 rm -f $(TARGET_DIR)/lib/libncurses.so
147 (cd $(TARGET_DIR)/usr/lib; ln -fs ../../lib/libncurses.so.$(NCURSES_VERSION) libncurses.so)
148 -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/lib/libncurses.so.$(NCURSES_VERSION)
149 touch -c $@
150
151ncurses: $(TARGET_DIR)/lib/libncurses.so.$(NCURSES_VERSION)
152
Ulf Samuelsson0c072542009-01-12 07:44:09 +0000153ncurses-unpacked: $(NCURSES_DIR)/.patched
154
John Voltza6dca682008-03-07 13:57:53 +0000155ncurses-headers: $(TARGET_DIR)/usr/lib/libncurses.a
156
157ncurses-source: $(DL_DIR)/$(NCURSES_SOURCE)
158
159ncurses-clean:
160 rm -f $(STAGING_DIR)/lib/libncurses.so* $(TARGET_DIR)/lib/libncurses.so*
161 rm -f $(STAGING_DIR)/usr/lib/libncurses.so* $(TARGET_DIR)/usr/lib/libncurses.so*
162 rm -rf $(STAGING_DIR)/usr/share/tabset $(TARGET_DIR)/usr/share/tabset
163 rm -rf $(STAGING_DIR)/usr/share/terminfo $(TARGET_DIR)/usr/share/terminfo
Peter Korsgaard345be8b2008-03-31 14:44:32 +0000164 rm -rf $(TARGET_DIR)/usr/lib/terminfo
John Voltza6dca682008-03-07 13:57:53 +0000165 -$(MAKE) -C $(NCURSES_DIR) clean
166
167ncurses-dirclean:
168 rm -rf $(NCURSES_DIR)
169
170#############################################################
171#
172# Toplevel Makefile options
173#
174#############################################################
Peter Korsgaardac1d92c2008-12-08 08:15:27 +0000175ifeq ($(BR2_PACKAGE_NCURSES),y)
John Voltza6dca682008-03-07 13:57:53 +0000176TARGETS+=ncurses
177endif
Peter Korsgaardac1d92c2008-12-08 08:15:27 +0000178ifeq ($(BR2_PACKAGE_NCURSES_TARGET_HEADERS),y)
John Voltza6dca682008-03-07 13:57:53 +0000179TARGETS+=ncurses-headers
180endif