xref: /freebsd/lib/ncurses/tinfo/Makefile (revision 5036d9652a5701d00e9e40ea942c278e9f77d33d)
1PACKAGE=	clibs
2SHLIBDIR?=	/lib
3
4.include <src.opts.mk>
5
6.include "${.CURDIR:H}/config.mk"
7
8LIB=		tinfow
9SHLIB_MAJOR=	9
10
11NO_LINT=
12
13NCURSES_MAJOR!=	egrep 'NCURSES_MAJOR[ 	]*=' ${NCURSES_DIR}/dist.mk | sed -e 's%^[^0-9]*%%'
14NCURSES_MINOR!=	egrep 'NCURSES_MINOR[ 	]*=' ${NCURSES_DIR}/dist.mk | sed -e 's%^[^0-9]*%%'
15NCURSES_PATCH!=	egrep 'NCURSES_PATCH[ 	]*=' ${NCURSES_DIR}/dist.mk | sed -e 's%^[^0-9]*%%'
16
17# From autoconf (!)
18NCURSES_CH_T=		cchar_t
19NCURSES_OK_WCHAR_T=	1
20NEED_WCHAR_H=		1
21NCURSES_EXT_COLORS=	1
22NCURSES_EXT_FUNCS=	1
23NCURSES_CONST=		const
24NCURSES_INLINE=		inline
25NCURSES_LIBUTF8=	0
26NCURSES_MBSTATE_T=	0
27NCURSES_MOUSE_VERSION=	2
28NCURSES_INTEROP_FUNCS=	1
29NCURSES_OPAQUE=		0
30NCURSES_OPAQUE=		0
31NCURSES_OPAQUE_FORM=	0
32NCURSES_OPAQUE_MENU=	0
33NCURSES_OPAQUE_PANEL=	0
34NCURSES_OSPEED=		short
35NCURSES_SBOOL=		char
36NCURSES_SIZE_T=		short
37NCURSES_TPARM_VARARGS=	1
38NCURSES_WCHAR_T=	0
39NCURSES_WINT_T=		0
40NCURSES_XNAMES=		1
41NCURSES_WCWIDTH_GRAPHICS=	1
42NCURSES_WATTR_MACROS=	1
43NCURSES_TPARM_ARG=	intptr_t
44NCURSES_SP_FUNCS=	1
45BROKEN_LINKER=		0
46BUILTIN_BOOL=		1
47ENABLE_LP64=		1
48ENABLE_OPAQUE=		NCURSES_OPAQUE
49ENABLE_REENTRANT=	0
50HAVE_TCGETATTR=		1
51HAVE_TERMIOS_H=		1
52HAVE_TERMIO_H=		0
53HAVE_VSSCANF=		1
54HAVE_STDINT_H=		1
55HEADER_STDBOOL=		1
56HAVE_STDNORETURN_H=	0
57ENABLE_SIGWINCH=	1
58# XXX amd64 1L and int
59ONEUL=			1U
60TYPEOF_CHTYPE=		uint32_t
61TYPEOF_MMASK_T=		uint32_t
62TYPE_OF_BOOL=		unsigned char
63USE_BIG_STRINGS=	1
64USE_CXX_BOOL=		defined(__cplusplus)
65
66GENSRCS=	\
67	codes.c \
68	fallback.c \
69	lib_keyname.c \
70	names.c \
71	unctrl.c
72
73GENHDRS=	\
74	curses.h \
75	hashsize.h \
76	init_keytry.h \
77	ncurses_def.h \
78	ncurses_dll.h \
79	nomacros.h \
80	parametrized.h \
81	term.h \
82	termcap.h \
83	unctrl.h
84
85SRCS=	${GENHDRS} ${GENSRCS} ${SRCHDRS}
86
87.PATH: ${NCURSES_DIR}/ncurses/base
88SRCS+=	\
89	define_key.c \
90	key_defined.c \
91	keybound.c \
92	keyok.c \
93	tries.c \
94	version.c
95
96.PATH: ${NCURSES_DIR}/ncurses/tinfo
97SRCS+=	\
98	access.c \
99	add_tries.c \
100	alloc_entry.c \
101	alloc_ttype.c \
102	captoinfo.c \
103	comp_captab.c \
104	comp_error.c \
105	comp_expand.c \
106	comp_hash.c \
107	comp_parse.c \
108	comp_scan.c \
109	comp_userdefs.c \
110	db_iterator.c \
111	doalloc.c \
112	entries.c \
113	free_ttype.c \
114	getenv_num.c \
115	hashed_db.c \
116	home_terminfo.c \
117	init_keytry.c \
118	lib_acs.c \
119	lib_baudrate.c \
120	lib_cur_term.c \
121	lib_data.c \
122	lib_has_cap.c \
123	lib_kernel.c \
124	lib_longname.c \
125	lib_napms.c \
126	lib_options.c \
127	lib_raw.c \
128	lib_setup.c \
129	lib_termcap.c \
130	lib_termname.c \
131	lib_tgoto.c \
132	lib_ti.c \
133	lib_tparm.c \
134	lib_tputs.c \
135	lib_ttyflags.c \
136	name_match.c \
137	obsolete.c \
138	parse_entry.c \
139	read_entry.c \
140	read_termcap.c \
141	strings.c \
142	trim_sgr0.c \
143	write_entry.c
144
145.PATH: ${NCURSES_DIR}/ncurses/tty
146SRCS+=	\
147	lib_twait.c
148
149.PATH: ${NCURSES_DIR}/ncurses/trace
150SRCS+=	\
151	lib_trace.c \
152	visbuf.c
153
154# Currently unused, for debugging libncurses itself.
155DBGSRCS= \
156	lib_traceatr.c \
157	lib_tracebits.c \
158	lib_tracechr.c \
159	lib_tracedmp.c \
160	lib_tracemse.c \
161	trace_buf.c \
162	trace_tries.c \
163	trace_xnames.c \
164	varargs.c
165
166CLEANFILES=	${GENSRCS} ${GENHDRS} keys.list make_hash term.h.new \
167		make_keys MKterm.h.awk comp_captab.c curses.head
168
169CFLAGS+=	-DTERMIOS
170
171CWARNFLAGS.comp_parse.c= ${NO_WUNUSED_BUT_SET_VARIABLE}
172CWARNFLAGS.read_entry.c= ${NO_WUNUSED_BUT_SET_VARIABLE}
173
174# Installed
175HEADERS=	curses.h ncurses_dll.h term.h termcap.h unctrl.h
176SRCHDRS=
177
178INCS=		${HEADERS} ${SRCHDRS}
179INCSLINKS=	curses.h ${INCLUDEDIR}/ncurses.h
180
181.if ${MK_INSTALLLIB} != "no"
182SYMLINKS+=	libtinfow.a ${LIBDIR}/libtermcapw.a
183SYMLINKS+=	libtinfow.a ${LIBDIR}/libtermlibw.a
184# backward compat
185SYMLINKS+=	libtinfow.a ${LIBDIR}/libtermcap.a
186SYMLINKS+=	libtinfow.a ${LIBDIR}/libtermlib.a
187SYMLINKS+=	libtinfow.a ${LIBDIR}/libtinfo.a
188.endif
189.if !defined(NO_PIC)
190# no need for major at all, it's an ld-time redirection only
191SYMLINKS+=	libtinfow.so ${LIBDIR}/libtermcapw.so
192SYMLINKS+=	libtinfow.so ${LIBDIR}/libtermlibw.so
193# backward compat
194SYMLINKS+=	libtinfow.so ${LIBDIR}/libtermcap.so
195SYMLINKS+=	libtinfow.so ${LIBDIR}/libtermlib.so
196SYMLINKS+=	libtinfow.so ${LIBDIR}/libtinfo.so
197.endif
198.if ${MK_PROFILE} != "no"
199SYMLINKS+=	libtinfow_p.a ${LIBDIR}/libtermcapw_p.a
200SYMLINKS+=	libtinfow_p.a ${LIBDIR}/libtermlibw_p.a
201# backward compat
202SYMLINKS+=	libtinfow_p.a ${LIBDIR}/libtermcap_p.a
203SYMLINKS+=	libtinfow_p.a ${LIBDIR}/libtermlib_p.a
204SYMLINKS+=	libtinfow_p.a ${LIBDIR}/libtinfo_p.a
205.endif
206
207DOCSDIR=	${SHAREDIR}/doc/ncurses
208DOCS=		ncurses-intro.html hackguide.html
209
210.if ${MK_HTML} != "no"
211.PATH: ${NCURSES_DIR}/doc/html
212FILESGROUPS=	DOCS
213.endif
214
215# Generated source
216.ORDER: names.c codes.c
217
218# Serialize the build just a little bit; there's nothing stopping the build from
219# proceeding before ncurses_dll.h and curses.h are actually generated on a clean
220# build since we have no dependency information to prevent it.
221.ORDER: ncurses_dll.h curses.h
222.for f in ${SRCS:M*.c}
223.ORDER: curses.h ${f}
224.endfor
225
226names.c: MKnames.awk
227	${AWK} -f ${NCURSES_DIR}/ncurses/tinfo/MKnames.awk bigstrings=${USE_BIG_STRINGS} ${NCURSES_DIR}/include/Caps > names.c
228
229codes.c: MKcodes.awk
230	${AWK} -f ${NCURSES_DIR}/ncurses/tinfo/MKcodes.awk bigstrings=${USE_BIG_STRINGS} ${NCURSES_DIR}/include/Caps > codes.c
231
232lib_keyname.c: keys.list MKkeyname.awk
233	${AWK} -f ${NCURSES_DIR}/ncurses/base/MKkeyname.awk use_sigwinch=${ENABLE_SIGWINCH} \
234	    bigstrings=${USE_BIG_STRINGS} keys.list > lib_keyname.c
235
236unctrl.c: MKunctrl.awk
237	echo | ${AWK} -f ${NCURSES_DIR}/ncurses/base/MKunctrl.awk bigstrings=${USE_BIG_STRINGS} > unctrl.c
238
239comp_captab.c: MKcaptab.sh MKcaptab.awk Caps Caps-ncurses make_hash
240	env PATH=${BTOOLSPATH:U.}:${PATH} sh ${NCURSES_DIR}/ncurses/tinfo/MKcaptab.sh "${AWK}" \
241	    ${USE_BIG_STRINGS} ${NCURSES_DIR}/ncurses/tinfo/MKcaptab.awk \
242	    ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses > comp_captab.c
243
244fallback.c: MKfallback.sh
245	sh ${NCURSES_DIR}/ncurses/tinfo/MKfallback.sh "" "" "" > ${.TARGET}.tmp && \
246	    mv -f ${.TARGET}.tmp ${.TARGET}
247
248comp_userdefs.c: MKuserdefs.sh Caps Caps-ncurses make_hash
249	env PATH=${BTOOLSPATH:U.}:${PATH} sh ${NCURSES_DIR}/ncurses/tinfo/MKuserdefs.sh "${AWK}" \
250	    ${USE_BIG_STRINGS} ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses > ${.TARGET}
251
252# Generated headers
253nomacros.h: MKlib_gen.sh curses.h
254	LC_ALL=C sh ${NCURSES_DIR}/ncurses/base/MKlib_gen.sh "${CC:N${CCACHE_BIN}} -E ${CFLAGS}" \
255	    "${AWK}" generated < curses.h | fgrep undef > $@
256
257init_keytry.h: keys.list make_keys
258	${BTOOLSPATH:U.}/make_keys keys.list > init_keytry.h
259
260hashsize.h: MKhashsize.sh Caps Caps-ncurses
261	sh ${NCURSES_DIR}/include/MKhashsize.sh ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses > $@
262
263parametrized.h: MKparametrized.sh Caps Caps-ncurses
264	AWK=${AWK} sh ${NCURSES_DIR}/include/MKparametrized.sh \
265	    ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses > $@
266
267term.h: MKterm.h.awk edit_cfg.sh Caps Caps-ncurses
268	${AWK} -f MKterm.h.awk ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses > $@.new
269	sh ${NCURSES_DIR}/include/edit_cfg.sh ${NCURSES_CFG_H} $@.new
270	mv -f $@.new $@
271
272curses.h: curses.head MKkey_defs.sh Caps Caps-ncurses
273	cat curses.head > $@.new
274	AWK=${AWK} _POSIX2_VERSION=199209 sh ${NCURSES_DIR}/include/MKkey_defs.sh \
275	    ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses >> $@.new
276	cat ${NCURSES_DIR}/include/curses.wide >> $@.new
277	cat ${NCURSES_DIR}/include/curses.tail >> $@.new
278	mv -f $@.new $@
279
280# Generated intermediate files
281keys.list: MKkeys_list.sh Caps Caps-ncurses
282	AWK=${AWK} USE_SIGWINCH=${ENABLE_SIGWINCH} sh ${NCURSES_DIR}/ncurses/tinfo/MKkeys_list.sh \
283	    ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses | LC_ALL=C sort > keys.list
284
285.if ${MK_DIRDEPS_BUILD} == "yes" && ${MACHINE} != "host"
286# we need to override the default
287BTOOLSPATH= ${HOST_OBJTOP}/${RELDIR:S,w$,,}
288.endif
289.if ${MACHINE} == "host" || ${MK_DIRDEPS_BUILD} == "no"
290# Build tools
291DEPENDOBJS+= make_hash make_keys
292build-tools: make_hash make_keys
293
294make_keys: make_keys.c names.c ncurses_def.h ${HEADERS} ${BUILD_TOOLS_META}
295	${CC:N${CCACHE_BIN}} -o $@ ${CFLAGS} ${NCURSES_DIR}/ncurses/tinfo/make_keys.c
296
297make_hash: make_hash.c hashsize.h ncurses_def.h ${HEADERS} ${BUILD_TOOLS_META}
298	${CC:N${CCACHE_BIN}} -o $@ ${CFLAGS} -DMAIN_PROGRAM \
299		${NCURSES_DIR}/ncurses/tinfo/make_hash.c
300.endif
301.if ${MK_DIRDEPS_BUILD} == "yes" && ${MACHINE} != "host"
302make_keys: ${BTOOLSPATH}/make_keys
303	${LN:Uln} -sf ${.ALLSRC} ${.TARGET}
304
305make_hash: ${BTOOLSPATH}/make_hash
306	${LN:Uln} -sf ${.ALLSRC} ${.TARGET}
307.endif
308
309# ./configure generated
310MKterm.h.awk: MKterm.h.awk.in
311	sed <${NCURSES_DIR}/include/MKterm.h.awk.in >$@ \
312	    -e "/@BROKEN_LINKER@/s%%${BROKEN_LINKER}%" \
313	    -e "s%@NCURSES_USE_DATABASE@%1%g" \
314	    -e "s%@NCURSES_USE_TERMCAP@%1%g" \
315	    -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
316	    -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%" \
317	    -e "/@NCURSES_CONST@/s%%${NCURSES_CONST}%" \
318	    -e "/@NCURSES_TPARM_VARARGS@/s%%${NCURSES_TPARM_VARARGS}%" \
319	    -e "/@NCURSES_SBOOL@/s%%${NCURSES_SBOOL}%" \
320	    -e "/@NCURSES_XNAMES@/s%%${NCURSES_XNAMES}%" \
321	    -e "/@NCURSES_EXT_COLORS@/s%%${NCURSES_EXT_COLORS}%" \
322	    -e "/@HAVE_TERMIOS_H@/s%%${HAVE_TERMIOS_H}%" \
323	    -e "/@HAVE_TERMIO_H@/s%%${HAVE_TERMIO_H}%" \
324	    -e "/@HAVE_TCGETATTR@/s%%${HAVE_TCGETATTR}%" \
325	    -e "s%@cf_cv_enable_reentrant@%${ENABLE_REENTRANT}%g" \
326	    -e "s%@NCURSES_SP_FUNCS@%1%" \
327	    -e "s%@NCURSES_PATCH@%${NCURSES_PATCH}%"
328
329termcap.h: termcap.h.in
330	sed <${NCURSES_DIR}/include/termcap.h.in >$@ \
331	    -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
332	    -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%" \
333	    -e "/@NCURSES_CONST@/s%%${NCURSES_CONST}%" \
334	    -e "/@NCURSES_OSPEED@/s%%${NCURSES_OSPEED}%"
335
336ncurses_dll.h: ncurses_dll.h.in
337	sed <${NCURSES_DIR}/include/ncurses_dll.h.in >$@ \
338	    -e "s%@NCURSES_WRAP_PREFIX@%_nc_%g"
339
340curses.head: curses.h.in
341	sed <${NCURSES_DIR}/include/curses.h.in >$@ \
342	    -e "/@BROKEN_LINKER@/s%%${BROKEN_LINKER}%" \
343	    -e "/@HAVE_VSSCANF@/s%%${HAVE_VSSCANF}%" \
344	    -e "/@HAVE_STDINT_H@/s%%${HAVE_STDINT_H}%" \
345	    -e "/@HAVE_STDNORETURN_H@/s%%${HAVE_STDNORETURN_H}%" \
346	    -e "/@NCURSES_CH_T@/s%%${NCURSES_CH_T}%" \
347	    -e "/@NCURSES_CONST@/s%%${NCURSES_CONST}%" \
348	    -e "/@NCURSES_EXT_COLORS@/s%%${NCURSES_EXT_COLORS}%" \
349	    -e "/@NCURSES_EXT_FUNCS@/s%%${NCURSES_EXT_FUNCS}%" \
350	    -e "/@NCURSES_INLINE@/s%%${NCURSES_INLINE}%" \
351	    -e "/@NCURSES_LIBUTF8@/s%%${NCURSES_LIBUTF8}%" \
352	    -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
353	    -e "/@NCURSES_MBSTATE_T@/s%%${NCURSES_MBSTATE_T}%" \
354	    -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%" \
355	    -e "/@NCURSES_MOUSE_VERSION@/s%%${NCURSES_MOUSE_VERSION}%" \
356	    -e "/@NCURSES_XNAMES@/s%%${NCURSES_XNAMES}%" \
357	    -e "/@NCURSES_OK_WCHAR_T@/s%%${NCURSES_OK_WCHAR_T}%" \
358	    -e "/@NCURSES_OPAQUE@/s%%${NCURSES_OPAQUE}%" \
359	    -e "/@NCURSES_OPAQUE_FORM@/s%%${NCURSES_OPAQUE_FORM}%" \
360	    -e "/@NCURSES_OPAQUE_MENU@/s%%${NCURSES_OPAQUE_MENU}%" \
361	    -e "/@NCURSES_OPAQUE_PANEL@/s%%${NCURSES_OPAQUE_PANEL}%" \
362	    -e "/@NCURSES_PATCH@/s%%${NCURSES_PATCH}%" \
363	    -e "/@NCURSES_SIZE_T@/s%%${NCURSES_SIZE_T}%" \
364	    -e "/@NCURSES_TPARM_VARARGS@/s%%${NCURSES_TPARM_VARARGS}%" \
365	    -e "/@NCURSES_WATTR_MACROS@/s%%${NCURSES_WATTR_MACROS}%"\
366	    -e "/@NCURSES_WCHAR_T@/s%%${NCURSES_WCHAR_T}%" \
367	    -e "/@NCURSES_WCHAR_T@/s%%${NCURSES_WCHAR_T}%" \
368	    -e "/@NCURSES_WCWIDTH_GRAPHICS@/s%%${NCURSES_WCWIDTH_GRAPHICS}%g" \
369	    -e "/@NCURSES_WINT_T@/s%%${NCURSES_WINT_T}%" \
370	    -e "/@NCURSES_INTEROP_FUNCS@/s%%${NCURSES_INTEROP_FUNCS}%g" \
371	    -e "/@NCURSES_TPARM_ARG@/s%%${NCURSES_TPARM_ARG}%g" \
372	    -e "/@NCURSES_SP_FUNCS@/s%%${NCURSES_SP_FUNCS}%g" \
373	    -e "/@NEED_WCHAR_H@/s%%${NEED_WCHAR_H}%" \
374	    -e "/@USE_CXX_BOOL@/s%%${USE_CXX_BOOL}%" \
375	    -e "/@GENERATED_EXT_FUNCS@/s%%generated%g" \
376	    -e "s%@NCURSES_CCHARW_MAX@%5%g" \
377	    -e "s%@cf_cv_1UL@%${ONEUL}%g" \
378	    -e "s%@cf_cv_builtin_bool@%${BUILTIN_BOOL}%g" \
379	    -e "s%@cf_cv_enable_lp64@%${ENABLE_LP64}%g" \
380	    -e "s%@cf_cv_enable_opaque@%${ENABLE_OPAQUE}%g" \
381	    -e "s%@cf_cv_enable_reentrant@%${ENABLE_REENTRANT}%g" \
382	    -e "s%@cf_cv_enable_sigwinch@%${ENABLE_SIGWINCH}%g" \
383	    -e "s%@cf_cv_header_stdbool_h@%${HEADER_STDBOOL}%g" \
384	    -e "s%@cf_cv_type_of_bool@%${TYPE_OF_BOOL}%g" \
385	    -e "s%@cf_cv_typeof_chtype@%${TYPEOF_CHTYPE}%g" \
386	    -e "s%@cf_cv_typeof_mmask_t@%${TYPEOF_MMASK_T}%g" \
387	    -e "s/ _WCHAR_T/ __wchar_t/g" \
388	    -e "s/ _WINT_T/ __wint_t/g"
389
390unctrl.h: unctrl.h.in
391	sed <${NCURSES_DIR}/include/$@.in >$@ \
392	    -e "s%@NCURSES_SP_FUNCS@%${NCURSES_SP_FUNCS}%g" \
393	    -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
394	    -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%"
395
396# MAN page gunk
397terminfo.5: MKterminfo.sh terminfo.head Caps
398	sh ${NCURSES_DIR}/man/MKterminfo.sh ${NCURSES_DIR}/man/terminfo.head \
399	    ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/man/terminfo.tail >$@
400
401CLEANFILES+=	terminfo.5
402
403.PATH: ${NCURSES_DIR}/man
404MAN=	\
405	curs_addch.3 \
406	curs_addchstr.3 \
407	curs_addstr.3 \
408	curs_attr.3 \
409	curs_beep.3 \
410	curs_bkgd.3 \
411	curs_bkgrnd.3 \
412	curs_border.3 \
413	curs_border_set.3 \
414	curs_clear.3 \
415	curs_color.3 \
416	curs_delch.3 \
417	curs_deleteln.3 \
418	curs_extend.3 \
419	curs_getcchar.3 \
420	curs_getch.3 \
421	curs_getstr.3 \
422	curs_getyx.3 \
423	curs_inch.3 \
424	curs_inchstr.3 \
425	curs_initscr.3 \
426	curs_inopts.3 \
427	curs_insch.3 \
428	curs_insstr.3 \
429	curs_instr.3 \
430	curs_inwstr.3 \
431	curs_kernel.3 \
432	curs_legacy.3 \
433	curs_memleaks.3 \
434	curs_mouse.3 \
435	curs_move.3 \
436	curs_opaque.3 \
437	curs_outopts.3 \
438	curs_overlay.3 \
439	curs_pad.3 \
440	curs_print.3 \
441	curs_refresh.3 \
442	curs_scr_dump.3 \
443	curs_scroll.3 \
444	curs_slk.3 \
445	curs_sp_funcs.3 \
446	curs_termattrs.3 \
447	curs_termcap.3 \
448	curs_terminfo.3 \
449	curs_threads.3 \
450	curs_touch.3 \
451	curs_trace.3 \
452	curs_util.3 \
453	curs_variables.3 \
454	curs_window.3 \
455	default_colors.3 \
456	define_key.3 \
457	key_defined.3 \
458	keybound.3 \
459	keyok.3 \
460	legacy_coding.3 \
461	ncurses.3 \
462	new_pair.3 \
463	resizeterm.3 \
464	term_variables.3 \
465	wresize.3
466
467MAN+=	\
468	curs_add_wch.3 \
469	curs_add_wchstr.3 \
470	curs_addwstr.3 \
471	curs_get_wch.3 \
472	curs_get_wstr.3 \
473	curs_in_wch.3 \
474	curs_in_wchstr.3 \
475	curs_ins_wch.3 \
476	curs_ins_wstr.3 \
477	curs_printw.3 \
478	curs_scanw.3
479
480MAN+=	term.5 terminfo.5 scr_dump.5 user_caps.5
481MAN+=	term.7
482
483CLEANFILES+=	${MAN:M*.3}
484
485MLINKS=	ncurses.3 curses.3 \
486	curs_addch.3 addch.3 \
487	curs_addch.3 echochar.3 \
488	curs_addch.3 mvaddch.3 \
489	curs_addch.3 mvwaddch.3 \
490	curs_addch.3 waddch.3 \
491	curs_addch.3 wechochar.3 \
492	curs_addchstr.3 addchnstr.3 \
493	curs_addchstr.3 addchstr.3 \
494	curs_addchstr.3 mvaddchnstr.3 \
495	curs_addchstr.3 mvaddchstr.3 \
496	curs_addchstr.3 mvwaddchnstr.3 \
497	curs_addchstr.3 mvwaddchstr.3 \
498	curs_addchstr.3 waddchnstr.3 \
499	curs_addchstr.3 waddchstr.3 \
500	curs_addstr.3 addnstr.3 \
501	curs_addstr.3 addstr.3 \
502	curs_addstr.3 mvaddnstr.3 \
503	curs_addstr.3 mvaddstr.3 \
504	curs_addstr.3 mvwaddnstr.3 \
505	curs_addstr.3 mvwaddstr.3 \
506	curs_addstr.3 waddnstr.3 \
507	curs_addstr.3 waddstr.3 \
508	curs_attr.3 PAIR_NUMBER.3 \
509	curs_attr.3 attr_get.3 \
510	curs_attr.3 attr_off.3 \
511	curs_attr.3 attr_on.3 \
512	curs_attr.3 attr_set.3 \
513	curs_attr.3 attroff.3 \
514	curs_attr.3 attron.3 \
515	curs_attr.3 attrset.3 \
516	curs_attr.3 chgat.3 \
517	curs_attr.3 color_set.3 \
518	curs_attr.3 mvchgat.3 \
519	curs_attr.3 mvwchgat.3 \
520	curs_attr.3 standend.3 \
521	curs_attr.3 standout.3 \
522	curs_attr.3 wattr_get.3 \
523	curs_attr.3 wattr_off.3 \
524	curs_attr.3 wattr_on.3 \
525	curs_attr.3 wattr_set.3 \
526	curs_attr.3 wattroff.3 \
527	curs_attr.3 wattron.3 \
528	curs_attr.3 wattrset.3 \
529	curs_attr.3 wchgat.3 \
530	curs_attr.3 wcolor_set.3 \
531	curs_attr.3 wstandend.3 \
532	curs_attr.3 wstandout.3 \
533	curs_beep.3 beep.3 \
534	curs_beep.3 flash.3 \
535	curs_bkgd.3 bkgd.3 \
536	curs_bkgd.3 bkgdset.3 \
537	curs_bkgd.3 getbkgd.3 \
538	curs_bkgd.3 wbkgd.3 \
539	curs_bkgd.3 wbkgdset.3 \
540	curs_bkgrnd.3 bkgrnd.3 \
541	curs_bkgrnd.3 bkgrndset.3 \
542	curs_bkgrnd.3 getbkgrnd.3 \
543	curs_bkgrnd.3 wbkgrnd.3 \
544	curs_bkgrnd.3 wbkgrndset.3 \
545	curs_bkgrnd.3 wgetbkgrnd.3 \
546	curs_border.3 border.3 \
547	curs_border.3 box.3 \
548	curs_border.3 hline.3 \
549	curs_border.3 mvhline.3 \
550	curs_border.3 mvvline.3 \
551	curs_border.3 mvwhline.3 \
552	curs_border.3 mvwvline.3 \
553	curs_border.3 vline.3 \
554	curs_border.3 wborder.3 \
555	curs_border.3 whline.3 \
556	curs_border.3 wvline.3 \
557	curs_border_set.3 border_set.3 \
558	curs_border_set.3 box_set.3 \
559	curs_border_set.3 hline_set.3 \
560	curs_border_set.3 mvhline_set.3 \
561	curs_border_set.3 mvvline_set.3 \
562	curs_border_set.3 mvwhline_set.3 \
563	curs_border_set.3 mvwvline_set.3 \
564	curs_border_set.3 vline_set.3 \
565	curs_border_set.3 wborder_set.3 \
566	curs_border_set.3 whline_set.3 \
567	curs_border_set.3 wvline_set.3 \
568	curs_clear.3 clear.3 \
569	curs_clear.3 clrtobot.3 \
570	curs_clear.3 clrtoeol.3 \
571	curs_clear.3 erase.3 \
572	curs_clear.3 wclear.3 \
573	curs_clear.3 wclrtobot.3 \
574	curs_clear.3 wclrtoeol.3 \
575	curs_clear.3 werase.3 \
576	curs_color.3 COLOR_PAIR.3 \
577	curs_color.3 can_change_color.3 \
578	curs_color.3 color_content.3 \
579	curs_color.3 has_colors.3 \
580	curs_color.3 init_color.3 \
581	curs_color.3 init_pair.3 \
582	curs_color.3 pair_content.3 \
583	curs_color.3 start_color.3 \
584	curs_delch.3 delch.3 \
585	curs_delch.3 mvdelch.3 \
586	curs_delch.3 mvwdelch.3 \
587	curs_delch.3 wdelch.3 \
588	curs_deleteln.3 deleteln.3 \
589	curs_deleteln.3 insdelln.3 \
590	curs_deleteln.3 insertln.3 \
591	curs_deleteln.3 wdeleteln.3 \
592	curs_deleteln.3 winsdelln.3 \
593	curs_deleteln.3 winsertln.3 \
594	curs_extend.3 curses_version.3 \
595	curs_extend.3 use_extended_names.3 \
596	curs_getcchar.3 getcchar.3 \
597	curs_getcchar.3 setcchar.3 \
598	curs_getch.3 getch.3 \
599	curs_getch.3 has_key.3 \
600	curs_getch.3 mvgetch.3 \
601	curs_getch.3 mvwgetch.3 \
602	curs_getch.3 ungetch.3 \
603	curs_getch.3 wgetch.3 \
604	curs_getstr.3 getnstr.3 \
605	curs_getstr.3 getstr.3 \
606	curs_getstr.3 mvgetnstr.3 \
607	curs_getstr.3 mvgetstr.3 \
608	curs_getstr.3 mvwgetnstr.3 \
609	curs_getstr.3 mvwgetstr.3 \
610	curs_getstr.3 wgetnstr.3 \
611	curs_getstr.3 wgetstr.3 \
612	curs_getyx.3 getbegyx.3 \
613	curs_getyx.3 getmaxyx.3 \
614	curs_getyx.3 getparyx.3 \
615	curs_getyx.3 getyx.3 \
616	curs_inch.3 inch.3 \
617	curs_inch.3 mvinch.3 \
618	curs_inch.3 mvwinch.3 \
619	curs_inch.3 winch.3 \
620	curs_inchstr.3 inchnstr.3 \
621	curs_inchstr.3 inchstr.3 \
622	curs_inchstr.3 mvinchnstr.3 \
623	curs_inchstr.3 mvinchstr.3 \
624	curs_inchstr.3 mvwinchnstr.3 \
625	curs_inchstr.3 mvwinchstr.3 \
626	curs_inchstr.3 winchnstr.3 \
627	curs_inchstr.3 winchstr.3 \
628	curs_initscr.3 delscreen.3 \
629	curs_initscr.3 endwin.3 \
630	curs_initscr.3 initscr.3 \
631	curs_initscr.3 isendwin.3 \
632	curs_initscr.3 newterm.3 \
633	curs_initscr.3 set_term.3 \
634	curs_inopts.3 cbreak.3 \
635	curs_inopts.3 echo.3 \
636	curs_inopts.3 halfdelay.3 \
637	curs_inopts.3 intrflush.3 \
638	curs_inopts.3 keypad.3 \
639	curs_inopts.3 meta.3 \
640	curs_inopts.3 nocbreak.3 \
641	curs_inopts.3 nodelay.3 \
642	curs_inopts.3 noecho.3 \
643	curs_inopts.3 noqiflush.3 \
644	curs_inopts.3 noraw.3 \
645	curs_inopts.3 notimeout.3 \
646	curs_inopts.3 qiflush.3 \
647	curs_inopts.3 raw.3 \
648	curs_inopts.3 timeout.3 \
649	curs_inopts.3 typeahead.3 \
650	curs_inopts.3 wtimeout.3 \
651	curs_insch.3 insch.3 \
652	curs_insch.3 mvinsch.3 \
653	curs_insch.3 mvwinsch.3 \
654	curs_insch.3 winsch.3 \
655	curs_insstr.3 insnstr.3 \
656	curs_insstr.3 insstr.3 \
657	curs_insstr.3 mvinsnstr.3 \
658	curs_insstr.3 mvinsstr.3 \
659	curs_insstr.3 mvwinsnstr.3 \
660	curs_insstr.3 mvwinsstr.3 \
661	curs_insstr.3 winsnstr.3 \
662	curs_insstr.3 winsstr.3 \
663	curs_instr.3 innstr.3 \
664	curs_instr.3 instr.3 \
665	curs_instr.3 mvinnstr.3 \
666	curs_instr.3 mvinstr.3 \
667	curs_instr.3 mvwinnstr.3 \
668	curs_instr.3 mvwinstr.3 \
669	curs_instr.3 winnstr.3 \
670	curs_instr.3 winstr.3 \
671	curs_kernel.3 curs_set.3 \
672	curs_kernel.3 def_prog_mode.3 \
673	curs_kernel.3 def_shell_mode.3 \
674	curs_kernel.3 getsyx.3 \
675	curs_kernel.3 napms.3 \
676	curs_kernel.3 reset_prog_mode.3 \
677	curs_kernel.3 reset_shell_mode.3 \
678	curs_kernel.3 resetty.3 \
679	curs_kernel.3 ripoffline.3 \
680	curs_kernel.3 savetty.3 \
681	curs_kernel.3 setsyx.3 \
682	curs_legacy.3 getbegx.3 \
683	curs_legacy.3 getbegy.3 \
684	curs_legacy.3 getcurx.3 \
685	curs_legacy.3 getcury.3 \
686	curs_legacy.3 getmaxx.3 \
687	curs_legacy.3 getmaxy.3 \
688	curs_legacy.3 getparx.3 \
689	curs_legacy.3 getpary.3 \
690	curs_memleaks.3 _nc_free_and_exit.3 \
691	curs_memleaks.3 _nc_freeall.3 \
692	curs_mouse.3 getmouse.3 \
693	curs_mouse.3 mouse_trafo.3 \
694	curs_mouse.3 mouseinterval.3 \
695	curs_mouse.3 mousemask.3 \
696	curs_mouse.3 ungetmouse.3 \
697	curs_mouse.3 wenclose.3 \
698	curs_mouse.3 wmouse_trafo.3 \
699	curs_move.3 move.3 \
700	curs_move.3 wmove.3 \
701	curs_opaque.3 is_cleared.3 \
702	curs_opaque.3 is_idcok.3 \
703	curs_opaque.3 is_idlok.3 \
704	curs_opaque.3 is_immedok.3 \
705	curs_opaque.3 is_keypad.3 \
706	curs_opaque.3 is_leaveok.3 \
707	curs_opaque.3 is_nodelay.3 \
708	curs_opaque.3 is_notimeout.3 \
709	curs_opaque.3 is_scrollok.3 \
710	curs_opaque.3 is_syncok.3 \
711	curs_opaque.3 is_timeout.3 \
712	curs_opaque.3 wgetparent.3 \
713	curs_opaque.3 wgetscrreg.3 \
714	curs_outopts.3 clearok.3 \
715	curs_outopts.3 idcok.3 \
716	curs_outopts.3 idlok.3 \
717	curs_outopts.3 immedok.3 \
718	curs_outopts.3 leaveok.3 \
719	curs_outopts.3 nl.3 \
720	curs_outopts.3 nonl.3 \
721	curs_outopts.3 scrollok.3 \
722	curs_outopts.3 setscrreg.3 \
723	curs_outopts.3 wsetscrreg.3 \
724	curs_overlay.3 copywin.3 \
725	curs_overlay.3 overlay.3 \
726	curs_overlay.3 overwrite.3 \
727	curs_pad.3 newpad.3 \
728	curs_pad.3 pecho_wchar.3 \
729	curs_pad.3 pechochar.3 \
730	curs_pad.3 pnoutrefresh.3 \
731	curs_pad.3 prefresh.3 \
732	curs_pad.3 subpad.3 \
733	curs_print.3 mcprint.3 \
734	curs_refresh.3 doupdate.3 \
735	curs_refresh.3 redrawwin.3 \
736	curs_refresh.3 refresh.3 \
737	curs_refresh.3 wnoutrefresh.3 \
738	curs_refresh.3 wredrawln.3 \
739	curs_refresh.3 wrefresh.3 \
740	curs_scr_dump.3 scr_dump.3 \
741	curs_scr_dump.3 scr_init.3 \
742	curs_scr_dump.3 scr_restore.3 \
743	curs_scr_dump.3 scr_set.3 \
744	curs_scroll.3 scrl.3 \
745	curs_scroll.3 scroll.3 \
746	curs_scroll.3 wscrl.3 \
747	curs_slk.3 slk_attr.3 \
748	curs_slk.3 slk_attr_off.3 \
749	curs_slk.3 slk_attr_on.3 \
750	curs_slk.3 slk_attr_set.3 \
751	curs_slk.3 slk_attroff.3 \
752	curs_slk.3 slk_attron.3 \
753	curs_slk.3 slk_attrset.3 \
754	curs_slk.3 slk_clear.3 \
755	curs_slk.3 slk_color.3 \
756	curs_slk.3 slk_init.3 \
757	curs_slk.3 slk_label.3 \
758	curs_slk.3 slk_noutrefresh.3 \
759	curs_slk.3 slk_refresh.3 \
760	curs_slk.3 slk_restore.3 \
761	curs_slk.3 slk_set.3 \
762	curs_slk.3 slk_touch.3 \
763	curs_sp_funcs.3 sp_funcs.3 \
764	curs_sp_funcs.3 assume_default_colors_sp.3 \
765	curs_sp_funcs.3 baudrate_sp.3 \
766	curs_sp_funcs.3 beep_sp.3 \
767	curs_sp_funcs.3 can_change_color_sp.3 \
768	curs_sp_funcs.3 cbreak_sp.3 \
769	curs_sp_funcs.3 ceiling_panel.3 \
770	curs_sp_funcs.3 color_content_sp.3 \
771	curs_sp_funcs.3 curs_set_sp.3 \
772	curs_sp_funcs.3 def_prog_mode_sp.3 \
773	curs_sp_funcs.3 def_shell_mode_sp.3 \
774	curs_sp_funcs.3 define_key_sp.3 \
775	curs_sp_funcs.3 del_curterm_sp.3 \
776	curs_sp_funcs.3 delay_output_sp.3 \
777	curs_sp_funcs.3 doupdate_sp.3 \
778	curs_sp_funcs.3 echo_sp.3 \
779	curs_sp_funcs.3 endwin_sp.3 \
780	curs_sp_funcs.3 erasechar_sp.3 \
781	curs_sp_funcs.3 filter_sp.3 \
782	curs_sp_funcs.3 flash_sp.3 \
783	curs_sp_funcs.3 flushinp_sp.3 \
784	curs_sp_funcs.3 get_escdelay_sp.3 \
785	curs_sp_funcs.3 getmouse_sp.3 \
786	curs_sp_funcs.3 getwin_sp.3 \
787	curs_sp_funcs.3 ground_panel.3 \
788	curs_sp_funcs.3 halfdelay_sp.3 \
789	curs_sp_funcs.3 has_colors_sp.3 \
790	curs_sp_funcs.3 has_ic_sp.3 \
791	curs_sp_funcs.3 has_il_sp.3 \
792	curs_sp_funcs.3 has_key_sp.3 \
793	curs_sp_funcs.3 has_mouse_sp.3 \
794	curs_sp_funcs.3 init_color_sp.3 \
795	curs_sp_funcs.3 init_pair_sp.3 \
796	curs_sp_funcs.3 intrflush_sp.3 \
797	curs_sp_funcs.3 is_term_resized_sp.3 \
798	curs_sp_funcs.3 isendwin_sp.3 \
799	curs_sp_funcs.3 key_defined_sp.3 \
800	curs_sp_funcs.3 keybound_sp.3 \
801	curs_sp_funcs.3 keyname_sp.3 \
802	curs_sp_funcs.3 keyok_sp.3 \
803	curs_sp_funcs.3 killchar_sp.3 \
804	curs_sp_funcs.3 mcprint_sp.3 \
805	curs_sp_funcs.3 mouseinterval_sp.3 \
806	curs_sp_funcs.3 mousemask_sp.3 \
807	curs_sp_funcs.3 mvcur_sp.3 \
808	curs_sp_funcs.3 napms_sp.3 \
809	curs_sp_funcs.3 new_form_sp.3 \
810	curs_sp_funcs.3 new_menu_sp.3 \
811	curs_sp_funcs.3 new_prescr.3 \
812	curs_sp_funcs.3 newpad_sp.3 \
813	curs_sp_funcs.3 newterm_sp.3 \
814	curs_sp_funcs.3 newwin_sp.3 \
815	curs_sp_funcs.3 nl_sp.3 \
816	curs_sp_funcs.3 nocbreak_sp.3 \
817	curs_sp_funcs.3 noecho_sp.3 \
818	curs_sp_funcs.3 nofilter_sp.3 \
819	curs_sp_funcs.3 nonl_sp.3 \
820	curs_sp_funcs.3 noqiflush_sp.3 \
821	curs_sp_funcs.3 noraw_sp.3 \
822	curs_sp_funcs.3 pair_content_sp.3 \
823	curs_sp_funcs.3 putp_sp.3 \
824	curs_sp_funcs.3 qiflush_sp.3 \
825	curs_sp_funcs.3 raw_sp.3 \
826	curs_sp_funcs.3 reset_prog_mode_sp.3 \
827	curs_sp_funcs.3 reset_shell_mode_sp.3 \
828	curs_sp_funcs.3 resetty_sp.3 \
829	curs_sp_funcs.3 resize_term_sp.3 \
830	curs_sp_funcs.3 resizeterm_sp.3 \
831	curs_sp_funcs.3 restartterm_sp.3 \
832	curs_sp_funcs.3 ripoffline_sp.3 \
833	curs_sp_funcs.3 savetty_sp.3 \
834	curs_sp_funcs.3 scr_init_sp.3 \
835	curs_sp_funcs.3 scr_restore_sp.3 \
836	curs_sp_funcs.3 scr_set_sp.3 \
837	curs_sp_funcs.3 set_curterm_sp.3 \
838	curs_sp_funcs.3 set_escdelay_sp.3 \
839	curs_sp_funcs.3 set_tabsize_sp.3 \
840	curs_sp_funcs.3 slk_attr_set_sp.3 \
841	curs_sp_funcs.3 slk_attr_sp.3 \
842	curs_sp_funcs.3 slk_attroff_sp.3 \
843	curs_sp_funcs.3 slk_attron_sp.3 \
844	curs_sp_funcs.3 slk_attrset_sp.3 \
845	curs_sp_funcs.3 slk_clear_sp.3 \
846	curs_sp_funcs.3 slk_color_sp.3 \
847	curs_sp_funcs.3 slk_init_sp.3 \
848	curs_sp_funcs.3 slk_label_sp.3 \
849	curs_sp_funcs.3 slk_noutrefresh_sp.3 \
850	curs_sp_funcs.3 slk_refresh_sp.3 \
851	curs_sp_funcs.3 slk_restore_sp.3 \
852	curs_sp_funcs.3 slk_set_sp.3 \
853	curs_sp_funcs.3 slk_touch_sp.3 \
854	curs_sp_funcs.3 start_color_sp.3 \
855	curs_sp_funcs.3 term_attrs_sp.3 \
856	curs_sp_funcs.3 termattrs_sp.3 \
857	curs_sp_funcs.3 termname_sp.3 \
858	curs_sp_funcs.3 tgetent_sp.3 \
859	curs_sp_funcs.3 tgetflag_sp.3 \
860	curs_sp_funcs.3 tgetnum_sp.3 \
861	curs_sp_funcs.3 tgetstr_sp.3 \
862	curs_sp_funcs.3 tigetflag_sp.3 \
863	curs_sp_funcs.3 tigetnum_sp.3 \
864	curs_sp_funcs.3 tigetstr_sp.3 \
865	curs_sp_funcs.3 tputs_sp.3 \
866	curs_sp_funcs.3 typeahead_sp.3 \
867	curs_sp_funcs.3 unctrl_sp.3 \
868	curs_sp_funcs.3 unget_wch_sp.3 \
869	curs_sp_funcs.3 ungetch_sp.3 \
870	curs_sp_funcs.3 ungetmouse_sp.3 \
871	curs_sp_funcs.3 update_panels_sp.3 \
872	curs_sp_funcs.3 use_default_colors_sp.3 \
873	curs_sp_funcs.3 use_env_sp.3 \
874	curs_sp_funcs.3 use_legacy_coding_sp.3 \
875	curs_sp_funcs.3 vid_attr_sp.3 \
876	curs_sp_funcs.3 vid_puts_sp.3 \
877	curs_sp_funcs.3 vidattr_sp.3 \
878	curs_sp_funcs.3 vidputs_sp.3 \
879	curs_sp_funcs.3 wunctrl_sp.3 \
880	curs_termattrs.3 baudrate.3 \
881	curs_termattrs.3 erasechar.3 \
882	curs_termattrs.3 erasewchar.3 \
883	curs_termattrs.3 has_ic.3 \
884	curs_termattrs.3 has_il.3 \
885	curs_termattrs.3 killchar.3 \
886	curs_termattrs.3 killwchar.3 \
887	curs_termattrs.3 longname.3 \
888	curs_termattrs.3 term_attrs.3 \
889	curs_termattrs.3 termattrs.3 \
890	curs_termattrs.3 termname.3 \
891	curs_termcap.3 termcap.3 \
892	curs_termcap.3 tgetent.3 \
893	curs_termcap.3 tgetflag.3 \
894	curs_termcap.3 tgetnum.3 \
895	curs_termcap.3 tgetstr.3 \
896	curs_termcap.3 tgoto.3 \
897	curs_termcap.3 tputs.3 \
898	curs_terminfo.3 del_curterm.3 \
899	curs_terminfo.3 mvcur.3 \
900	curs_terminfo.3 putp.3 \
901	curs_terminfo.3 restartterm.3 \
902	curs_terminfo.3 set_curterm.3 \
903	curs_terminfo.3 setterm.3 \
904	curs_terminfo.3 setupterm.3 \
905	curs_terminfo.3 tigetflag.3 \
906	curs_terminfo.3 tigetnum.3 \
907	curs_terminfo.3 tigetstr.3 \
908	curs_terminfo.3 tparm.3 \
909	curs_terminfo.3 vid_attr.3 \
910	curs_terminfo.3 vid_puts.3 \
911	curs_terminfo.3 vidattr.3 \
912	curs_terminfo.3 vidputs.3 \
913	curs_threads.3 set_escdelay.3 \
914	curs_threads.3 set_tabsize.3 \
915	curs_threads.3 use_screen.3 \
916	curs_threads.3 use_window.3 \
917	curs_touch.3 is_linetouched.3 \
918	curs_touch.3 is_wintouched.3 \
919	curs_touch.3 touchline.3 \
920	curs_touch.3 touchwin.3 \
921	curs_touch.3 untouchwin.3 \
922	curs_touch.3 wtouchln.3 \
923	curs_trace.3 _nc_tracebits.3 \
924	curs_trace.3 _traceattr.3 \
925	curs_trace.3 _traceattr2.3 \
926	curs_trace.3 _tracechar.3 \
927	curs_trace.3 _tracechtype.3 \
928	curs_trace.3 _tracechtype2.3 \
929	curs_trace.3 _tracedump.3 \
930	curs_trace.3 _tracef.3 \
931	curs_trace.3 _tracemouse.3 \
932	curs_trace.3 trace.3 \
933	curs_util.3 delay_output.3 \
934	curs_util.3 filter.3 \
935	curs_util.3 flushinp.3 \
936	curs_util.3 getwin.3 \
937	curs_util.3 key_name.3 \
938	curs_util.3 keyname.3 \
939	curs_util.3 nofilter.3 \
940	curs_util.3 putwin.3 \
941	curs_util.3 unctrl.3 \
942	curs_util.3 use_env.3 \
943	curs_util.3 wunctrl.3 \
944	curs_window.3 delwin.3 \
945	curs_window.3 derwin.3 \
946	curs_window.3 dupwin.3 \
947	curs_window.3 mvderwin.3 \
948	curs_window.3 mvwin.3 \
949	curs_window.3 newwin.3 \
950	curs_window.3 subwin.3 \
951	curs_window.3 syncok.3 \
952	curs_window.3 wcursyncup.3 \
953	curs_window.3 wsyncdown.3 \
954	curs_window.3 wsyncup.3 \
955	default_colors.3 assume_default_colors.3 \
956	default_colors.3 use_default_colors.3 \
957	legacy_coding.3 use_legacy_coding.3 \
958	resizeterm.3 is_term_resized.3 \
959	resizeterm.3 resize_term.3
960
961MLINKS+=curs_add_wch.3 add_wch.3 \
962	curs_add_wch.3 echo_wchar.3 \
963	curs_add_wch.3 mvadd_wch.3 \
964	curs_add_wch.3 mvwadd_wch.3 \
965	curs_add_wch.3 wadd_wch.3 \
966	curs_add_wch.3 wecho_wchar.3 \
967	curs_add_wchstr.3 add_wchnstr.3 \
968	curs_add_wchstr.3 add_wchstr.3 \
969	curs_add_wchstr.3 mvadd_wchnstr.3 \
970	curs_add_wchstr.3 mvadd_wchstr.3 \
971	curs_add_wchstr.3 mvwadd_wchnstr.3 \
972	curs_add_wchstr.3 mvwadd_wchstr.3 \
973	curs_add_wchstr.3 wadd_wchnstr.3 \
974	curs_add_wchstr.3 wadd_wchstr.3 \
975	curs_addwstr.3 addnwstr.3 \
976	curs_addwstr.3 addwstr.3 \
977	curs_addwstr.3 mvaddnwstr.3 \
978	curs_addwstr.3 mvaddwstr.3 \
979	curs_addwstr.3 mvwaddnwstr.3 \
980	curs_addwstr.3 mvwaddwstr.3 \
981	curs_addwstr.3 waddnwstr.3 \
982	curs_addwstr.3 waddwstr.3 \
983	curs_get_wch.3 get_wch.3 \
984	curs_get_wch.3 mvget_wch.3 \
985	curs_get_wch.3 mvwget_wch.3 \
986	curs_get_wch.3 unget_wch.3 \
987	curs_get_wch.3 wget_wch.3 \
988	curs_get_wstr.3 get_wstr.3 \
989	curs_get_wstr.3 getn_wstr.3 \
990	curs_get_wstr.3 mvget_wstr.3 \
991	curs_get_wstr.3 mvgetn_wstr.3 \
992	curs_get_wstr.3 mvwget_wstr.3 \
993	curs_get_wstr.3 mvwgetn_wstr.3 \
994	curs_get_wstr.3 wget_wstr.3 \
995	curs_get_wstr.3 wgetn_wstr.3 \
996	curs_in_wch.3 in_wch.3 \
997	curs_in_wch.3 mvin_wch.3 \
998	curs_in_wch.3 mvwin_wch.3 \
999	curs_in_wch.3 win_wch.3 \
1000	curs_in_wchstr.3 in_wchnstr.3 \
1001	curs_in_wchstr.3 in_wchstr.3 \
1002	curs_in_wchstr.3 mvin_wchnstr.3 \
1003	curs_in_wchstr.3 mvin_wchstr.3 \
1004	curs_in_wchstr.3 mvwin_wchnstr.3 \
1005	curs_in_wchstr.3 mvwin_wchstr.3 \
1006	curs_in_wchstr.3 win_wchnstr.3 \
1007	curs_in_wchstr.3 win_wchstr.3 \
1008	curs_ins_wch.3 ins_wch.3 \
1009	curs_ins_wch.3 mvins_wch.3 \
1010	curs_ins_wch.3 mvwins_wch.3 \
1011	curs_ins_wch.3 wins_wch.3 \
1012	curs_ins_wstr.3 ins_nwstr.3 \
1013	curs_ins_wstr.3 ins_wstr.3 \
1014	curs_ins_wstr.3 mvins_nwstr.3 \
1015	curs_ins_wstr.3 mvins_wstr.3 \
1016	curs_ins_wstr.3 mvwins_nwstr.3 \
1017	curs_ins_wstr.3 mvwins_wstr.3 \
1018	curs_ins_wstr.3 wins_nwstr.3 \
1019	curs_ins_wstr.3 wins_wstr.3 \
1020	curs_inwstr.3 innwstr.3 \
1021	curs_inwstr.3 inwstr.3 \
1022	curs_inwstr.3 mvinnwstr.3 \
1023	curs_inwstr.3 mvinwstr.3 \
1024	curs_inwstr.3 mvwinnwstr.3 \
1025	curs_inwstr.3 mvwinwstr.3 \
1026	curs_inwstr.3 winnwstr.3 \
1027	curs_inwstr.3 winwstr.3 \
1028	curs_printw.3 mvprintw.3 \
1029	curs_printw.3 mvwprintw.3 \
1030	curs_printw.3 printw.3 \
1031	curs_printw.3 vw_printw.3 \
1032	curs_printw.3 vwprintw.3 \
1033	curs_printw.3 wprintw.3 \
1034	curs_scanw.3 mvscanw.3 \
1035	curs_scanw.3 mvwscanw.3 \
1036	curs_scanw.3 scanw.3 \
1037	curs_scanw.3 vw_scanw.3 \
1038	curs_scanw.3 vwscanw.3 \
1039	curs_scanw.3 wscanw.3
1040
1041PCFILES=	ncursesw.pc \
1042		tinfow.pc \
1043		panelw.pc \
1044		formw.pc \
1045		menuw.pc
1046CLEANFILES+=	${PCFILES}
1047SYMLINKS+=	ncursesw.pc ${LIBDATADIR}/pkgconfig/ncurses.pc \
1048		tinfow.pc ${LIBDATADIR}/pkgconfig/tinfo.pc \
1049		formw.pc ${LIBDATADIR}/pkgconfig/form.pc \
1050		menuw.pc ${LIBDATADIR}/pkgconfig/menu.pc \
1051		panelw.pc ${LIBDATADIR}/pkgconfig/panel.pc
1052
1053
1054.PATH: ${NCURSES_DIR}/misc
1055gen-pkgconfig: gen-pkgconfig.in
1056	sed -e 's,@SHELL@,/bin/sh,g ; \
1057		s,@LIB_NAME@,ncursesw,g ; \
1058		s,@TINFO_NAME@,tinfow,g ; \
1059		s,@PANEL_NAME@,panelw,g ; \
1060		s,@MENU_NAME@,menuw,g ; \
1061		s,@FORM_NAME@,formw,g ; \
1062		s,@CXX_NAME@,ncurses++,g ; \
1063		s,@DFT_DEP_SUFFIX@,.so,g ; \
1064		s,@TINFO_ARG_SUFFIX@,tinfow,g ; \
1065		s,@CXX_LIB_SUFFIX@,.a,g ; \
1066		s,@PC_MODULE_SUFFIX@,,g ; \
1067		s,@prefix@,/usr,g ; \
1068		s,@exec_prefix@,$${prefix},g ; \
1069		s,@includedir@,${INCLUDEDIR},g ; \
1070		s,@includesubdir@,,g ; \
1071		s,@libdir@,${LIBDIR},g ; \
1072		s,@RPATH_LIST@,$${libdir},g ; \
1073		s,@PRIVATE_LIBS@,,g ; \
1074		s,@USE_ARG_SUFFIX@,,g ; \
1075		s,@NCURSES_MAJOR@,${NCURSES_MAJOR},g ; \
1076		s,@NCURSES_MINOR@,${NCURSES_MINOR},g ; \
1077		s,@NCURSES_PATCH@,${NCURSES_PATCH},g ; \
1078		s,@PKG_CFLAGS@,,g ; \
1079		s,@EXTRA_PKG_LDFLAGS@,${SSP_CFLAGS},g ; \
1080		s,@LDFLAGS@,,g; \
1081		s,@LIBS@,,g ; \
1082		s,@LD_SEARCHPATH@,/usr/lib|/lib,g ; \
1083		s,@PC_MODULES_TO_MAKE@,$$1,g' \
1084		${.ALLSRC} > ${.TARGET}
1085
1086${PCFILES}: gen-pkgconfig
1087	sh ${.OBJDIR}/gen-pkgconfig ${.TARGET:R}
1088
1089.include <bsd.lib.mk>
1090
1091# Keep the .SUFFIXES line after the include of bsd.lib.mk
1092.SUFFIXES: .3 .3x
1093.3x.3:
1094	cat ${.IMPSRC} > ${.TARGET}
1095