xref: /freebsd/lib/ncurses/ncurses/Makefile (revision 7bd6fde3)
1# $FreeBSD$
2
3SHLIBDIR?=	/lib
4
5.include <bsd.own.mk>
6
7.include	"${.CURDIR}/../config.mk"
8
9LIB=		ncurses
10SHLIB_MAJOR=	6
11
12NO_LINT=
13
14NCURSES_MAJOR!=	egrep 'NCURSES_MAJOR[ 	]*=' ${NCURSES_DIR}/dist.mk | sed -e 's%^[^0-9]*%%'
15NCURSES_MINOR!=	egrep 'NCURSES_MINOR[ 	]*=' ${NCURSES_DIR}/dist.mk | sed -e 's%^[^0-9]*%%'
16NCURSES_PATCH!=	egrep 'NCURSES_PATCH[ 	]*=' ${NCURSES_DIR}/dist.mk | sed -e 's%^[^0-9]*%%'
17
18# From autoconf (!)
19NCURSES_CH_T=		chtype
20NEED_WCHAR_H=		0
21NCURSES_CONST=		const
22NCURSES_EXT_COLORS=	0
23NCURSES_EXT_FUNCS=	1
24NCURSES_INLINE=		inline
25NCURSES_LIBUTF8=	0
26NCURSES_MBSTATE_T=	0
27NCURSES_MOUSE_VERSION=	1
28NCURSES_OSPEED=		short
29NCURSES_SBOOL=		char
30NCURSES_TPARM_VARARGS=	1
31NCURSES_WCHAR_T=	0
32NCURSES_WINT_T=		0
33NCURSES_XNAMES=		1
34BROKEN_LINKER=		0
35BUILTIN_BOOL=		1
36ENABLE_LP64=		0
37HAVE_TCGETATTR=		1
38HAVE_TERMIOS_H=		1
39HAVE_TERMIO_H=		0
40HAVE_VSSCANF=		1
41HEADER_STDBOOL=		1
42# XXX amd64, ia64 1L and int
43ONEUL=			1UL
44TYPEOF_CHTYPE=		long
45TYPEOF_MMASK_T=		long
46TYPE_OF_BOOL=		unsigned char
47USE_CXX_BOOL=		defined(__cplusplus)
48
49CFLAGS+=	-DFREEBSD_NATIVE -DTERMIOS
50
51GENSRC=		\
52		codes.c \
53		expanded.c \
54		fallback.c \
55		lib_gen.c \
56		lib_keyname.c \
57		names.c \
58		unctrl.c
59
60GENHDR=		\
61		curses.h \
62		hashsize.h \
63		init_keytry.h \
64		ncurses_def.h \
65		nomacros.h \
66		parametrized.h \
67		term.h \
68		termcap.h \
69		unctrl.h
70
71# Installed
72HEADERS=	curses.h term.h termcap.h unctrl.h
73SRCHDRS=	ncurses_dll.h
74INCS=		${HEADERS} ${SRCHDRS}
75INCSLINKS=	curses.h ${INCLUDEDIR}/ncurses.h
76
77# Components of names.c and codes.c
78NAMESRC=	boolnames boolfnames numnames numfnames strnames strfnames
79CODESRC=	boolcodes numcodes strcodes
80
81SRCS=		${GENHDR} ${GENSRC}
82
83.PATH:		${NCURSES_DIR}/ncurses/base
84SRCS+=		\
85		define_key.c \
86		key_defined.c \
87		keybound.c \
88		keyok.c \
89		legacy_coding.c \
90		lib_addch.c \
91		lib_addstr.c \
92		lib_beep.c \
93		lib_bkgd.c \
94		lib_box.c \
95		lib_chgat.c \
96		lib_clear.c \
97		lib_clearok.c \
98		lib_clrbot.c \
99		lib_clreol.c \
100		lib_color.c \
101		lib_colorset.c \
102		lib_delch.c \
103		lib_delwin.c \
104		lib_dft_fgbg.c \
105		lib_echo.c \
106		lib_endwin.c \
107		lib_erase.c \
108		lib_flash.c \
109		lib_freeall.c \
110		lib_getch.c \
111		lib_getstr.c \
112		lib_hline.c \
113		lib_immedok.c \
114		lib_inchstr.c \
115		lib_initscr.c \
116		lib_insch.c \
117		lib_insdel.c \
118		lib_insnstr.c \
119		lib_instr.c \
120		lib_isendwin.c \
121		lib_leaveok.c \
122		lib_mouse.c \
123		lib_move.c \
124		lib_mvwin.c \
125		lib_newterm.c \
126		lib_newwin.c \
127		lib_nl.c \
128		lib_overlay.c \
129		lib_pad.c \
130		lib_printw.c \
131		lib_redrawln.c \
132		lib_refresh.c \
133		lib_restart.c \
134		lib_scanw.c \
135		lib_screen.c \
136		lib_scroll.c \
137		lib_scrollok.c \
138		lib_scrreg.c \
139		lib_set_term.c \
140		lib_slk.c \
141		lib_slkatr_set.c \
142		lib_slkatrof.c \
143		lib_slkatron.c \
144		lib_slkatrset.c \
145		lib_slkattr.c \
146		lib_slkclear.c \
147		lib_slkcolor.c \
148		lib_slkinit.c \
149		lib_slklab.c \
150		lib_slkrefr.c \
151		lib_slkset.c \
152		lib_slktouch.c \
153		lib_touch.c \
154		lib_ungetch.c \
155		lib_vline.c \
156		lib_wattroff.c \
157		lib_wattron.c \
158		lib_winch.c \
159		lib_window.c \
160		memmove.c \
161		nc_panel.c \
162		resizeterm.c \
163		safe_sprintf.c \
164		tries.c \
165		version.c \
166		vsscanf.c \
167		wresize.c
168
169.PATH:		${NCURSES_DIR}/ncurses/tinfo
170SRCS+=		\
171		access.c \
172		add_tries.c \
173		alloc_entry.c \
174		alloc_ttype.c \
175		captoinfo.c \
176		comp_captab.c \
177		comp_error.c \
178		comp_expand.c \
179		comp_hash.c \
180		comp_parse.c \
181		comp_scan.c \
182		db_iterator.c \
183		doalloc.c \
184		free_ttype.c \
185		getenv_num.c \
186		hashed_db.c \
187		home_terminfo.c \
188		init_keytry.c \
189		lib_acs.c \
190		lib_baudrate.c \
191		lib_cur_term.c \
192		lib_data.c \
193		lib_has_cap.c \
194		lib_kernel.c \
195		lib_longname.c \
196		lib_napms.c \
197		lib_options.c \
198		lib_print.c \
199		lib_raw.c \
200		lib_setup.c \
201		lib_termcap.c \
202		lib_termname.c \
203		lib_tgoto.c \
204		lib_ti.c \
205		lib_tparm.c \
206		lib_tputs.c \
207		lib_ttyflags.c \
208		name_match.c \
209		parse_entry.c \
210		read_entry.c \
211		setbuf.c \
212		strings.c \
213		trim_sgr0.c \
214		write_entry.c
215
216.PATH:		${NCURSES_DIR}/ncurses/tty
217SRCS+=		\
218		hardscroll.c \
219		hashmap.c \
220		lib_mvcur.c \
221		lib_tstp.c \
222		lib_twait.c \
223		lib_vidattr.c \
224		tty_update.c
225
226.PATH:		${NCURSES_DIR}/ncurses/trace
227SRCS+=		\
228		lib_trace.c \
229		visbuf.c
230
231# Currently unused, for debugging libncurses itself.
232DBGSRCS=	\
233		lib_traceatr.c \
234		lib_tracebits.c \
235		lib_tracechr.c \
236		lib_tracedmp.c \
237		lib_tracemse.c \
238		trace_buf.c \
239		trace_tries.c \
240		trace_xnames.c \
241		varargs.c
242
243# From our old libtermcap.
244# Used instead of the hideous read_termcap.c abomination.
245SRCS+=		termcap.c
246
247CLEANFILES+=	${GENSRC} ${GENHDR} keys.list make_hash term.h.new \
248		make_keys MKterm.h.awk comp_captab.c curses.head \
249		namehdr nameftr codeftr ${NAMESRC} ${CODESRC}
250
251.if !defined(NO_INSTALLLIB)
252SYMLINKS+=	libncurses.a ${LIBDIR}/libcurses.a
253SYMLINKS+=	libncurses.a ${LIBDIR}/libtermcap.a
254SYMLINKS+=	libncurses.a ${LIBDIR}/libtermlib.a
255SYMLINKS+=	libncurses.a ${LIBDIR}/libtinfo.a
256.endif
257.if !defined(NO_PIC)
258# no need for major at all, it's an ld-time redirection only
259SYMLINKS+=	libncurses.so ${LIBDIR}/libcurses.so
260SYMLINKS+=	libncurses.so ${LIBDIR}/libtermcap.so
261SYMLINKS+=	libncurses.so ${LIBDIR}/libtermlib.so
262SYMLINKS+=	libncurses.so ${LIBDIR}/libtinfo.so
263.endif
264.if ${MK_PROFILE} != "no"
265SYMLINKS+=	libncurses_p.a ${LIBDIR}/libcurses_p.a
266SYMLINKS+=	libncurses_p.a ${LIBDIR}/libtermcap_p.a
267SYMLINKS+=	libncurses_p.a ${LIBDIR}/libtermlib_p.a
268SYMLINKS+=	libncurses_p.a ${LIBDIR}/libtinfo_p.a
269.endif
270
271DOCSDIR=	/usr/share/doc/ncurses
272DOCS=		ncurses-intro.html hackguide.html
273
274.if ${MK_HTML} != "no"
275.PATH:		${NCURSES_DIR}/doc/html
276FILESGROUPS=	DOCS
277.endif
278
279# Generated source
280namehdr nameftr codeftr ${NAMESRC} ${CODESRC}: MKnames.awk Caps
281	${AWK} -f ${NCURSES_DIR}/ncurses/tinfo/MKnames.awk ${NCURSES_DIR}/include/Caps
282
283.ORDER: namehdr ${NAMESRC} ${CODESRC} nameftr codeftr names.c codes.c
284
285names.c:	 namehdr ${NAMESRC} nameftr
286	cat namehdr ${NAMESRC} nameftr > $@
287
288codes.c:	 namehdr ${CODESRC} codeftr
289	cat namehdr ${CODESRC} codeftr > $@
290
291lib_gen.c:	MKlib_gen.sh curses.h
292	LC_ALL=C sh ${NCURSES_DIR}/ncurses/base/MKlib_gen.sh "${CC} -E ${CFLAGS}" \
293	    "${AWK}" generated < curses.h >$@
294
295lib_keyname.c:	keys.list MKkeyname.awk
296	${AWK} -f ${NCURSES_DIR}/ncurses/base/MKkeyname.awk keys.list > lib_keyname.c
297
298unctrl.c:	MKunctrl.awk
299	echo | ${AWK} -f ${NCURSES_DIR}/ncurses/base/MKunctrl.awk > unctrl.c
300
301comp_captab.c:	MKcaptab.awk Caps make_hash
302	sh ${NCURSES_DIR}/ncurses/tinfo/MKcaptab.awk "${AWK}" \
303	    ${NCURSES_DIR}/include/Caps > comp_captab.c
304
305expanded.c:	MKexpanded.sh
306	sh ${NCURSES_DIR}/ncurses/tty/MKexpanded.sh "${CC} -E" ${CFLAGS} >expanded.c
307
308fallback.c:	MKfallback.sh
309	sh ${NCURSES_DIR}/ncurses/tinfo/MKfallback.sh > fallback.c
310
311# Generated headers
312nomacros.h:	MKlib_gen.sh curses.h
313	LC_ALL=C sh ${NCURSES_DIR}/ncurses/base/MKlib_gen.sh "${CC} -E ${CFLAGS}" \
314	    "${AWK}" generated < curses.h | fgrep undef > $@
315
316init_keytry.h:	keys.list make_keys
317	./make_keys keys.list > init_keytry.h
318
319hashsize.h:	MKhashsize.sh Caps
320	sh ${NCURSES_DIR}/include/MKhashsize.sh ${NCURSES_DIR}/include/Caps > $@
321
322parametrized.h:	MKparametrized.sh Caps
323	AWK=${AWK} sh ${NCURSES_DIR}/include/MKparametrized.sh \
324	    ${NCURSES_DIR}/include/Caps > $@
325
326term.h:		MKterm.h.awk edit_cfg.sh Caps
327	${AWK} -f MKterm.h.awk ${NCURSES_DIR}/include/Caps > $@.new
328	sh ${NCURSES_DIR}/include/edit_cfg.sh ${NCURSES_CFG_H} $@.new
329	mv -f $@.new $@
330
331curses.h:	curses.head MKkey_defs.sh Caps
332	cat curses.head > $@.new
333	AWK=${AWK} _POSIX2_VERSION=199209 sh ${NCURSES_DIR}/include/MKkey_defs.sh \
334	    ${NCURSES_DIR}/include/Caps >> $@.new
335	cat ${NCURSES_DIR}/include/curses.tail >> $@.new
336	mv -f $@.new $@
337
338# Generated intermediate files
339keys.list:	MKkeys_list.sh Caps
340	AWK=${AWK} sh ${NCURSES_DIR}/ncurses/tinfo/MKkeys_list.sh \
341	    ${NCURSES_DIR}/include/Caps | LC_ALL=C sort > keys.list
342
343# Build tools
344build-tools: make_hash make_keys
345
346make_keys:	make_keys.c names.c ncurses_def.h ${HEADERS}
347	${CC} -o $@ ${CFLAGS} ${NCURSES_DIR}/ncurses/tinfo/make_keys.c
348
349make_hash:	comp_hash.c hashsize.h ncurses_def.h ${HEADERS}
350	${CC} -o $@ ${CFLAGS} -DMAIN_PROGRAM \
351		${NCURSES_DIR}/ncurses/tinfo/comp_hash.c
352
353# ./configure generated
354MKterm.h.awk:	MKterm.h.awk.in
355	sed <${NCURSES_DIR}/include/MKterm.h.awk.in >$@ \
356	    -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
357	    -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%" \
358	    -e "/@NCURSES_CONST@/s%%${NCURSES_CONST}%" \
359	    -e "/@NCURSES_TPARM_VARARGS@/s%%${NCURSES_TPARM_VARARGS}%" \
360	    -e "/@NCURSES_SBOOL@/s%%${NCURSES_SBOOL}%" \
361	    -e "/@NCURSES_XNAMES@/s%%${NCURSES_XNAMES}%" \
362	    -e "/@HAVE_TERMIOS_H@/s%%${HAVE_TERMIOS_H}%" \
363	    -e "/@HAVE_TERMIO_H@/s%%${HAVE_TERMIO_H}%" \
364	    -e "/@HAVE_TCGETATTR@/s%%${HAVE_TCGETATTR}%"
365
366termcap.h:	termcap.h.in
367	sed <${NCURSES_DIR}/include/termcap.h.in >$@ \
368	    -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
369	    -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%" \
370	    -e "/@NCURSES_CONST@/s%%${NCURSES_CONST}%" \
371	    -e "/@NCURSES_OSPEED@/s%%${NCURSES_OSPEED}%"
372
373curses.head:	curses.h.in
374	sed <${NCURSES_DIR}/include/curses.h.in >$@ \
375	    -e "/@BROKEN_LINKER@/s%%${BROKEN_LINKER}%" \
376	    -e "/@HAVE_VSSCANF@/s%%${HAVE_VSSCANF}%" \
377	    -e "/@NCURSES_CH_T@/s%%${NCURSES_CH_T}%" \
378	    -e "/@NCURSES_CONST@/s%%${NCURSES_CONST}%" \
379	    -e "/@NCURSES_EXT_COLORS@/s%%${NCURSES_EXT_COLORS}%" \
380	    -e "/@NCURSES_EXT_FUNCS@/s%%${NCURSES_EXT_FUNCS}%" \
381	    -e "/@NCURSES_INLINE@/s%%${NCURSES_INLINE}%" \
382	    -e "/@NCURSES_LIBUTF8@/s%%${NCURSES_LIBUTF8}%" \
383	    -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
384	    -e "/@NCURSES_MBSTATE_T@/s%%${NCURSES_MBSTATE_T}%" \
385	    -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%" \
386	    -e "/@NCURSES_MOUSE_VERSION@/s%%${NCURSES_MOUSE_VERSION}%" \
387	    -e "/@NCURSES_PATCH@/s%%${NCURSES_PATCH}%" \
388	    -e "/@NCURSES_TPARM_VARARGS@/s%%${NCURSES_TPARM_VARARGS}%" \
389	    -e "/@NCURSES_WCHAR_T@/s%%${NCURSES_WCHAR_T}%" \
390	    -e "/@NCURSES_WCHAR_T@/s%%${NCURSES_WCHAR_T}%" \
391	    -e "/@NCURSES_WINT_T@/s%%${NCURSES_WINT_T}%" \
392	    -e "/@NEED_WCHAR_H@/s%%${NEED_WCHAR_H}%" \
393	    -e "/@USE_CXX_BOOL@/s%%${USE_CXX_BOOL}%" \
394	    -e "s%@cf_cv_1UL@%${ONEUL}%g" \
395	    -e "s%@cf_cv_builtin_bool@%${BUILTIN_BOOL}%g" \
396	    -e "s%@cf_cv_enable_lp64@%${ENABLE_LP64}%g" \
397	    -e "s%@cf_cv_header_stdbool_h@%${HEADER_STDBOOL}%g" \
398	    -e "s%@cf_cv_type_of_bool@%${TYPE_OF_BOOL}%g" \
399	    -e "s%@cf_cv_typeof_chtype@%${TYPEOF_CHTYPE}%g" \
400	    -e "s%@cf_cv_typeof_mmask_t@%${TYPEOF_MMASK_T}%g" \
401	    -e "s/ _WCHAR_T/ __wchar_t/g" \
402	    -e "s/ _WINT_T/ __wint_t/g"
403
404unctrl.h:	unctrl.h.in
405	sed <${NCURSES_DIR}/include/$@.in >$@ \
406	    -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
407	    -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%"
408
409# MAN page gunk
410terminfo.5:	MKterminfo.sh terminfo.head Caps
411	sh ${NCURSES_DIR}/man/MKterminfo.sh ${NCURSES_DIR}/man/terminfo.head \
412	    ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/man/terminfo.tail >$@
413
414CLEANFILES+=	terminfo.5
415MANFILTER=      sed -e 's%@TERMINFO@%${TERMINFODIR}/terminfo%g' \
416		    -e 's%@NCURSES_OSPEED@%${NCURSES_OSPEED}%g'
417
418.PATH:		${NCURSES_DIR}/man
419MANx=		\
420		curs_addch.3x \
421		curs_addchstr.3x \
422		curs_addstr.3x \
423		curs_attr.3x \
424		curs_beep.3x \
425		curs_bkgd.3x \
426		curs_bkgrnd.3x \
427		curs_border.3x \
428		curs_border_set.3x \
429		curs_clear.3x \
430		curs_color.3x \
431		curs_delch.3x \
432		curs_deleteln.3x \
433		curs_extend.3x \
434		curs_getcchar.3x \
435		curs_getch.3x \
436		curs_getstr.3x \
437		curs_getyx.3x \
438		curs_inch.3x \
439		curs_inchstr.3x \
440		curs_initscr.3x \
441		curs_inopts.3x \
442		curs_insch.3x \
443		curs_insstr.3x \
444		curs_instr.3x \
445		curs_inwstr.3x \
446		curs_kernel.3x \
447		curs_mouse.3x \
448		curs_move.3x \
449		curs_outopts.3x \
450		curs_overlay.3x \
451		curs_pad.3x \
452		curs_print.3x \
453		curs_refresh.3x \
454		curs_scr_dump.3x \
455		curs_scroll.3x \
456		curs_slk.3x \
457		curs_termattrs.3x \
458		curs_termcap.3x \
459		curs_terminfo.3x \
460		curs_touch.3x \
461		curs_trace.3x \
462		curs_util.3x \
463		curs_window.3x \
464		default_colors.3x \
465		define_key.3x \
466		key_defined.3x \
467		keybound.3x \
468		keyok.3x \
469		legacy_coding.3x \
470		ncurses.3x \
471		resizeterm.3x \
472		wresize.3x
473
474MAN=		term.5 terminfo.5
475MAN+=		term.7
476
477# Generate the MAN list from MANx
478.for page in ${MANx}
479CLEANFILES+=	${page:T:S/x$//g}
480MAN+=		${page:T:S/x$//g}
481${page:T:S/x$//g}: ${page}
482	cat ${.ALLSRC} > ${.TARGET}
483.endfor
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_border.3 border.3 \
541		curs_border.3 box.3 \
542		curs_border.3 hline.3 \
543		curs_border.3 mvhline.3 \
544		curs_border.3 mvvline.3 \
545		curs_border.3 mvwhline.3 \
546		curs_border.3 mvwvline.3 \
547		curs_border.3 vline.3 \
548		curs_border.3 wborder.3 \
549		curs_border.3 whline.3 \
550		curs_border.3 wvline.3 \
551		curs_border_set.3 border_set.3 \
552		curs_border_set.3 box_set.3 \
553		curs_border_set.3 hline_set.3 \
554		curs_border_set.3 mvhline_set.3 \
555		curs_border_set.3 mvvline_set.3 \
556		curs_border_set.3 mvwhline_set.3 \
557		curs_border_set.3 mvwvline_set.3 \
558		curs_border_set.3 vline_set.3 \
559		curs_border_set.3 wborder_set.3 \
560		curs_border_set.3 whline_set.3 \
561		curs_border_set.3 wvline_set.3 \
562		curs_clear.3 clear.3 \
563		curs_clear.3 clrtobot.3 \
564		curs_clear.3 clrtoeol.3 \
565		curs_clear.3 erase.3 \
566		curs_clear.3 wclear.3 \
567		curs_clear.3 wclrtobot.3 \
568		curs_clear.3 wclrtoeol.3 \
569		curs_clear.3 werase.3 \
570		curs_color.3 COLOR_PAIR.3 \
571		curs_color.3 can_change_color.3 \
572		curs_color.3 color_content.3 \
573		curs_color.3 has_colors.3 \
574		curs_color.3 init_color.3 \
575		curs_color.3 init_pair.3 \
576		curs_color.3 pair_content.3 \
577		curs_color.3 start_color.3 \
578		curs_delch.3 delch.3 \
579		curs_delch.3 mvdelch.3 \
580		curs_delch.3 mvwdelch.3 \
581		curs_delch.3 wdelch.3 \
582		curs_deleteln.3 deleteln.3 \
583		curs_deleteln.3 insdelln.3 \
584		curs_deleteln.3 insertln.3 \
585		curs_deleteln.3 wdeleteln.3 \
586		curs_deleteln.3 winsdelln.3 \
587		curs_deleteln.3 winsertln.3 \
588		curs_extend.3 curses_version.3 \
589		curs_extend.3 use_extended_names.3 \
590		curs_getcchar.3 getcchar.3 \
591		curs_getcchar.3 setcchar.3 \
592		curs_getch.3 getch.3 \
593		curs_getch.3 has_key.3 \
594		curs_getch.3 mvgetch.3 \
595		curs_getch.3 mvwgetch.3 \
596		curs_getch.3 ungetch.3 \
597		curs_getch.3 wgetch.3 \
598		curs_getstr.3 getnstr.3 \
599		curs_getstr.3 getstr.3 \
600		curs_getstr.3 mvgetnstr.3 \
601		curs_getstr.3 mvgetstr.3 \
602		curs_getstr.3 mvwgetnstr.3 \
603		curs_getstr.3 mvwgetstr.3 \
604		curs_getstr.3 wgetnstr.3 \
605		curs_getstr.3 wgetstr.3 \
606		curs_getyx.3 getbegyx.3 \
607		curs_getyx.3 getmaxyx.3 \
608		curs_getyx.3 getparyx.3 \
609		curs_getyx.3 getyx.3 \
610		curs_inch.3 inch.3 \
611		curs_inch.3 mvinch.3 \
612		curs_inch.3 mvwinch.3 \
613		curs_inch.3 winch.3 \
614		curs_inchstr.3 inchnstr.3 \
615		curs_inchstr.3 inchstr.3 \
616		curs_inchstr.3 mvinchnstr.3 \
617		curs_inchstr.3 mvinchstr.3 \
618		curs_inchstr.3 mvwinchnstr.3 \
619		curs_inchstr.3 mvwinchstr.3 \
620		curs_inchstr.3 winchnstr.3 \
621		curs_inchstr.3 winchstr.3 \
622		curs_initscr.3 delscreen.3 \
623		curs_initscr.3 endwin.3 \
624		curs_initscr.3 initscr.3 \
625		curs_initscr.3 isendwin.3 \
626		curs_initscr.3 newterm.3 \
627		curs_initscr.3 set_term.3 \
628		curs_inopts.3 cbreak.3 \
629		curs_inopts.3 echo.3 \
630		curs_inopts.3 halfdelay.3 \
631		curs_inopts.3 intrflush.3 \
632		curs_inopts.3 keypad.3 \
633		curs_inopts.3 meta.3 \
634		curs_inopts.3 nocbreak.3 \
635		curs_inopts.3 nodelay.3 \
636		curs_inopts.3 noecho.3 \
637		curs_inopts.3 noqiflush.3 \
638		curs_inopts.3 noraw.3 \
639		curs_inopts.3 notimeout.3 \
640		curs_inopts.3 qiflush.3 \
641		curs_inopts.3 raw.3 \
642		curs_inopts.3 timeout.3 \
643		curs_inopts.3 typeahead.3 \
644		curs_inopts.3 wtimeout.3 \
645		curs_insch.3 insch.3 \
646		curs_insch.3 mvinsch.3 \
647		curs_insch.3 mvwinsch.3 \
648		curs_insch.3 winsch.3 \
649		curs_insstr.3 insnstr.3 \
650		curs_insstr.3 insstr.3 \
651		curs_insstr.3 mvinsnstr.3 \
652		curs_insstr.3 mvinsstr.3 \
653		curs_insstr.3 mvwinsnstr.3 \
654		curs_insstr.3 mvwinsstr.3 \
655		curs_insstr.3 winsnstr.3 \
656		curs_insstr.3 winsstr.3 \
657		curs_instr.3 innstr.3 \
658		curs_instr.3 instr.3 \
659		curs_instr.3 mvinnstr.3 \
660		curs_instr.3 mvinstr.3 \
661		curs_instr.3 mvwinnstr.3 \
662		curs_instr.3 mvwinstr.3 \
663		curs_instr.3 winnstr.3 \
664		curs_instr.3 winstr.3 \
665		curs_kernel.3 curs_set.3 \
666		curs_kernel.3 def_prog_mode.3 \
667		curs_kernel.3 def_shell_mode.3 \
668		curs_kernel.3 getsyx.3 \
669		curs_kernel.3 napms.3 \
670		curs_kernel.3 reset_prog_mode.3 \
671		curs_kernel.3 reset_shell_mode.3 \
672		curs_kernel.3 resetty.3 \
673		curs_kernel.3 ripoffline.3 \
674		curs_kernel.3 savetty.3 \
675		curs_kernel.3 setsyx.3 \
676		curs_mouse.3 getmouse.3 \
677		curs_mouse.3 mouse_trafo.3 \
678		curs_mouse.3 mouseinterval.3 \
679		curs_mouse.3 mousemask.3 \
680		curs_mouse.3 ungetmouse.3 \
681		curs_mouse.3 wenclose.3 \
682		curs_mouse.3 wmouse_trafo.3 \
683		curs_move.3 move.3 \
684		curs_move.3 wmove.3 \
685		curs_outopts.3 clearok.3 \
686		curs_outopts.3 idcok.3 \
687		curs_outopts.3 idlok.3 \
688		curs_outopts.3 immedok.3 \
689		curs_outopts.3 leaveok.3 \
690		curs_outopts.3 nl.3 \
691		curs_outopts.3 nonl.3 \
692		curs_outopts.3 scrollok.3 \
693		curs_outopts.3 setscrreg.3 \
694		curs_outopts.3 wsetscrreg.3 \
695		curs_overlay.3 copywin.3 \
696		curs_overlay.3 overlay.3 \
697		curs_overlay.3 overwrite.3 \
698		curs_pad.3 newpad.3 \
699		curs_pad.3 pecho_wchar.3 \
700		curs_pad.3 pechochar.3 \
701		curs_pad.3 pnoutrefresh.3 \
702		curs_pad.3 prefresh.3 \
703		curs_pad.3 subpad.3 \
704		curs_print.3 mcprint.3 \
705		curs_refresh.3 doupdate.3 \
706		curs_refresh.3 redrawwin.3 \
707		curs_refresh.3 refresh.3 \
708		curs_refresh.3 wnoutrefresh.3 \
709		curs_refresh.3 wredrawln.3 \
710		curs_refresh.3 wrefresh.3 \
711		curs_scr_dump.3 scr_dump.3 \
712		curs_scr_dump.3 scr_init.3 \
713		curs_scr_dump.3 scr_restore.3 \
714		curs_scr_dump.3 scr_set.3 \
715		curs_scroll.3 scrl.3 \
716		curs_scroll.3 scroll.3 \
717		curs_scroll.3 wscrl.3 \
718		curs_slk.3 slk_attr.3 \
719		curs_slk.3 slk_attr_off.3 \
720		curs_slk.3 slk_attr_on.3 \
721		curs_slk.3 slk_attr_set.3 \
722		curs_slk.3 slk_attroff.3 \
723		curs_slk.3 slk_attron.3 \
724		curs_slk.3 slk_attrset.3 \
725		curs_slk.3 slk_clear.3 \
726		curs_slk.3 slk_color.3 \
727		curs_slk.3 slk_init.3 \
728		curs_slk.3 slk_label.3 \
729		curs_slk.3 slk_noutrefresh.3 \
730		curs_slk.3 slk_refresh.3 \
731		curs_slk.3 slk_restore.3 \
732		curs_slk.3 slk_set.3 \
733		curs_slk.3 slk_touch.3 \
734		curs_termattrs.3 baudrate.3 \
735		curs_termattrs.3 erasechar.3 \
736		curs_termattrs.3 erasewchar.3 \
737		curs_termattrs.3 has_ic.3 \
738		curs_termattrs.3 has_il.3 \
739		curs_termattrs.3 killchar.3 \
740		curs_termattrs.3 killwchar.3 \
741		curs_termattrs.3 longname.3 \
742		curs_termattrs.3 term_attrs.3 \
743		curs_termattrs.3 termattrs.3 \
744		curs_termattrs.3 termname.3 \
745		curs_termcap.3 termcap.3 \
746		curs_termcap.3 tgetent.3 \
747		curs_termcap.3 tgetflag.3 \
748		curs_termcap.3 tgetnum.3 \
749		curs_termcap.3 tgetstr.3 \
750		curs_termcap.3 tgoto.3 \
751		curs_termcap.3 tputs.3 \
752		curs_terminfo.3 del_curterm.3 \
753		curs_terminfo.3 mvcur.3 \
754		curs_terminfo.3 putp.3 \
755		curs_terminfo.3 restartterm.3 \
756		curs_terminfo.3 set_curterm.3 \
757		curs_terminfo.3 setterm.3 \
758		curs_terminfo.3 setupterm.3 \
759		curs_terminfo.3 tigetflag.3 \
760		curs_terminfo.3 tigetnum.3 \
761		curs_terminfo.3 tigetstr.3 \
762		curs_terminfo.3 tparm.3 \
763		curs_terminfo.3 tputs.3 \
764		curs_terminfo.3 vid_attr.3 \
765		curs_terminfo.3 vid_puts.3 \
766		curs_terminfo.3 vidattr.3 \
767		curs_terminfo.3 vidputs.3 \
768		curs_touch.3 is_linetouched.3 \
769		curs_touch.3 is_wintouched.3 \
770		curs_touch.3 touchline.3 \
771		curs_touch.3 touchwin.3 \
772		curs_touch.3 untouchwin.3 \
773		curs_touch.3 wtouchln.3 \
774		curs_util.3 delay_output.3 \
775		curs_util.3 filter.3 \
776		curs_util.3 flushinp.3 \
777		curs_util.3 getwin.3 \
778		curs_util.3 key_name.3 \
779		curs_util.3 keyname.3 \
780		curs_util.3 nofilter.3 \
781		curs_util.3 putwin.3 \
782		curs_util.3 unctrl.3 \
783		curs_util.3 use_env.3 \
784		curs_util.3 wunctrl.3 \
785		curs_window.3 delwin.3 \
786		curs_window.3 derwin.3 \
787		curs_window.3 dupwin.3 \
788		curs_window.3 mvderwin.3 \
789		curs_window.3 mvwin.3 \
790		curs_window.3 newwin.3 \
791		curs_window.3 subwin.3 \
792		curs_window.3 syncok.3 \
793		curs_window.3 wcursyncup.3 \
794		curs_window.3 wsyncdown.3 \
795		curs_window.3 wsyncup.3 \
796		default_colors.3 assume_default_colors.3 \
797		default_colors.3 use_default_colors.3 \
798		key_defined.3 define_key.3 \
799		legacy_coding.3 use_legacy_coding.3 \
800		resizeterm.3 is_term_resized.3 \
801		resizeterm.3 resize_term.3
802
803.include <bsd.lib.mk>
804