xref: /freebsd/contrib/libedit/Makefile (revision 136d69caf03bc38de95c4df34c5a683e9ce81bfa)
1#	$NetBSD: Makefile,v 1.70 2023/08/03 14:56:36 rin Exp $
2#	@(#)Makefile	8.1 (Berkeley) 6/4/93
3
4USE_SHLIBDIR=	yes
5
6WARNS?=	5
7LIB=	edit
8
9LIBDPLIBS+=     terminfo ${.CURDIR}/../libterminfo
10
11.include "bsd.own.mk"
12
13COPTS+=	-Wunused-parameter
14CWARNFLAGS.gcc+=	-Wconversion
15CWARNFLAGS.clang+=	-Wno-cast-qual
16
17SRCS =	chared.c chartype.c common.c el.c eln.c emacs.c filecomplete.c \
18	hist.c history.c historyn.c keymacro.c literal.c map.c \
19	parse.c prompt.c read.c readline.c refresh.c search.c sig.c \
20	terminal.c tokenizer.c tokenizern.c tty.c vi.c
21
22MAN=	editline.3 editrc.5 editline.7
23
24FILES+=			libedit.pc
25FILESOWN_libedit.pc=	${BINOWN}
26FILESGRP_libedit.pc=	${BINGRP}
27FILESMODE_libedit.pc=	${NONBINMODE}
28FILESDIR_libedit.pc=	/usr/lib/pkgconfig
29
30MLINKS= \
31editline.3 el_deletestr.3 \
32editline.3 el_end.3 \
33editline.3 el_get.3 \
34editline.3 el_getc.3 \
35editline.3 el_gets.3 \
36editline.3 el_init.3 \
37editline.3 el_init_fd.3 \
38editline.3 el_insertstr.3 \
39editline.3 el_line.3 \
40editline.3 el_parse.3 \
41editline.3 el_push.3 \
42editline.3 el_reset.3 \
43editline.3 el_resize.3 \
44editline.3 el_set.3 \
45editline.3 el_source.3 \
46editline.3 history.3 \
47editline.3 history_end.3 \
48editline.3 history_init.3 \
49editline.3 tok_end.3 \
50editline.3 tok_init.3 \
51editline.3 tok_line.3 \
52editline.3 tok_reset.3 \
53editline.3 tok_str.3
54
55MLINKS+= \
56editline.3 el_wdeletestr.3 \
57editline.3 el_wget.3 \
58editline.3 el_wgetc.3 \
59editline.3 el_wgets.3 \
60editline.3 el_winsertstr.3 \
61editline.3 el_wline.3 \
62editline.3 el_wparse.3 \
63editline.3 el_wpush.3 \
64editline.3 el_wset.3 \
65editline.3 history_w.3 \
66editline.3 history_wend.3 \
67editline.3 history_winit.3 \
68editline.3 tok_wend.3 \
69editline.3 tok_winit.3 \
70editline.3 tok_wline.3 \
71editline.3 tok_wreset.3 \
72editline.3 tok_wstr.3
73
74LIBEDITDIR?=${.CURDIR}
75
76INCS= histedit.h
77INCSDIR=/usr/include
78
79CLEANFILES+=common.h.tmp emacs.h.tmp fcns.h.tmp func.h.tmp
80CLEANFILES+=help.h.tmp vi.h.tmp tc1.o tc1 .depend
81
82CPPFLAGS+=-I. -I${LIBEDITDIR}
83CPPFLAGS+=-I. -I${.CURDIR}
84#CPPFLAGS+=-DDEBUG_TTY -DDEBUG_KEY -DDEBUG -DDEBUG_REFRESH
85#CPPFLAGS+=-DDEBUG_PASTE -DDEBUG_EDIT
86
87AHDR=vi.h emacs.h common.h
88ASRC=${LIBEDITDIR}/vi.c ${LIBEDITDIR}/emacs.c ${LIBEDITDIR}/common.c
89
90DPSRCS+=	${AHDR} fcns.h func.h help.h
91CLEANFILES+=	${AHDR} fcns.h func.h help.h
92
93SUBDIR=	readline
94
95.depend: ${AHDR} fcns.h func.h help.h
96
97vi.h: vi.c makelist Makefile
98	${_MKTARGET_CREATE}
99	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/vi.c \
100	    > ${.TARGET}.tmp && \
101	    mv ${.TARGET}.tmp ${.TARGET}
102
103emacs.h: emacs.c makelist Makefile
104	${_MKTARGET_CREATE}
105	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/emacs.c \
106	    > ${.TARGET}.tmp && \
107	    mv ${.TARGET}.tmp ${.TARGET}
108
109common.h: common.c makelist Makefile
110	${_MKTARGET_CREATE}
111	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/common.c \
112	    > ${.TARGET}.tmp && \
113	    mv ${.TARGET}.tmp ${.TARGET}
114
115fcns.h: ${AHDR} makelist Makefile
116	${_MKTARGET_CREATE}
117	${HOST_SH} ${LIBEDITDIR}/makelist -fh ${AHDR} > ${.TARGET}.tmp && \
118	    mv ${.TARGET}.tmp ${.TARGET}
119
120func.h: ${AHDR} makelist Makefile
121	${_MKTARGET_CREATE}
122	${HOST_SH} ${LIBEDITDIR}/makelist -fc ${AHDR} > ${.TARGET}.tmp && \
123	    mv ${.TARGET}.tmp ${.TARGET}
124
125help.h: ${ASRC} makelist Makefile
126	${_MKTARGET_CREATE}
127	${HOST_SH} ${LIBEDITDIR}/makelist -bh ${ASRC} > ${.TARGET}.tmp && \
128	    mv ${.TARGET}.tmp ${.TARGET}
129
130tc1.o:	${LIBEDITDIR}/TEST/tc1.c
131
132tc1:	libedit.a tc1.o
133	${_MKTARGET_LINK}
134	${CC} ${LDFLAGS} ${.ALLSRC} -o ${.TARGET} libedit.a ${LDADD} -ltermlib
135
136.include <bsd.lib.mk>
137.include <bsd.subdir.mk>
138
139# XXX
140.if defined(HAVE_GCC)
141COPTS.editline.c+=	-Wno-cast-qual
142COPTS.literal.c+=	-Wno-sign-conversion
143COPTS.tokenizer.c+=	-Wno-cast-qual
144COPTS.tokenizern.c+=	-Wno-cast-qual
145.endif
146
147COPTS.history.c+=	${CC_WNO_STRINGOP_OVERFLOW}
148COPTS.historyn.c+=	${CC_WNO_STRINGOP_OVERFLOW}
149COPTS.readline.c+=	${CC_WNO_STRINGOP_TRUNCATION} ${CC_WNO_STRINGOP_OVERFLOW}
150