11.25Smrg#	$NetBSD: Makefile,v 1.25 2025/09/18 03:36:00 mrg Exp $
21.18Sroy
31.18Sroy.include <bsd.own.mk>
41.1Sroy
51.1SroyUSE_SHLIBDIR=	yes
61.1Sroy
71.1SroyLIB=		terminfo
81.22SmattWARNS?=		5
91.1Sroy
101.9SroyCPPFLAGS+=	-I${.CURDIR}
111.3Sroy
121.1SroySRCS=		term.c ti.c setupterm.c curterm.c tparm.c tputs.c
131.23SroySRCS+=		hash.c
141.1SroyINCS=		term.h
151.1SroyINCSDIR=	/usr/include
161.1Sroy
171.23Sroy# For ramdisks there is no database to read from so remove compat
181.23Sroy# and the need to read from them.
191.23Sroy# While here, remove the ability to compile terminfo descriptions
201.23Sroy# from $TERMINFO as well.
211.23Sroy# This means the library requires any terminal needed built into it.
221.23Sroy.if !defined(SMALLPROG)
231.23SroyCPPFLAGS+=	-DTERMINFO_COMPILE -DTERMINFO_DB -DTERMINFO_COMPAT
241.23SroySRCS+=		compile.c
251.25Smrg
261.25SmrgCOPTS.compile.c+=	${CC_WNO_CALLOC_TRANSPOSED_ARGS}
271.23Sroy.endif
281.23Sroy
291.25SmrgCOPTS.tparm.c+=		-Wno-format-nonliteral
301.18Sroy
311.1SroyMAN=		terminfo.3 terminfo.5
321.1SroyMLINKS=		terminfo.3 setupterm.3 \
331.1Sroy		terminfo.3 set_curterm.3 terminfo.3 del_curterm.3 \
341.17Sroy		terminfo.3 termname.3 terminfo.3 longname.3 \
351.1Sroy		terminfo.3 tigetnum.3 terminfo.3 tigetflag.3 \
361.1Sroy		terminfo.3 tigetstr.3 terminfo.3 tparm.3 terminfo.3 tputs.3 \
371.1Sroy		terminfo.3 putp.3 \
381.1Sroy		terminfo.3 ti_setupterm.3 terminfo.3 ti_getflag.3 \
391.1Sroy		terminfo.3 ti_getnum.3 terminfo.3 ti_getstr.3 \
401.16Sroy		terminfo.3 tiparm.3 terminfo.3 ti_tiparm.3 \
411.1Sroy		terminfo.3 ti_puts.3 terminfo.3 ti_putp.3
421.1Sroy
431.1Sroy# Build in termcap emulation
441.1SroySRCS+=		termcap.c
451.1SroyINCS+=		termcap.h
461.1SroyMAN+=		termcap.3
471.1SroyMLINKS+=	termcap.3 tgetent.3 termcap.3 tgetflag.3 termcap.3 tgetnum.3 \
481.1Sroy		termcap.3 tgetstr.3 termcap.3 tgoto.3
491.1Sroy
501.18SroyCPPFLAGS+=	-I${.OBJDIR}
511.18Sroy
521.24Smartin.include "Makefile.hash"
531.18Sroy
541.3Sroy# Generate our man pages
551.20Syamtterminfo.5: genman terminfo.5.in term.h termcap_map.c
561.3Sroy		@echo "Generating terminfo man pages"
571.20Syamt		${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC} > ${.TARGET}
581.4Sroy
591.10SnjolyCLEANFILES+=	terminfo.5
601.10Snjoly
611.4Sroyman: terminfo.5
621.1Sroy
631.1Sroy.include <bsd.shlib.mk>
641.1Sroy
651.1Sroy.if ${MKLINKLIB} != "no"
661.1SroySYMLINKS+=	libterminfo.a ${LIBDIR}/libtermcap.a
671.1SroySYMLINKS+=	libterminfo.a ${LIBDIR}/libtermlib.a
681.1Sroy.endif
691.1Sroy
701.1Sroy.if ${MKPROFILE} != "no"
711.1SroySYMLINKS+=	libterminfo_p.a ${LIBDIR}/libtermcap_p.a
721.1SroySYMLINKS+=	libterminfo_p.a ${LIBDIR}/libtermlib_p.a
731.1Sroy.endif
741.1Sroy
751.1Sroy.if ${MKPIC} != "no"
761.1Sroy
771.1Sroy.if ${MKPICINSTALL} != "no"
781.1SroySYMLINKS+=	libterminfo_pic.a ${LIBDIR}/libtermcap_pic.a
791.1SroySYMLINKS+=	libterminfo_pic.a ${LIBDIR}/libtermlib_pic.a
801.1Sroy.endif
811.1Sroy
821.1Sroy.if exists(${.CURDIR}/shlib_version)
831.1SroySYMLINKS+=	libterminfo.so.${SHLIB_FULLVERSION} \
841.1Sroy		${_LIBSODIR}/libtermcap.so.0.6
851.1SroySYMLINKS+=	libterminfo.so.${SHLIB_FULLVERSION} \
861.1Sroy		${_LIBSODIR}/libtermlib.so.0.6
871.1Sroy.if ${_LIBSODIR} != ${LIBDIR}
881.1SroySYMLINKS+=	libterminfo.so.${SHLIB_FULLVERSION} \
891.1Sroy		${LIBDIR}/libtermcap.so.0.6
901.1SroySYMLINKS+=	libterminfo.so.${SHLIB_FULLVERSION} \
911.1Sroy		${LIBDIR}/libtermlib.so.0.6
921.1Sroy.endif
931.1Sroy
941.1SroySYMLINKS+=	libterminfo.so.${SHLIB_MAJOR} \
951.1Sroy		${_LIBSODIR}/libtermcap.so.0
961.1SroySYMLINKS+=	libterminfo.so ${_LIBSODIR}/libtermcap.so
971.1SroySYMLINKS+=	libterminfo.so.${SHLIB_MAJOR} \
981.1Sroy		${_LIBSODIR}/libtermlib.so.0
991.1SroySYMLINKS+=	libterminfo.so ${_LIBSODIR}/libtermlib.so
1001.1Sroy.if ${_LIBSODIR} != ${LIBDIR}
1011.1SroySYMLINKS+=	libterminfo.so.${SHLIB_MAJOR} \
1021.12Smrg		${LIBDIR}/libtermcap.so.0
1031.1SroySYMLINKS+=	libterminfo.so ${LIBDIR}/libtermcap.so
1041.1SroySYMLINKS+=	libterminfo.so.${SHLIB_MAJOR} \
1051.1Sroy		${LIBDIR}/libtermlib.so.0
1061.1SroySYMLINKS+=	libterminfo.so ${LIBDIR}/libtermlib.so
1071.1Sroy.endif
1081.1Sroy.endif	# exists shlib_version
1091.1Sroy
1101.1Sroy.endif	# ${MKPIC} != "no"
1111.1Sroy
1121.1Sroy.include <bsd.lib.mk>
113