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