Makefile revision 1.44
1#	$NetBSD: Makefile,v 1.44 2011/07/28 01:56:26 christos Exp $
2#	@(#)Makefile	8.1 (Berkeley) 6/4/93
3
4USE_SHLIBDIR=	yes
5
6WIDECHAR ?= yes
7WARNS=	4
8LIB=	edit
9
10LIBDPLIBS+=     terminfo ${.CURDIR}/../libterminfo
11
12OSRCS=	chared.c common.c el.c emacs.c fcns.c filecomplete.c help.c \
13	hist.c keymacro.c map.c chartype.c \
14	parse.c prompt.c read.c refresh.c search.c sig.c terminal.c tty.c vi.c
15
16MAN=	editline.3 editrc.5
17
18MLINKS=	editline.3 el_init.3 editline.3 el_end.3 editline.3 el_reset.3 \
19	editline.3 el_gets.3 editline.3 el_getc.3 editline.3 el_push.3 \
20	editline.3 el_parse.3 editline.3 el_set.3 editline.3 el_get.3 \
21	editline.3 el_source.3 editline.3 el_resize.3 editline.3 el_line.3 \
22	editline.3 el_insertstr.3 editline.3 el_deletestr.3 \
23	editline.3 history_init.3 editline.3 history_end.3 \
24	editline.3 history.3 \
25	editline.3 tok_init.3 editline.3 tok_end.3 editline.3 tok_reset.3 \
26	editline.3 tok_line.3 editline.3 tok_str.3
27
28# For speed and debugging
29#SRCS=   ${OSRCS} readline.c tokenizer.c history.c
30# For protection
31SRCS=	editline.c readline.c tokenizer.c history.c
32
33.if ${WIDECHAR} == "yes"
34OSRCS += eln.c
35SRCS += tokenizern.c historyn.c
36CLEANFILES+=tokenizern.c.tmp tokenizern.c historyn.c.tmp historyn.c
37CPPFLAGS+=-DWIDECHAR
38.endif
39
40LIBEDITDIR?=${.CURDIR}
41
42INCS= histedit.h
43INCSDIR=/usr/include
44
45CLEANFILES+=editline.c
46CLEANFILES+=common.h.tmp editline.c.tmp emacs.h.tmp fcns.c.tmp fcns.h.tmp
47CLEANFILES+=help.c.tmp help.h.tmp vi.h.tmp tc1.o tc1
48CLEANFILES+=tokenizern.c.tmp tokenizern.c tokenizerw.c.tmp tokenizerw.c
49CPPFLAGS+=-I. -I${LIBEDITDIR} 
50CPPFLAGS+=-I. -I${.CURDIR}
51CPPFLAGS+=#-DDEBUG_TTY -DDEBUG_KEY -DDEBUG_READ -DDEBUG -DDEBUG_REFRESH
52CPPFLAGS+=#-DDEBUG_PASTE -DDEBUG_EDIT
53
54AHDR=vi.h emacs.h common.h 
55ASRC=${LIBEDITDIR}/vi.c ${LIBEDITDIR}/emacs.c ${LIBEDITDIR}/common.c
56
57DPSRCS+=	${AHDR} fcns.h help.h fcns.c help.c
58CLEANFILES+=	${AHDR} fcns.h help.h fcns.c help.c
59
60SUBDIR=	readline
61
62vi.h: vi.c makelist Makefile
63	${_MKTARGET_CREATE}
64	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/vi.c \
65	    > ${.TARGET}.tmp && \
66	    mv ${.TARGET}.tmp ${.TARGET}
67
68emacs.h: emacs.c makelist Makefile
69	${_MKTARGET_CREATE}
70	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/emacs.c \
71	    > ${.TARGET}.tmp && \
72	    mv ${.TARGET}.tmp ${.TARGET}
73
74common.h: common.c makelist Makefile
75	${_MKTARGET_CREATE}
76	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/common.c \
77	    > ${.TARGET}.tmp && \
78	    mv ${.TARGET}.tmp ${.TARGET}
79
80fcns.h: ${AHDR} makelist Makefile
81	${_MKTARGET_CREATE}
82	${HOST_SH} ${LIBEDITDIR}/makelist -fh ${AHDR} > ${.TARGET}.tmp && \
83	    mv ${.TARGET}.tmp ${.TARGET}
84
85fcns.c: ${AHDR} fcns.h help.h makelist Makefile
86	${_MKTARGET_CREATE}
87	${HOST_SH} ${LIBEDITDIR}/makelist -fc ${AHDR} > ${.TARGET}.tmp && \
88	    mv ${.TARGET}.tmp ${.TARGET}
89
90help.c: ${ASRC} makelist Makefile
91	${_MKTARGET_CREATE}
92	${HOST_SH} ${LIBEDITDIR}/makelist -bc ${ASRC} > ${.TARGET}.tmp && \
93	    mv ${.TARGET}.tmp ${.TARGET}
94
95help.h: ${ASRC} makelist Makefile
96	${_MKTARGET_CREATE}
97	${HOST_SH} ${LIBEDITDIR}/makelist -bh ${ASRC} > ${.TARGET}.tmp && \
98	    mv ${.TARGET}.tmp ${.TARGET}
99
100editline.c: ${OSRCS} makelist Makefile
101	${_MKTARGET_CREATE}
102	${HOST_SH} ${LIBEDITDIR}/makelist -e ${OSRCS:T} > ${.TARGET}.tmp && \
103	    mv ${.TARGET}.tmp ${.TARGET}
104
105tokenizern.c: makelist Makefile
106	${_MKTARGET_CREATE}
107	${HOST_SH} ${LIBEDITDIR}/makelist -n tokenizer.c > ${.TARGET}.tmp && \
108	    mv ${.TARGET}.tmp ${.TARGET}
109
110historyn.c: makelist Makefile
111	${_MKTARGET_CREATE}
112	${HOST_SH} ${LIBEDITDIR}/makelist -n history.c > ${.TARGET}.tmp && \
113	    mv ${.TARGET}.tmp ${.TARGET}
114
115tc1.o:	${LIBEDITDIR}/TEST/tc1.c
116
117tc1:	libedit.a tc1.o 
118	${_MKTARGET_LINK}
119	${CC} ${LDFLAGS} ${.ALLSRC} -o ${.TARGET} libedit.a ${LDADD} -ltermlib
120
121.include <bsd.lib.mk>
122.include <bsd.subdir.mk>
123
124# XXX
125.if ${HAVE_GCC} >= 45
126COPTS.editline.c+=	-Wno-cast-qual
127COPTS.tokenizer.c+=	-Wno-cast-qual
128COPTS.tokenizern.c+=	-Wno-cast-qual
129.endif
130