]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - lib/ncurses/ncurses/Makefile
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / lib / ncurses / ncurses / Makefile
1 # $FreeBSD$
2
3 SHLIBDIR?=      /lib
4
5 .if !defined(ENABLE_WIDEC)
6 NO_MAN=
7 .endif
8
9 .include <bsd.own.mk>
10
11 .include "${.CURDIR}/../config.mk"
12
13 LIB=            ncurses${LIB_SUFFIX}
14 SHLIB_MAJOR=    8
15
16 NO_LINT=
17
18 NCURSES_MAJOR!= egrep 'NCURSES_MAJOR[   ]*=' ${NCURSES_DIR}/dist.mk | sed -e 's%^[^0-9]*%%'
19 NCURSES_MINOR!= egrep 'NCURSES_MINOR[   ]*=' ${NCURSES_DIR}/dist.mk | sed -e 's%^[^0-9]*%%'
20 NCURSES_PATCH!= egrep 'NCURSES_PATCH[   ]*=' ${NCURSES_DIR}/dist.mk | sed -e 's%^[^0-9]*%%'
21
22 # From autoconf (!)
23 .if defined(ENABLE_WIDEC)
24 NCURSES_CH_T=           cchar_t
25 NCURSES_OK_WCHAR_T=     1
26 NEED_WCHAR_H=           1
27 .else
28 NCURSES_CH_T=           chtype
29 NCURSES_OK_WCHAR_T=
30 NEED_WCHAR_H=           0
31 .endif
32 NCURSES_CONST=          const
33 NCURSES_EXT_COLORS=     0
34 NCURSES_EXT_FUNCS=      1
35 NCURSES_INLINE=         inline
36 NCURSES_LIBUTF8=        0
37 NCURSES_MBSTATE_T=      0
38 NCURSES_MOUSE_VERSION=  1
39 NCURSES_OPAQUE=         0
40 NCURSES_OSPEED=         short
41 NCURSES_SBOOL=          char
42 NCURSES_SIZE_T=         short
43 NCURSES_TPARM_VARARGS=  1
44 NCURSES_WCHAR_T=        0
45 NCURSES_WINT_T=         0
46 NCURSES_XNAMES=         1
47 BROKEN_LINKER=          0
48 BUILTIN_BOOL=           1
49 ENABLE_LP64=            0
50 ENABLE_OPAQUE=          NCURSES_OPAQUE
51 ENABLE_REENTRANT=       0
52 HAVE_TCGETATTR=         1
53 HAVE_TERMIOS_H=         1
54 HAVE_TERMIO_H=          0
55 HAVE_VSSCANF=           1
56 HEADER_STDBOOL=         1
57 # XXX amd64, ia64 1L and int
58 ONEUL=                  1UL
59 TYPEOF_CHTYPE=          long
60 TYPEOF_MMASK_T=         long
61 TYPE_OF_BOOL=           unsigned char
62 USE_BIG_STRINGS=        1
63 USE_CXX_BOOL=           defined(__cplusplus)
64
65 GENSRCS=        \
66         codes.c \
67         expanded.c \
68         fallback.c \
69         lib_gen.c \
70         lib_keyname.c \
71         names.c \
72         unctrl.c
73
74 GENHDRS=        \
75         curses.h \
76         hashsize.h \
77         init_keytry.h \
78         ncurses_def.h \
79         nomacros.h \
80         parametrized.h \
81         term.h \
82         termcap.h \
83         unctrl.h
84
85 SRCS=   ${GENHDRS} ${GENSRCS}
86
87 .PATH: ${NCURSES_DIR}/ncurses/base
88 SRCS+=  \
89         define_key.c \
90         key_defined.c \
91         keybound.c \
92         keyok.c \
93         legacy_coding.c \
94         lib_addch.c \
95         lib_addstr.c \
96         lib_beep.c \
97         lib_bkgd.c \
98         lib_box.c \
99         lib_chgat.c \
100         lib_clear.c \
101         lib_clearok.c \
102         lib_clrbot.c \
103         lib_clreol.c \
104         lib_color.c \
105         lib_colorset.c \
106         lib_delch.c \
107         lib_delwin.c \
108         lib_dft_fgbg.c \
109         lib_echo.c \
110         lib_endwin.c \
111         lib_erase.c \
112         lib_flash.c \
113         lib_freeall.c \
114         lib_getch.c \
115         lib_getstr.c \
116         lib_hline.c \
117         lib_immedok.c \
118         lib_inchstr.c \
119         lib_initscr.c \
120         lib_insch.c \
121         lib_insdel.c \
122         lib_insnstr.c \
123         lib_instr.c \
124         lib_isendwin.c \
125         lib_leaveok.c \
126         lib_mouse.c \
127         lib_move.c \
128         lib_mvwin.c \
129         lib_newterm.c \
130         lib_newwin.c \
131         lib_nl.c \
132         lib_overlay.c \
133         lib_pad.c \
134         lib_printw.c \
135         lib_redrawln.c \
136         lib_refresh.c \
137         lib_restart.c \
138         lib_scanw.c \
139         lib_screen.c \
140         lib_scroll.c \
141         lib_scrollok.c \
142         lib_scrreg.c \
143         lib_set_term.c \
144         lib_slk.c \
145         lib_slkatr_set.c \
146         lib_slkatrof.c \
147         lib_slkatron.c \
148         lib_slkatrset.c \
149         lib_slkattr.c \
150         lib_slkclear.c \
151         lib_slkcolor.c \
152         lib_slkinit.c \
153         lib_slklab.c \
154         lib_slkrefr.c \
155         lib_slkset.c \
156         lib_slktouch.c \
157         lib_touch.c \
158         lib_ungetch.c \
159         lib_vline.c \
160         lib_wattroff.c \
161         lib_wattron.c \
162         lib_winch.c \
163         lib_window.c \
164         memmove.c \
165         nc_panel.c \
166         resizeterm.c \
167         safe_sprintf.c \
168         tries.c \
169         version.c \
170         vsscanf.c \
171         wresize.c
172
173 .PATH: ${NCURSES_DIR}/ncurses/tinfo
174 SRCS+=  \
175         access.c \
176         add_tries.c \
177         alloc_entry.c \
178         alloc_ttype.c \
179         captoinfo.c \
180         comp_captab.c \
181         comp_error.c \
182         comp_expand.c \
183         comp_hash.c \
184         comp_parse.c \
185         comp_scan.c \
186         db_iterator.c \
187         doalloc.c \
188         entries.c \
189         free_ttype.c \
190         getenv_num.c \
191         hashed_db.c \
192         home_terminfo.c \
193         init_keytry.c \
194         lib_acs.c \
195         lib_baudrate.c \
196         lib_cur_term.c \
197         lib_data.c \
198         lib_has_cap.c \
199         lib_kernel.c \
200         lib_longname.c \
201         lib_napms.c \
202         lib_options.c \
203         lib_print.c \
204         lib_raw.c \
205         lib_setup.c \
206         lib_termcap.c \
207         lib_termname.c \
208         lib_tgoto.c \
209         lib_ti.c \
210         lib_tparm.c \
211         lib_tputs.c \
212         lib_ttyflags.c \
213         name_match.c \
214         parse_entry.c \
215         read_entry.c \
216         setbuf.c \
217         strings.c \
218         trim_sgr0.c \
219         write_entry.c
220
221 .PATH: ${NCURSES_DIR}/ncurses/tty
222 SRCS+=  \
223         hardscroll.c \
224         hashmap.c \
225         lib_mvcur.c \
226         lib_tstp.c \
227         lib_twait.c \
228         lib_vidattr.c \
229         tty_update.c
230
231 .if defined(ENABLE_WIDEC)
232 .PATH: ${NCURSES_DIR}/ncurses/widechar
233 SRCS+=  \
234         charable.c \
235         lib_add_wch.c \
236         lib_box_set.c \
237         lib_cchar.c \
238         lib_erasewchar.c \
239         lib_get_wch.c \
240         lib_get_wstr.c \
241         lib_hline_set.c \
242         lib_in_wch.c \
243         lib_in_wchnstr.c \
244         lib_ins_wch.c \
245         lib_inwstr.c \
246         lib_key_name.c \
247         lib_pecho_wchar.c \
248         lib_slk_wset.c \
249         lib_unget_wch.c \
250         lib_vid_attr.c \
251         lib_vline_set.c \
252         lib_wacs.c \
253         lib_wunctrl.c
254 .endif
255
256 .PATH: ${NCURSES_DIR}/ncurses/trace
257 SRCS+=  \
258         lib_trace.c \
259         visbuf.c
260
261 # Currently unused, for debugging libncurses itself.
262 DBGSRCS= \
263         lib_traceatr.c \
264         lib_tracebits.c \
265         lib_tracechr.c \
266         lib_tracedmp.c \
267         lib_tracemse.c \
268         trace_buf.c \
269         trace_tries.c \
270         trace_xnames.c \
271         varargs.c
272
273 # From our old libtermcap.
274 # Used instead of the hideous read_termcap.c abomination.
275 SRCS+=  termcap.c
276
277 CLEANFILES=     ${GENSRCS} ${GENHDRS} keys.list make_hash term.h.new \
278                 make_keys MKterm.h.awk comp_captab.c curses.head
279
280 CFLAGS+=        -DFREEBSD_NATIVE -DTERMIOS
281
282 # Installed
283 HEADERS=        curses.h term.h termcap.h unctrl.h
284 SRCHDRS=        ncurses_dll.h
285
286 .if defined(ENABLE_WIDEC)
287 INCS=           ${HEADERS} ${SRCHDRS}
288 INCSLINKS=      curses.h ${INCLUDEDIR}/ncurses.h
289 .endif
290
291 .if ${MK_INSTALLLIB} != "no"
292 SYMLINKS+=      libncurses${LIB_SUFFIX}.a ${LIBDIR}/libcurses${LIB_SUFFIX}.a
293 SYMLINKS+=      libncurses${LIB_SUFFIX}.a ${LIBDIR}/libtermcap${LIB_SUFFIX}.a
294 SYMLINKS+=      libncurses${LIB_SUFFIX}.a ${LIBDIR}/libtermlib${LIB_SUFFIX}.a
295 SYMLINKS+=      libncurses${LIB_SUFFIX}.a ${LIBDIR}/libtinfo${LIB_SUFFIX}.a
296 .endif
297 .if !defined(NO_PIC)
298 # no need for major at all, it's an ld-time redirection only
299 SYMLINKS+=      libncurses${LIB_SUFFIX}.so ${LIBDIR}/libcurses${LIB_SUFFIX}.so
300 SYMLINKS+=      libncurses${LIB_SUFFIX}.so ${LIBDIR}/libtermcap${LIB_SUFFIX}.so
301 SYMLINKS+=      libncurses${LIB_SUFFIX}.so ${LIBDIR}/libtermlib${LIB_SUFFIX}.so
302 SYMLINKS+=      libncurses${LIB_SUFFIX}.so ${LIBDIR}/libtinfo${LIB_SUFFIX}.so
303 .endif
304 .if ${MK_PROFILE} != "no"
305 SYMLINKS+=      libncurses${LIB_SUFFIX}_p.a ${LIBDIR}/libcurses${LIB_SUFFIX}_p.a
306 SYMLINKS+=      libncurses${LIB_SUFFIX}_p.a ${LIBDIR}/libtermcap${LIB_SUFFIX}_p.a
307 SYMLINKS+=      libncurses${LIB_SUFFIX}_p.a ${LIBDIR}/libtermlib${LIB_SUFFIX}_p.a
308 SYMLINKS+=      libncurses${LIB_SUFFIX}_p.a ${LIBDIR}/libtinfo${LIB_SUFFIX}_p.a
309 .endif
310
311 .if defined(ENABLE_WIDEC)
312 DOCSDIR=        ${SHAREDIR}/doc/ncurses
313 DOCS=           ncurses-intro.html hackguide.html
314 .endif
315
316 .if ${MK_HTML} != "no"
317 .PATH: ${NCURSES_DIR}/doc/html
318 FILESGROUPS=    DOCS
319 .endif
320
321 # Generated source
322 .ORDER: names.c codes.c
323
324 names.c: MKnames.awk
325         ${AWK} -f ${NCURSES_DIR}/ncurses/tinfo/MKnames.awk bigstrings=${USE_BIG_STRINGS} ${NCURSES_DIR}/include/Caps > names.c
326
327 codes.c: MKcodes.awk
328         ${AWK} -f ${NCURSES_DIR}/ncurses/tinfo/MKcodes.awk bigstrings=${USE_BIG_STRINGS} ${NCURSES_DIR}/include/Caps > codes.c
329
330 lib_gen.c: MKlib_gen.sh curses.h
331         LC_ALL=C sh ${NCURSES_DIR}/ncurses/base/MKlib_gen.sh "${CC} -E ${CFLAGS}" \
332             "${AWK}" generated < curses.h >$@
333
334 lib_keyname.c: keys.list MKkeyname.awk
335         ${AWK} -f ${NCURSES_DIR}/ncurses/base/MKkeyname.awk bigstrings=${USE_BIG_STRINGS} keys.list > lib_keyname.c
336
337 unctrl.c: MKunctrl.awk
338         echo | ${AWK} -f ${NCURSES_DIR}/ncurses/base/MKunctrl.awk bigstrings=${USE_BIG_STRINGS} > unctrl.c
339
340 comp_captab.c: MKcaptab.sh MKcaptab.awk Caps make_hash
341         sh ${NCURSES_DIR}/ncurses/tinfo/MKcaptab.sh "${AWK}" \
342             ${USE_BIG_STRINGS} ${NCURSES_DIR}/ncurses/tinfo/MKcaptab.awk \
343             ${NCURSES_DIR}/include/Caps > comp_captab.c
344
345 expanded.c: MKexpanded.sh
346         sh ${NCURSES_DIR}/ncurses/tty/MKexpanded.sh "${CC} -E" ${CFLAGS} >expanded.c
347
348 fallback.c: MKfallback.sh
349         sh ${NCURSES_DIR}/ncurses/tinfo/MKfallback.sh > fallback.c
350
351 # Generated headers
352 nomacros.h: MKlib_gen.sh curses.h
353         LC_ALL=C sh ${NCURSES_DIR}/ncurses/base/MKlib_gen.sh "${CC} -E ${CFLAGS}" \
354             "${AWK}" generated < curses.h | fgrep undef > $@
355
356 init_keytry.h: keys.list make_keys
357         ./make_keys keys.list > init_keytry.h
358
359 hashsize.h: MKhashsize.sh Caps
360         sh ${NCURSES_DIR}/include/MKhashsize.sh ${NCURSES_DIR}/include/Caps > $@
361
362 parametrized.h: MKparametrized.sh Caps
363         AWK=${AWK} sh ${NCURSES_DIR}/include/MKparametrized.sh \
364             ${NCURSES_DIR}/include/Caps > $@
365
366 term.h: MKterm.h.awk edit_cfg.sh Caps
367         ${AWK} -f MKterm.h.awk ${NCURSES_DIR}/include/Caps > $@.new
368         sh ${NCURSES_DIR}/include/edit_cfg.sh ${NCURSES_CFG_H} $@.new
369         mv -f $@.new $@
370
371 curses.h: curses.head MKkey_defs.sh Caps
372         cat curses.head > $@.new
373         AWK=${AWK} _POSIX2_VERSION=199209 sh ${NCURSES_DIR}/include/MKkey_defs.sh \
374             ${NCURSES_DIR}/include/Caps >> $@.new
375 .if defined(ENABLE_WIDEC)
376         cat ${NCURSES_DIR}/include/curses.wide >> $@.new
377 .endif
378         cat ${NCURSES_DIR}/include/curses.tail >> $@.new
379         mv -f $@.new $@
380
381 # Generated intermediate files
382 keys.list: MKkeys_list.sh Caps
383         AWK=${AWK} sh ${NCURSES_DIR}/ncurses/tinfo/MKkeys_list.sh \
384             ${NCURSES_DIR}/include/Caps | LC_ALL=C sort > keys.list
385
386 # Build tools
387 build-tools: make_hash make_keys
388
389 make_keys: make_keys.c names.c ncurses_def.h ${HEADERS}
390         ${CC} -o $@ ${CFLAGS} ${NCURSES_DIR}/ncurses/tinfo/make_keys.c
391
392 make_hash: comp_hash.c hashsize.h ncurses_def.h ${HEADERS}
393         ${CC} -o $@ ${CFLAGS} -DMAIN_PROGRAM \
394                 ${NCURSES_DIR}/ncurses/tinfo/comp_hash.c
395
396 # ./configure generated
397 MKterm.h.awk: MKterm.h.awk.in
398         sed <${NCURSES_DIR}/include/MKterm.h.awk.in >$@ \
399             -e "/@BROKEN_LINKER@/s%%${BROKEN_LINKER}%" \
400             -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
401             -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%" \
402             -e "/@NCURSES_CONST@/s%%${NCURSES_CONST}%" \
403             -e "/@NCURSES_TPARM_VARARGS@/s%%${NCURSES_TPARM_VARARGS}%" \
404             -e "/@NCURSES_SBOOL@/s%%${NCURSES_SBOOL}%" \
405             -e "/@NCURSES_XNAMES@/s%%${NCURSES_XNAMES}%" \
406             -e "/@HAVE_TERMIOS_H@/s%%${HAVE_TERMIOS_H}%" \
407             -e "/@HAVE_TERMIO_H@/s%%${HAVE_TERMIO_H}%" \
408             -e "/@HAVE_TCGETATTR@/s%%${HAVE_TCGETATTR}%" \
409             -e "s%@cf_cv_enable_reentrant@%${ENABLE_REENTRANT}%g"
410
411 termcap.h: termcap.h.in
412         sed <${NCURSES_DIR}/include/termcap.h.in >$@ \
413             -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
414             -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%" \
415             -e "/@NCURSES_CONST@/s%%${NCURSES_CONST}%" \
416             -e "/@NCURSES_OSPEED@/s%%${NCURSES_OSPEED}%"
417
418 curses.head: curses.h.in
419         sed <${NCURSES_DIR}/include/curses.h.in >$@ \
420             -e "/@BROKEN_LINKER@/s%%${BROKEN_LINKER}%" \
421             -e "/@HAVE_VSSCANF@/s%%${HAVE_VSSCANF}%" \
422             -e "/@NCURSES_CH_T@/s%%${NCURSES_CH_T}%" \
423             -e "/@NCURSES_CONST@/s%%${NCURSES_CONST}%" \
424             -e "/@NCURSES_EXT_COLORS@/s%%${NCURSES_EXT_COLORS}%" \
425             -e "/@NCURSES_EXT_FUNCS@/s%%${NCURSES_EXT_FUNCS}%" \
426             -e "/@NCURSES_INLINE@/s%%${NCURSES_INLINE}%" \
427             -e "/@NCURSES_LIBUTF8@/s%%${NCURSES_LIBUTF8}%" \
428             -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
429             -e "/@NCURSES_MBSTATE_T@/s%%${NCURSES_MBSTATE_T}%" \
430             -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%" \
431             -e "/@NCURSES_MOUSE_VERSION@/s%%${NCURSES_MOUSE_VERSION}%" \
432             -e "/@NCURSES_OK_WCHAR_T@/s%%${NCURSES_OK_WCHAR_T}%" \
433             -e "/@NCURSES_OPAQUE@/s%%${NCURSES_OPAQUE}%" \
434             -e "/@NCURSES_PATCH@/s%%${NCURSES_PATCH}%" \
435             -e "/@NCURSES_SIZE_T@/s%%${NCURSES_SIZE_T}%" \
436             -e "/@NCURSES_TPARM_VARARGS@/s%%${NCURSES_TPARM_VARARGS}%" \
437             -e "/@NCURSES_WCHAR_T@/s%%${NCURSES_WCHAR_T}%" \
438             -e "/@NCURSES_WCHAR_T@/s%%${NCURSES_WCHAR_T}%" \
439             -e "/@NCURSES_WINT_T@/s%%${NCURSES_WINT_T}%" \
440             -e "/@NEED_WCHAR_H@/s%%${NEED_WCHAR_H}%" \
441             -e "/@USE_CXX_BOOL@/s%%${USE_CXX_BOOL}%" \
442             -e "s%@cf_cv_1UL@%${ONEUL}%g" \
443             -e "s%@cf_cv_builtin_bool@%${BUILTIN_BOOL}%g" \
444             -e "s%@cf_cv_enable_lp64@%${ENABLE_LP64}%g" \
445             -e "s%@cf_cv_enable_opaque@%${ENABLE_OPAQUE}%g" \
446             -e "s%@cf_cv_enable_reentrant@%${ENABLE_REENTRANT}%g" \
447             -e "s%@cf_cv_header_stdbool_h@%${HEADER_STDBOOL}%g" \
448             -e "s%@cf_cv_type_of_bool@%${TYPE_OF_BOOL}%g" \
449             -e "s%@cf_cv_typeof_chtype@%${TYPEOF_CHTYPE}%g" \
450             -e "s%@cf_cv_typeof_mmask_t@%${TYPEOF_MMASK_T}%g" \
451             -e "s/ _WCHAR_T/ __wchar_t/g" \
452             -e "s/ _WINT_T/ __wint_t/g"
453
454 unctrl.h: unctrl.h.in
455         sed <${NCURSES_DIR}/include/$@.in >$@ \
456             -e "/@NCURSES_MAJOR@/s%%${NCURSES_MAJOR}%" \
457             -e "/@NCURSES_MINOR@/s%%${NCURSES_MINOR}%"
458
459 # MAN page gunk
460 terminfo.5: MKterminfo.sh terminfo.head Caps
461         sh ${NCURSES_DIR}/man/MKterminfo.sh ${NCURSES_DIR}/man/terminfo.head \
462             ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/man/terminfo.tail >$@
463
464 CLEANFILES+=    terminfo.5
465
466 .if defined(ENABLE_WIDEC)
467 .PATH: ${NCURSES_DIR}/man
468 MAN=    \
469         curs_addch.3 \
470         curs_addchstr.3 \
471         curs_addstr.3 \
472         curs_attr.3 \
473         curs_beep.3 \
474         curs_bkgd.3 \
475         curs_bkgrnd.3 \
476         curs_border.3 \
477         curs_border_set.3 \
478         curs_clear.3 \
479         curs_color.3 \
480         curs_delch.3 \
481         curs_deleteln.3 \
482         curs_extend.3 \
483         curs_getcchar.3 \
484         curs_getch.3 \
485         curs_getstr.3 \
486         curs_getyx.3 \
487         curs_inch.3 \
488         curs_inchstr.3 \
489         curs_initscr.3 \
490         curs_inopts.3 \
491         curs_insch.3 \
492         curs_insstr.3 \
493         curs_instr.3 \
494         curs_inwstr.3 \
495         curs_kernel.3 \
496         curs_legacy.3 \
497         curs_memleaks.3 \
498         curs_mouse.3 \
499         curs_move.3 \
500         curs_opaque.3 \
501         curs_outopts.3 \
502         curs_overlay.3 \
503         curs_pad.3 \
504         curs_print.3 \
505         curs_refresh.3 \
506         curs_scr_dump.3 \
507         curs_scroll.3 \
508         curs_slk.3 \
509         curs_termattrs.3 \
510         curs_termcap.3 \
511         curs_terminfo.3 \
512         curs_threads.3 \
513         curs_touch.3 \
514         curs_trace.3 \
515         curs_util.3 \
516         curs_window.3 \
517         default_colors.3 \
518         define_key.3 \
519         key_defined.3 \
520         keybound.3 \
521         keyok.3 \
522         legacy_coding.3 \
523         ncurses.3 \
524         resizeterm.3 \
525         wresize.3
526
527 MAN+=   \
528         curs_add_wch.3 \
529         curs_add_wchstr.3 \
530         curs_addwstr.3 \
531         curs_get_wch.3 \
532         curs_get_wstr.3 \
533         curs_in_wch.3 \
534         curs_in_wchstr.3 \
535         curs_ins_wch.3 \
536         curs_ins_wstr.3 \
537         curs_printw.3 \
538         curs_scanw.3
539 .endif
540
541 CLEANFILES+=    ${MAN:M*.3}
542
543 MAN+=   term.5 terminfo.5
544 MAN+=   term.7
545
546 MLINKS= ncurses.3 curses.3 \
547         curs_addch.3 addch.3 \
548         curs_addch.3 echochar.3 \
549         curs_addch.3 mvaddch.3 \
550         curs_addch.3 mvwaddch.3 \
551         curs_addch.3 waddch.3 \
552         curs_addch.3 wechochar.3 \
553         curs_addchstr.3 addchnstr.3 \
554         curs_addchstr.3 addchstr.3 \
555         curs_addchstr.3 mvaddchnstr.3 \
556         curs_addchstr.3 mvaddchstr.3 \
557         curs_addchstr.3 mvwaddchnstr.3 \
558         curs_addchstr.3 mvwaddchstr.3 \
559         curs_addchstr.3 waddchnstr.3 \
560         curs_addchstr.3 waddchstr.3 \
561         curs_addstr.3 addnstr.3 \
562         curs_addstr.3 addstr.3 \
563         curs_addstr.3 mvaddnstr.3 \
564         curs_addstr.3 mvaddstr.3 \
565         curs_addstr.3 mvwaddnstr.3 \
566         curs_addstr.3 mvwaddstr.3 \
567         curs_addstr.3 waddnstr.3 \
568         curs_addstr.3 waddstr.3 \
569         curs_attr.3 PAIR_NUMBER.3 \
570         curs_attr.3 attr_get.3 \
571         curs_attr.3 attr_off.3 \
572         curs_attr.3 attr_on.3 \
573         curs_attr.3 attr_set.3 \
574         curs_attr.3 attroff.3 \
575         curs_attr.3 attron.3 \
576         curs_attr.3 attrset.3 \
577         curs_attr.3 chgat.3 \
578         curs_attr.3 color_set.3 \
579         curs_attr.3 mvchgat.3 \
580         curs_attr.3 mvwchgat.3 \
581         curs_attr.3 standend.3 \
582         curs_attr.3 standout.3 \
583         curs_attr.3 wattr_get.3 \
584         curs_attr.3 wattr_off.3 \
585         curs_attr.3 wattr_on.3 \
586         curs_attr.3 wattr_set.3 \
587         curs_attr.3 wattroff.3 \
588         curs_attr.3 wattron.3 \
589         curs_attr.3 wattrset.3 \
590         curs_attr.3 wchgat.3 \
591         curs_attr.3 wcolor_set.3 \
592         curs_attr.3 wstandend.3 \
593         curs_attr.3 wstandout.3 \
594         curs_beep.3 beep.3 \
595         curs_beep.3 flash.3 \
596         curs_bkgd.3 bkgd.3 \
597         curs_bkgd.3 bkgdset.3 \
598         curs_bkgd.3 getbkgd.3 \
599         curs_bkgd.3 wbkgd.3 \
600         curs_bkgd.3 wbkgdset.3 \
601         curs_bkgrnd.3 bkgrnd.3 \
602         curs_bkgrnd.3 bkgrndset.3 \
603         curs_bkgrnd.3 getbkgrnd.3 \
604         curs_bkgrnd.3 wbkgrnd.3 \
605         curs_bkgrnd.3 wbkgrndset.3 \
606         curs_bkgrnd.3 wgetbkgrnd.3 \
607         curs_border.3 border.3 \
608         curs_border.3 box.3 \
609         curs_border.3 hline.3 \
610         curs_border.3 mvhline.3 \
611         curs_border.3 mvvline.3 \
612         curs_border.3 mvwhline.3 \
613         curs_border.3 mvwvline.3 \
614         curs_border.3 vline.3 \
615         curs_border.3 wborder.3 \
616         curs_border.3 whline.3 \
617         curs_border.3 wvline.3 \
618         curs_border_set.3 border_set.3 \
619         curs_border_set.3 box_set.3 \
620         curs_border_set.3 hline_set.3 \
621         curs_border_set.3 mvhline_set.3 \
622         curs_border_set.3 mvvline_set.3 \
623         curs_border_set.3 mvwhline_set.3 \
624         curs_border_set.3 mvwvline_set.3 \
625         curs_border_set.3 vline_set.3 \
626         curs_border_set.3 wborder_set.3 \
627         curs_border_set.3 whline_set.3 \
628         curs_border_set.3 wvline_set.3 \
629         curs_clear.3 clear.3 \
630         curs_clear.3 clrtobot.3 \
631         curs_clear.3 clrtoeol.3 \
632         curs_clear.3 erase.3 \
633         curs_clear.3 wclear.3 \
634         curs_clear.3 wclrtobot.3 \
635         curs_clear.3 wclrtoeol.3 \
636         curs_clear.3 werase.3 \
637         curs_color.3 COLOR_PAIR.3 \
638         curs_color.3 can_change_color.3 \
639         curs_color.3 color_content.3 \
640         curs_color.3 has_colors.3 \
641         curs_color.3 init_color.3 \
642         curs_color.3 init_pair.3 \
643         curs_color.3 pair_content.3 \
644         curs_color.3 start_color.3 \
645         curs_delch.3 delch.3 \
646         curs_delch.3 mvdelch.3 \
647         curs_delch.3 mvwdelch.3 \
648         curs_delch.3 wdelch.3 \
649         curs_deleteln.3 deleteln.3 \
650         curs_deleteln.3 insdelln.3 \
651         curs_deleteln.3 insertln.3 \
652         curs_deleteln.3 wdeleteln.3 \
653         curs_deleteln.3 winsdelln.3 \
654         curs_deleteln.3 winsertln.3 \
655         curs_extend.3 curses_version.3 \
656         curs_extend.3 use_extended_names.3 \
657         curs_getcchar.3 getcchar.3 \
658         curs_getcchar.3 setcchar.3 \
659         curs_getch.3 getch.3 \
660         curs_getch.3 has_key.3 \
661         curs_getch.3 mvgetch.3 \
662         curs_getch.3 mvwgetch.3 \
663         curs_getch.3 ungetch.3 \
664         curs_getch.3 wgetch.3 \
665         curs_getstr.3 getnstr.3 \
666         curs_getstr.3 getstr.3 \
667         curs_getstr.3 mvgetnstr.3 \
668         curs_getstr.3 mvgetstr.3 \
669         curs_getstr.3 mvwgetnstr.3 \
670         curs_getstr.3 mvwgetstr.3 \
671         curs_getstr.3 wgetnstr.3 \
672         curs_getstr.3 wgetstr.3 \
673         curs_getyx.3 getbegyx.3 \
674         curs_getyx.3 getmaxyx.3 \
675         curs_getyx.3 getparyx.3 \
676         curs_getyx.3 getyx.3 \
677         curs_inch.3 inch.3 \
678         curs_inch.3 mvinch.3 \
679         curs_inch.3 mvwinch.3 \
680         curs_inch.3 winch.3 \
681         curs_inchstr.3 inchnstr.3 \
682         curs_inchstr.3 inchstr.3 \
683         curs_inchstr.3 mvinchnstr.3 \
684         curs_inchstr.3 mvinchstr.3 \
685         curs_inchstr.3 mvwinchnstr.3 \
686         curs_inchstr.3 mvwinchstr.3 \
687         curs_inchstr.3 winchnstr.3 \
688         curs_inchstr.3 winchstr.3 \
689         curs_initscr.3 delscreen.3 \
690         curs_initscr.3 endwin.3 \
691         curs_initscr.3 initscr.3 \
692         curs_initscr.3 isendwin.3 \
693         curs_initscr.3 newterm.3 \
694         curs_initscr.3 set_term.3 \
695         curs_inopts.3 cbreak.3 \
696         curs_inopts.3 echo.3 \
697         curs_inopts.3 halfdelay.3 \
698         curs_inopts.3 intrflush.3 \
699         curs_inopts.3 keypad.3 \
700         curs_inopts.3 meta.3 \
701         curs_inopts.3 nocbreak.3 \
702         curs_inopts.3 nodelay.3 \
703         curs_inopts.3 noecho.3 \
704         curs_inopts.3 noqiflush.3 \
705         curs_inopts.3 noraw.3 \
706         curs_inopts.3 notimeout.3 \
707         curs_inopts.3 qiflush.3 \
708         curs_inopts.3 raw.3 \
709         curs_inopts.3 timeout.3 \
710         curs_inopts.3 typeahead.3 \
711         curs_inopts.3 wtimeout.3 \
712         curs_insch.3 insch.3 \
713         curs_insch.3 mvinsch.3 \
714         curs_insch.3 mvwinsch.3 \
715         curs_insch.3 winsch.3 \
716         curs_insstr.3 insnstr.3 \
717         curs_insstr.3 insstr.3 \
718         curs_insstr.3 mvinsnstr.3 \
719         curs_insstr.3 mvinsstr.3 \
720         curs_insstr.3 mvwinsnstr.3 \
721         curs_insstr.3 mvwinsstr.3 \
722         curs_insstr.3 winsnstr.3 \
723         curs_insstr.3 winsstr.3 \
724         curs_instr.3 innstr.3 \
725         curs_instr.3 instr.3 \
726         curs_instr.3 mvinnstr.3 \
727         curs_instr.3 mvinstr.3 \
728         curs_instr.3 mvwinnstr.3 \
729         curs_instr.3 mvwinstr.3 \
730         curs_instr.3 winnstr.3 \
731         curs_instr.3 winstr.3 \
732         curs_kernel.3 curs_set.3 \
733         curs_kernel.3 def_prog_mode.3 \
734         curs_kernel.3 def_shell_mode.3 \
735         curs_kernel.3 getsyx.3 \
736         curs_kernel.3 napms.3 \
737         curs_kernel.3 reset_prog_mode.3 \
738         curs_kernel.3 reset_shell_mode.3 \
739         curs_kernel.3 resetty.3 \
740         curs_kernel.3 ripoffline.3 \
741         curs_kernel.3 savetty.3 \
742         curs_kernel.3 setsyx.3 \
743         curs_legacy.3 getbegx.3 \
744         curs_legacy.3 getbegy.3 \
745         curs_legacy.3 getcurx.3 \
746         curs_legacy.3 getcury.3 \
747         curs_legacy.3 getmaxx.3 \
748         curs_legacy.3 getmaxy.3 \
749         curs_legacy.3 getparx.3 \
750         curs_legacy.3 getpary.3 \
751         curs_memleaks.3 _nc_free_and_exit.3 \
752         curs_memleaks.3 _nc_freeall.3 \
753         curs_mouse.3 getmouse.3 \
754         curs_mouse.3 mouse_trafo.3 \
755         curs_mouse.3 mouseinterval.3 \
756         curs_mouse.3 mousemask.3 \
757         curs_mouse.3 ungetmouse.3 \
758         curs_mouse.3 wenclose.3 \
759         curs_mouse.3 wmouse_trafo.3 \
760         curs_move.3 move.3 \
761         curs_move.3 wmove.3 \
762         curs_opaque.3 is_cleared.3 \
763         curs_opaque.3 is_idcok.3 \
764         curs_opaque.3 is_idlok.3 \
765         curs_opaque.3 is_immedok.3 \
766         curs_opaque.3 is_keypad.3 \
767         curs_opaque.3 is_leaveok.3 \
768         curs_opaque.3 is_nodelay.3 \
769         curs_opaque.3 is_notimeout.3 \
770         curs_opaque.3 is_scrollok.3 \
771         curs_opaque.3 is_syncok.3 \
772         curs_opaque.3 is_timeout.3 \
773         curs_opaque.3 wgetparent.3 \
774         curs_opaque.3 wgetscrreg.3 \
775         curs_outopts.3 clearok.3 \
776         curs_outopts.3 idcok.3 \
777         curs_outopts.3 idlok.3 \
778         curs_outopts.3 immedok.3 \
779         curs_outopts.3 leaveok.3 \
780         curs_outopts.3 nl.3 \
781         curs_outopts.3 nonl.3 \
782         curs_outopts.3 scrollok.3 \
783         curs_outopts.3 setscrreg.3 \
784         curs_outopts.3 wsetscrreg.3 \
785         curs_overlay.3 copywin.3 \
786         curs_overlay.3 overlay.3 \
787         curs_overlay.3 overwrite.3 \
788         curs_pad.3 newpad.3 \
789         curs_pad.3 pecho_wchar.3 \
790         curs_pad.3 pechochar.3 \
791         curs_pad.3 pnoutrefresh.3 \
792         curs_pad.3 prefresh.3 \
793         curs_pad.3 subpad.3 \
794         curs_print.3 mcprint.3 \
795         curs_refresh.3 doupdate.3 \
796         curs_refresh.3 redrawwin.3 \
797         curs_refresh.3 refresh.3 \
798         curs_refresh.3 wnoutrefresh.3 \
799         curs_refresh.3 wredrawln.3 \
800         curs_refresh.3 wrefresh.3 \
801         curs_scr_dump.3 scr_dump.3 \
802         curs_scr_dump.3 scr_init.3 \
803         curs_scr_dump.3 scr_restore.3 \
804         curs_scr_dump.3 scr_set.3 \
805         curs_scroll.3 scrl.3 \
806         curs_scroll.3 scroll.3 \
807         curs_scroll.3 wscrl.3 \
808         curs_slk.3 slk_attr.3 \
809         curs_slk.3 slk_attr_off.3 \
810         curs_slk.3 slk_attr_on.3 \
811         curs_slk.3 slk_attr_set.3 \
812         curs_slk.3 slk_attroff.3 \
813         curs_slk.3 slk_attron.3 \
814         curs_slk.3 slk_attrset.3 \
815         curs_slk.3 slk_clear.3 \
816         curs_slk.3 slk_color.3 \
817         curs_slk.3 slk_init.3 \
818         curs_slk.3 slk_label.3 \
819         curs_slk.3 slk_noutrefresh.3 \
820         curs_slk.3 slk_refresh.3 \
821         curs_slk.3 slk_restore.3 \
822         curs_slk.3 slk_set.3 \
823         curs_slk.3 slk_touch.3 \
824         curs_termattrs.3 baudrate.3 \
825         curs_termattrs.3 erasechar.3 \
826         curs_termattrs.3 erasewchar.3 \
827         curs_termattrs.3 has_ic.3 \
828         curs_termattrs.3 has_il.3 \
829         curs_termattrs.3 killchar.3 \
830         curs_termattrs.3 killwchar.3 \
831         curs_termattrs.3 longname.3 \
832         curs_termattrs.3 term_attrs.3 \
833         curs_termattrs.3 termattrs.3 \
834         curs_termattrs.3 termname.3 \
835         curs_termcap.3 termcap.3 \
836         curs_termcap.3 tgetent.3 \
837         curs_termcap.3 tgetflag.3 \
838         curs_termcap.3 tgetnum.3 \
839         curs_termcap.3 tgetstr.3 \
840         curs_termcap.3 tgoto.3 \
841         curs_termcap.3 tputs.3 \
842         curs_terminfo.3 del_curterm.3 \
843         curs_terminfo.3 mvcur.3 \
844         curs_terminfo.3 putp.3 \
845         curs_terminfo.3 restartterm.3 \
846         curs_terminfo.3 set_curterm.3 \
847         curs_terminfo.3 setterm.3 \
848         curs_terminfo.3 setupterm.3 \
849         curs_terminfo.3 tigetflag.3 \
850         curs_terminfo.3 tigetnum.3 \
851         curs_terminfo.3 tigetstr.3 \
852         curs_terminfo.3 tparm.3 \
853         curs_terminfo.3 vid_attr.3 \
854         curs_terminfo.3 vid_puts.3 \
855         curs_terminfo.3 vidattr.3 \
856         curs_terminfo.3 vidputs.3 \
857         curs_threads.3 set_escdelay.3 \
858         curs_threads.3 set_tabsize.3 \
859         curs_threads.3 use_screen.3 \
860         curs_threads.3 use_window.3 \
861         curs_touch.3 is_linetouched.3 \
862         curs_touch.3 is_wintouched.3 \
863         curs_touch.3 touchline.3 \
864         curs_touch.3 touchwin.3 \
865         curs_touch.3 untouchwin.3 \
866         curs_touch.3 wtouchln.3 \
867         curs_trace.3 _nc_tracebits.3 \
868         curs_trace.3 _traceattr.3 \
869         curs_trace.3 _traceattr2.3 \
870         curs_trace.3 _tracechar.3 \
871         curs_trace.3 _tracechtype.3 \
872         curs_trace.3 _tracechtype2.3 \
873         curs_trace.3 _tracedump.3 \
874         curs_trace.3 _tracef.3 \
875         curs_trace.3 _tracemouse.3 \
876         curs_trace.3 trace.3 \
877         curs_util.3 delay_output.3 \
878         curs_util.3 filter.3 \
879         curs_util.3 flushinp.3 \
880         curs_util.3 getwin.3 \
881         curs_util.3 key_name.3 \
882         curs_util.3 keyname.3 \
883         curs_util.3 nofilter.3 \
884         curs_util.3 putwin.3 \
885         curs_util.3 unctrl.3 \
886         curs_util.3 use_env.3 \
887         curs_util.3 wunctrl.3 \
888         curs_window.3 delwin.3 \
889         curs_window.3 derwin.3 \
890         curs_window.3 dupwin.3 \
891         curs_window.3 mvderwin.3 \
892         curs_window.3 mvwin.3 \
893         curs_window.3 newwin.3 \
894         curs_window.3 subwin.3 \
895         curs_window.3 syncok.3 \
896         curs_window.3 wcursyncup.3 \
897         curs_window.3 wsyncdown.3 \
898         curs_window.3 wsyncup.3 \
899         default_colors.3 assume_default_colors.3 \
900         default_colors.3 use_default_colors.3 \
901         legacy_coding.3 use_legacy_coding.3 \
902         resizeterm.3 is_term_resized.3 \
903         resizeterm.3 resize_term.3
904
905 .if defined(ENABLE_WIDEC)
906 MLINKS+=curs_add_wch.3 add_wch.3 \
907         curs_add_wch.3 echo_wchar.3 \
908         curs_add_wch.3 mvadd_wch.3 \
909         curs_add_wch.3 mvwadd_wch.3 \
910         curs_add_wch.3 wadd_wch.3 \
911         curs_add_wch.3 wecho_wchar.3 \
912         curs_add_wchstr.3 add_wchnstr.3 \
913         curs_add_wchstr.3 add_wchstr.3 \
914         curs_add_wchstr.3 mvadd_wchnstr.3 \
915         curs_add_wchstr.3 mvadd_wchstr.3 \
916         curs_add_wchstr.3 mvwadd_wchnstr.3 \
917         curs_add_wchstr.3 mvwadd_wchstr.3 \
918         curs_add_wchstr.3 wadd_wchnstr.3 \
919         curs_add_wchstr.3 wadd_wchstr.3 \
920         curs_addwstr.3 addnwstr.3 \
921         curs_addwstr.3 addwstr.3 \
922         curs_addwstr.3 mvaddnwstr.3 \
923         curs_addwstr.3 mvaddwstr.3 \
924         curs_addwstr.3 mvwaddnwstr.3 \
925         curs_addwstr.3 mvwaddwstr.3 \
926         curs_addwstr.3 waddnwstr.3 \
927         curs_addwstr.3 waddwstr.3 \
928         curs_get_wch.3 get_wch.3 \
929         curs_get_wch.3 mvget_wch.3 \
930         curs_get_wch.3 mvwget_wch.3 \
931         curs_get_wch.3 unget_wch.3 \
932         curs_get_wch.3 wget_wch.3 \
933         curs_get_wstr.3 get_wstr.3 \
934         curs_get_wstr.3 getn_wstr.3 \
935         curs_get_wstr.3 mvget_wstr.3 \
936         curs_get_wstr.3 mvgetn_wstr.3 \
937         curs_get_wstr.3 mvwget_wstr.3 \
938         curs_get_wstr.3 mvwgetn_wstr.3 \
939         curs_get_wstr.3 wget_wstr.3 \
940         curs_get_wstr.3 wgetn_wstr.3 \
941         curs_in_wch.3 in_wch.3 \
942         curs_in_wch.3 mvin_wch.3 \
943         curs_in_wch.3 mvwin_wch.3 \
944         curs_in_wch.3 win_wch.3 \
945         curs_in_wchstr.3 in_wchnstr.3 \
946         curs_in_wchstr.3 in_wchstr.3 \
947         curs_in_wchstr.3 mvin_wchnstr.3 \
948         curs_in_wchstr.3 mvin_wchstr.3 \
949         curs_in_wchstr.3 mvwin_wchnstr.3 \
950         curs_in_wchstr.3 mvwin_wchstr.3 \
951         curs_in_wchstr.3 win_wchnstr.3 \
952         curs_in_wchstr.3 win_wchstr.3 \
953         curs_ins_wch.3 ins_wch.3 \
954         curs_ins_wch.3 mvins_wch.3 \
955         curs_ins_wch.3 mvwins_wch.3 \
956         curs_ins_wch.3 wins_wch.3 \
957         curs_ins_wstr.3 ins_nwstr.3 \
958         curs_ins_wstr.3 ins_wstr.3 \
959         curs_ins_wstr.3 mvins_nwstr.3 \
960         curs_ins_wstr.3 mvins_wstr.3 \
961         curs_ins_wstr.3 mvwins_nwstr.3 \
962         curs_ins_wstr.3 mvwins_wstr.3 \
963         curs_ins_wstr.3 wins_nwstr.3 \
964         curs_ins_wstr.3 wins_wstr.3 \
965         curs_inwstr.3 innwstr.3 \
966         curs_inwstr.3 inwstr.3 \
967         curs_inwstr.3 mvinnwstr.3 \
968         curs_inwstr.3 mvinwstr.3 \
969         curs_inwstr.3 mvwinnwstr.3 \
970         curs_inwstr.3 mvwinwstr.3 \
971         curs_inwstr.3 winnwstr.3 \
972         curs_inwstr.3 winwstr.3 \
973         curs_printw.3 mvprintw.3 \
974         curs_printw.3 mvwprintw.3 \
975         curs_printw.3 printw.3 \
976         curs_printw.3 vw_printw.3 \
977         curs_printw.3 vwprintw.3 \
978         curs_printw.3 wprintw.3 \
979         curs_scanw.3 mvscanw.3 \
980         curs_scanw.3 mvwscanw.3 \
981         curs_scanw.3 scanw.3 \
982         curs_scanw.3 vw_scanw.3 \
983         curs_scanw.3 vwscanw.3 \
984         curs_scanw.3 wscanw.3
985 .endif
986
987
988 .include <bsd.lib.mk>
989
990 # Keep the .SUFFIXES line after the include of bsd.lib.mk
991 .SUFFIXES: .3 .3x
992 .3x.3:
993         cat ${.IMPSRC} > ${.TARGET}