1#	$NetBSD: Makefile,v 1.56 2016/03/02 19:24:20 christos Exp $
2#	@(#)Makefile	8.1 (Berkeley) 6/4/93
3# $FreeBSD: stable/11/lib/libedit/Makefile 328884 2018-02-05 15:02:35Z pfg $
4
5PACKAGE=clibs
6
7SHLIB_MAJOR=	7
8SHLIBDIR?= /lib
9
10WARNS?=	3
11LIB=	edit
12
13LIBADD=	ncursesw
14
15OSRCS=	chared.c common.c el.c eln.c emacs.c fcns.c filecomplete.c help.c \
16	hist.c keymacro.c map.c chartype.c \
17	parse.c prompt.c read.c refresh.c search.c sig.c terminal.c tty.c vi.c
18
19MAN=	editline.3 editrc.5
20
21MLINKS=	editline.3 el_deletestr.3 editline.3 el_end.3 editline.3 el_init.3 \
22	editline.3 el_get.3 editline.3 el_getc.3 editline.3 el_gets.3 \
23	editline.3 history.3 editline.3 history_end.3 \
24	editline.3 history_init.3 editline.3 el_insertstr.3 \
25	editline.3 el_line.3 editline.3 el_parse.3 editline.3 el_push.3 \
26	editline.3 el_reset.3 editline.3 el_resize.3 editline.3 el_set.3 \
27	editline.3 el_source.3 \
28	editline.3 tok_init.3 editline.3 tok_end.3 editline.3 tok_reset.3 \
29	editline.3 tok_line.3 editline.3 tok_str.3
30
31# For speed and debugging
32#SRCS=   ${OSRCS} readline.c tokenizer.c history.c
33# For protection
34SRCS=	editline.c readline.c tokenizer.c history.c	
35SRCS+=	common.h emacs.h fcns.h help.h vi.h
36
37# Widechar
38SRCS+=	tokenizern.c historyn.c
39CLEANFILES+=	tokenizern.c historyn.c
40
41INCS=	histedit.h
42
43CLEANFILES+= common.h editline.c emacs.h fcns.c fcns.h help.c help.h vi.h
44CFLAGS+= -I. -I${.CURDIR} -I${.CURDIR}/edit -DWIDECHAR
45#CFLAGS+= -DDEBUG_TTY -DDEBUG_KEY -DDEBUG_READ -DDEBUG -DDEBUG_REFRESH
46#CFLAGS+= -DDEBUG_PASTE -DDEBUG_EDIT
47
48AHDR=	vi.h emacs.h common.h
49ASRC=	${.CURDIR}/vi.c ${.CURDIR}/emacs.c ${.CURDIR}/common.c
50
51SUBDIR= edit/readline
52
53.for hdr in vi emacs common
54${hdr}.h: ${hdr}.c makelist
55	sh ${.CURDIR}/makelist -h ${.CURDIR}/${hdr}.c > ${.TARGET}
56.endfor
57
58fcns.h: ${AHDR} makelist
59	sh ${.CURDIR}/makelist -fh ${AHDR} > ${.TARGET}
60
61fcns.c: ${AHDR} fcns.h makelist
62	sh ${.CURDIR}/makelist -fc ${AHDR} > ${.TARGET}
63
64help.c: ${ASRC} makelist
65	sh ${.CURDIR}/makelist -bc ${ASRC} > ${.TARGET}
66
67help.h: ${ASRC} makelist
68	sh ${.CURDIR}/makelist -bh ${ASRC} > ${.TARGET}
69
70editline.c: ${OSRCS}
71	sh ${.CURDIR}/makelist -e ${.ALLSRC:T} > ${.TARGET}
72
73tokenizern.c: makelist Makefile
74	sh ${.CURDIR}/makelist -n tokenizer.c > ${.TARGET}
75
76historyn.c: makelist Makefile
77	sh ${.CURDIR}/makelist -n history.c > ${.TARGET}
78
79# minimal dependency to make "make depend" optional
80editline.o editline.po editline.pico editline.ln:	\
81	common.h emacs.h fcns.c fcns.h help.c help.h vi.h
82
83tc1.o: ${.CURDIR}/TEST/tc1.c
84
85test: tc1.o libedit.a ${DPADD} ${LIBTERMCAP}
86	${CC} ${CFLAGS} ${.ALLSRC} -o ${.TARGET} libedit.a ${LDADD}
87
88.include <bsd.lib.mk>
89