3 .include "../Makefile.inc"
5 NCURSESBASEDIR=${NCURSESDIR}/ncurses/base
6 NCURSESSERIALDIR=${NCURSESDIR}/ncurses/tty
7 NCURSESTINFODIR=${NCURSESDIR}/ncurses/tinfo
8 NCURSESTRACEDIR=${NCURSESDIR}/ncurses/trace
9 NCURSESWCHARDIR=${NCURSESDIR}/ncurses/widechar
10 .PATH: ${NCURSESBASEDIR} ${NCURSESSERIALDIR} ${NCURSESTINFODIR} \
11 ${NCURSESTRACEDIR} ${NCURSESWCHARDIR} ${.OBJDIR} ${.CURDIR}/../include \
12 ${NCURSESDIR}/include/
14 CFLAGS+= -I${NCURSESDIR}/ncurses/
17 TERMINFO_CAPS= ${NCURSESDIR}/include/Caps
19 sh ${NCURSESDIR}/include/MKncurses_def.sh ${NCURSESDIR}/include/ncurses_defs > ${.TARGET}
20 curses.h: $(TERMINFO_CAPS) \
22 ${NCURSESDIR}/include/curses.tail \
23 ${NCURSESDIR}/include//MKkey_defs.sh
24 cat ${.CURDIR}/../include/curses.head >$@
25 AWK=awk sh ${NCURSESDIR}/include/MKkey_defs.sh $(TERMINFO_CAPS) >>$@
26 sh -c 'if test "cchar_t" = "cchar_t" ; then cat ${NCURSESDIR}/include/curses.wide >>$@ ; fi'
27 cat ${NCURSESDIR}/include/curses.tail >>$@
29 #curses.h: curses.head curses.tail
30 # cat ${.CURDIR}/../include/curses.head >$@
31 # sh ${NCURSESDIR}/include/MKkey_defs.sh $(TERMINFO_CAPS) >>$@
32 # cat ${NCURSESDIR}/include/curses.wide >>$@
33 # cat ${NCURSESDIR}/include/curses.tail >>$@
34 term.h: MKterm.h.awk ncurses_cfg.h
35 awk -f ${.CURDIR}/../include/MKterm.h.awk ${TERMINFO_CAPS} > $@
36 sh ${NCURSESDIR}/include/edit_cfg.sh ${.CURDIR}/../include/ncurses_cfg.h $@
38 sh ${NCURSESDIR}/include/MKhashsize.sh ${TERMINFO_CAPS} >$@
40 sh ${NCURSESDIR}/include/MKparametrized.sh ${TERMINFO_CAPS} >$@
41 init_keytry.h: make_keys keys.list
42 ./make_keys keys.list > $@
44 make_keys: ${NCURSESTINFODIR}/make_keys.c names.c ncurses_def.h
45 ${NXCC} ${NXCFLAGS} ${NXLDFLAGS} ${NCURSESTINFODIR}/make_keys.c ${NXLDLIBS} -o ${.TARGET}
48 sh ${NCURSESTINFODIR}/MKkeys_list.sh ${TERMINFO_CAPS} | sort > $@
50 names.c: ${NCURSESTINFODIR}/MKnames.awk
51 awk -f ${NCURSESTINFODIR}/MKnames.awk bigstrings=$(USE_BIG_STRINGS) ${TERMINFO_CAPS} >$@
52 #cat namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr >names.c
53 #cat namehdr boolcodes numcodes strcodes codeftr >codes.c
54 codes.c: ${NCURSESTINFODIR}/MKcodes.awk
55 awk -f ${NCURSESTINFODIR}/MKcodes.awk bigstrings=$(USE_BIG_STRINGS) ${TERMINFO_CAPS} >$@
56 comp_captab.c: make_hash
57 sh -e ${NCURSESTINFODIR}/MKcaptab.sh awk 0 ${NCURSESTINFODIR}/MKcaptab.awk ${TERMINFO_CAPS} > $@
59 make_hash: ${NCURSESTINFODIR}/comp_hash.c
60 ${NXCC} ${NXCFLAGS} ${NXLDFLAGS} -DMAIN_PROGRAM ${NXLDLIBS} -o ${.TARGET} ${NCURSESTINFODIR}/comp_hash.c
62 make_hash: hashsize.h ncurses_def.h curses.h
65 sh ${NCURSESSERIALDIR}/MKexpanded.sh "${CC}" -E ${CFLAGS} > $@
67 sh ${NCURSESTINFODIR}/MKfallback.sh /usr/share/terminfo ${NCURSESDIR}/misc/terminfo.src >$@
69 sh ${NCURSESBASEDIR}/MKlib_gen.sh "${CC} -E ${CFLAGS}" awk generated <curses.h >$@
70 lib_keyname.c: keys.list
71 awk -f ${NCURSESBASEDIR}/MKkeyname.awk keys.list > $@
73 echo | awk -f ${NCURSESBASEDIR}/MKunctrl.awk >$@
75 CLEANFILES= curses.h ncurses_def.h term.h hashsize.h parametrized.h comp_captab.c
76 CLEANFILES+= namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr
77 CLEANFILES+= codes.c init_keytry.h numcodes strcodes boolcodes codeftr make_keys names.c
78 CLEANFILES+= make_hash expanded.c fallback.c lib_gen.c lib_keyname.c unctrl.c keys.list
281 # Use instead of read_termcap.c.
282 # From our old libtermcap.
285 SYMLINKS+=libncurses.a ${LIBDIR}/libcurses.a
286 SYMLINKS+=libncurses.a ${LIBDIR}/libtinfo.a
287 SYMLINKS+=libncurses.a ${LIBDIR}/libmytinfo.a
288 SYMLINKS+=libncurses.a ${LIBDIR}/libtermlib.a
289 SYMLINKS+=libncurses.a ${LIBDIR}/libtermcap.a
291 # no need for major at all, it's an ld-time redirection only
292 SYMLINKS+=libncurses.so ${SHLIBDIR}/libcurses.so
293 SYMLINKS+=libncurses.so ${SHLIBDIR}/libtermcap.so
294 SYMLINKS+=libncurses.so ${SHLIBDIR}/libtermlib.so
295 SYMLINKS+=libncurses.so ${SHLIBDIR}/libmytinfo.so
296 SYMLINKS+=libncurses.so ${SHLIBDIR}/libtinfo.so
298 .if !defined(NOPROFILE)
299 SYMLINKS+=libncurses.a ${PROFLIBDIR}/libcurses.a
300 SYMLINKS+=libncurses.a ${PROFLIBDIR}/libtermcap.a
301 SYMLINKS+=libncurses.a ${PROFLIBDIR}/libtermlib.a
302 SYMLINKS+=libncurses.a ${PROFLIBDIR}/libmytinfo.a
303 SYMLINKS+=libncurses.a ${PROFLIBDIR}/libtinfo.a
306 INCS= term.h ${.CURDIR}/../include/termcap.h \
307 ${.CURDIR}/../include/unctrl.h curses.h \
308 ${NCURSESDIR}/include/ncurses_dll.h
309 INCSLINKS=curses.h ${INCLUDEDIR}/ncurses.h
311 # Make the generated files depend on the headers, otherwise
312 # the make depend step cannot run -j parallel due to not yet
313 # knowing what the actual dependencies are.
316 comp_captab.c: ${INCS}
320 lib_keyname.c: ${INCS}
324 .include <bsd.lib.mk>