add a load of fixes from whiterussian to head
[openwrt/openwrt.git] / openwrt / package / ncurses / Makefile
1 # $Id$
2
3 include $(TOPDIR)/rules.mk
4
5 PKG_NAME:=ncurses
6 PKG_VERSION:=5.2
7 PKG_RELEASE:=6
8 PKG_MD5SUM:=464d6a49010cf2a6eb9ce59a264d4d47
9
10 PKG_SOURCE_URL:=\
11 ftp://ftp.gnu.org/pub/gnu/$(PKG_NAME) \
12 ftp://gatekeeper.dec.com/pub/GNU/$(PKG_NAME) \
13 ftp://ftp.uu.net/archive/systems/gnu/$(PKG_NAME) \
14 ftp://ftp.eu.uu.net/pub/gnu/$(PKG_NAME) \
15 ftp://ftp.funet.fi/pub/gnu/prep/$(PKG_NAME) \
16 ftp://ftp.leo.org/pub/comp/os/unix/gnu/$(PKG_NAME) \
17 ftp://ftp.digex.net/pub/gnu/$(PKG_NAME)
18 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
19 PKG_CAT:=zcat
20
21 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
22 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
23
24 include $(TOPDIR)/package/rules.mk
25
26 $(eval $(call PKG_template,LIBNCURSES,libncurses,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
27
28 $(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/.prepared
29 rm -rf $(PKG_INSTALL_DIR)
30 mkdir -p $(PKG_INSTALL_DIR)
31 (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
32 ./configure \
33 --target=$(GNU_HOST_NAME) \
34 --host=$(GNU_HOST_NAME) \
35 --build=$(GNU_HOST_NAME) \
36 --program-prefix="" \
37 --program-suffix="" \
38 --prefix=/usr \
39 --exec-prefix=/usr \
40 --bindir=/usr/bin \
41 --datadir=/usr/share \
42 --includedir=/usr/include \
43 --infodir=/usr/share/info \
44 --libdir=/usr/lib \
45 --libexecdir=/usr/lib \
46 --localstatedir=/var \
47 --mandir=/usr/share/man \
48 --sbindir=/usr/sbin \
49 --sysconfdir=/etc \
50 $(DISABLE_NLS) \
51 $(DISABLE_LARGEFILE) \
52 --enable-echo \
53 --enable-const \
54 --enable-overwrite \
55 --disable-rpath \
56 --without-ada \
57 --without-cxx \
58 --without-cxx-binding \
59 --without-debug \
60 --without-profile \
61 --with-progs \
62 --with-normal \
63 --without-shared \
64 --with-terminfo-dirs=/usr/share/terminfo \
65 --with-default-terminfo-dir=/usr/share/terminfo \
66 );
67 $(MAKE) -C $(PKG_BUILD_DIR) \
68 DESTDIR="$(PKG_INSTALL_DIR)" \
69 libs install.progs
70 (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
71 $(TARGET_CONFIGURE_OPTS) \
72 CFLAGS="$(TARGET_CFLAGS)" \
73 CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
74 LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
75 ac_cv_linux_vers="2" \
76 ./configure \
77 --target=$(GNU_TARGET_NAME) \
78 --host=$(GNU_TARGET_NAME) \
79 --build=$(GNU_HOST_NAME) \
80 --program-prefix="" \
81 --program-suffix="" \
82 --prefix=/usr \
83 --exec-prefix=/usr \
84 --bindir=/usr/bin \
85 --datadir=/usr/share \
86 --includedir=/usr/include \
87 --infodir=/usr/share/info \
88 --libdir=/usr/lib \
89 --libexecdir=/usr/lib \
90 --localstatedir=/var \
91 --mandir=/usr/share/man \
92 --sbindir=/usr/sbin \
93 --sysconfdir=/etc \
94 $(DISABLE_NLS) \
95 $(DISABLE_LARGEFILE) \
96 --enable-echo \
97 --enable-const \
98 --enable-overwrite \
99 --disable-rpath \
100 --without-ada \
101 --without-cxx \
102 --without-cxx-binding \
103 --without-debug \
104 --without-profile \
105 --without-progs \
106 --with-normal \
107 --with-shared \
108 --with-terminfo-dirs=/usr/share/terminfo \
109 --with-default-terminfo-dir=/usr/share/terminfo \
110 );
111 $(MAKE) -C $(PKG_BUILD_DIR) \
112 $(TARGET_CONFIGURE_OPTS) \
113 BUILD_CC="$(TARGET_CC)" \
114 HOSTCC="$(HOSTCC)" \
115 HOSTCCFLAGS="\$$(CPPFLAGS)" \
116 DESTDIR="$(PKG_INSTALL_DIR)" \
117 libs install.libs install.data
118 touch $@
119
120 $(IPKG_LIBNCURSES):
121 install -d -m0755 $(IDIR_LIBNCURSES)/usr/lib
122 cp -fpR $(PKG_INSTALL_DIR)/usr/lib/lib{ncurses,panel}*.so.* $(IDIR_LIBNCURSES)/usr/lib/
123 install -d -m0755 $(IDIR_LIBNCURSES)/usr/share/terminfo
124 for f in a/ansi d/dumb l/linux s/screen v/vt100 v/vt102 x/xterm x/xterm-color; do \
125 install -d -m0755 $(IDIR_LIBNCURSES)/usr/share/terminfo/`dirname $${f}`; \
126 cp -fpR $(PKG_INSTALL_DIR)/usr/share/terminfo/$${f} \
127 $(IDIR_LIBNCURSES)/usr/share/terminfo/$${f}; \
128 done
129 $(RSTRIP) $(IDIR_LIBNCURSES)
130 $(IPKG_BUILD) $(IDIR_LIBNCURSES) $(PACKAGE_DIR)
131
132 $(STAGING_DIR)/usr/lib/libncurses.so: $(PKG_BUILD_DIR)/.built
133 mkdir -p $(STAGING_DIR)/usr/include
134 cp -fpR $(PKG_INSTALL_DIR)/usr/include/curses.h $(STAGING_DIR)/usr/include/
135 cp -fpR $(PKG_INSTALL_DIR)/usr/include/{ncurses,panel}.h $(STAGING_DIR)/usr/include/
136 cp -fpR $(PKG_INSTALL_DIR)/usr/include/panel.h $(STAGING_DIR)/usr/include/
137 cp -fpR $(PKG_INSTALL_DIR)/usr/include/term{,cap}.h $(STAGING_DIR)/usr/include/
138 cp -fpR $(PKG_INSTALL_DIR)/usr/include/unctrl.h $(STAGING_DIR)/usr/include/
139 mkdir -p $(STAGING_DIR)/usr/lib
140 cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libcurses.so $(STAGING_DIR)/usr/lib/
141 cp -fpR $(PKG_INSTALL_DIR)/usr/lib/lib{ncurses,panel}.{a,so*} $(STAGING_DIR)/usr/lib/
142 touch $@
143
144 install-dev: $(STAGING_DIR)/usr/lib/libncurses.so
145
146 uninstall-dev:
147 rm -rf \
148 $(STAGING_DIR)/usr/include/curses.h \
149 $(STAGING_DIR)/usr/include/{ncurses,panel}.h \
150 $(STAGING_DIR)/usr/include/panel.h \
151 $(STAGING_DIR)/usr/include/term{,cap}.h \
152 $(STAGING_DIR)/usr/include/unctrl.h \
153 $(STAGING_DIR)/usr/lib/libcurses.so \
154 $(STAGING_DIR)/usr/lib/lib{ncurses,panel}.{a,so*} \
155
156 compile: install-dev
157 clean: uninstall-dev
158