| @@ -1,127 +1,128 @@ | | | @@ -1,127 +1,128 @@ |
1 | # $NetBSD: Makefile,v 1.21 2020/04/12 17:28:57 martin Exp $ | | 1 | # $NetBSD: Makefile,v 1.22 2020/04/20 13:04:10 joerg Exp $ |
2 | | | 2 | |
3 | .include <bsd.own.mk> | | 3 | .include <bsd.own.mk> |
4 | | | 4 | |
5 | USE_WIDECHAR?=yes | | 5 | USE_WIDECHAR?=yes |
6 | | | 6 | |
7 | WARNS= 5 | | 7 | WARNS= 5 |
8 | | | 8 | |
9 | COPTS.exf.c+= -Wno-format-nonliteral | | 9 | COPTS.exf.c+= -Wno-format-nonliteral |
10 | COPTS.msg.c+= -Wno-format-nonliteral | | 10 | COPTS.msg.c+= -Wno-format-nonliteral |
11 | .if ${USE_WIDECHAR} == "yes" | | 11 | .if ${USE_WIDECHAR} == "yes" |
12 | .if ${ACTIVE_CC} == "gcc" | | 12 | .if ${ACTIVE_CC} == "gcc" |
13 | COPTS.regexec.c+= -Wno-old-style-definition | | 13 | COPTS.regexec.c+= -Wno-old-style-definition |
14 | .endif | | 14 | .endif |
15 | .else | | 15 | .else |
16 | COPTS.v_increment.c+= -Wno-format-nonliteral | | 16 | COPTS.v_increment.c+= -Wno-format-nonliteral |
17 | CWARNFLAGS.gcc+= -Wno-unused | | 17 | CWARNFLAGS.gcc+= -Wno-unused |
18 | CWARNFLAGS.clang+= -Wno-unsequenced | | 18 | CWARNFLAGS.clang+= -Wno-unsequenced |
19 | .endif | | 19 | .endif |
| | | 20 | CWARNFLAGS.clang+= -Wno-error=string-compare |
20 | | | 21 | |
21 | CPPFLAGS+=-I${DIST}/include -I${.CURDIR} -I. | | 22 | CPPFLAGS+=-I${DIST}/include -I${.CURDIR} -I. |
22 | CPPFLAGS+=-DGTAGS -DIMCTRL | | 23 | CPPFLAGS+=-DGTAGS -DIMCTRL |
23 | CPPFLAGS+=-DHAVE_OPENPTY -DHAVE_UTIL_H | | 24 | CPPFLAGS+=-DHAVE_OPENPTY -DHAVE_UTIL_H |
24 | CPPFLAGS+=-DHAVE_SIGTIMEDWAIT | | 25 | CPPFLAGS+=-DHAVE_SIGTIMEDWAIT |
25 | CPPFLAGS+=-DHAVE_MVWCHGAT | | 26 | CPPFLAGS+=-DHAVE_MVWCHGAT |
26 | | | 27 | |
27 | #DBG=-g | | 28 | #DBG=-g |
28 | #CPPFLAGS+=-DLOGDEBUG -DTRACE | | 29 | #CPPFLAGS+=-DLOGDEBUG -DTRACE |
29 | #CPPFLAGS+=-DDBDEBUG -DTRACE | | 30 | #CPPFLAGS+=-DDBDEBUG -DTRACE |
30 | #CPPFLAGS+=-DQUEUEDEBUG | | 31 | #CPPFLAGS+=-DQUEUEDEBUG |
31 | | | 32 | |
32 | LDADD+= -lcurses -lterminfo -lutil | | 33 | LDADD+= -lcurses -lterminfo -lutil |
33 | DPADD+= ${LIBCURSES} ${LIBTERMINFO} ${LIBUTIL} | | 34 | DPADD+= ${LIBCURSES} ${LIBTERMINFO} ${LIBUTIL} |
34 | PROG= vi | | 35 | PROG= vi |
35 | SRCS= api.c cl_bsd.c cl_funcs.c cl_main.c cl_read.c cl_screen.c cl_term.c \ | | 36 | SRCS= api.c cl_bsd.c cl_funcs.c cl_main.c cl_read.c cl_screen.c cl_term.c \ |
36 | conv.c cut.c delete.c ex.c ex_abbrev.c ex_append.c \ | | 37 | conv.c cut.c delete.c ex.c ex_abbrev.c ex_append.c \ |
37 | ex_args.c ex_argv.c ex_at.c ex_bang.c ex_cd.c ex_cmd.c ex_cscope.c \ | | 38 | ex_args.c ex_argv.c ex_at.c ex_bang.c ex_cd.c ex_cmd.c ex_cscope.c \ |
38 | ex_delete.c ex_display.c ex_edit.c ex_equal.c ex_file.c ex_filter.c \ | | 39 | ex_delete.c ex_display.c ex_edit.c ex_equal.c ex_file.c ex_filter.c \ |
39 | ex_global.c ex_init.c ex_join.c ex_map.c ex_mark.c ex_mkexrc.c \ | | 40 | ex_global.c ex_init.c ex_join.c ex_map.c ex_mark.c ex_mkexrc.c \ |
40 | ex_move.c ex_open.c ex_perl.c ex_preserve.c ex_print.c ex_put.c \ | | 41 | ex_move.c ex_open.c ex_perl.c ex_preserve.c ex_print.c ex_put.c \ |
41 | ex_quit.c ex_read.c ex_screen.c ex_script.c ex_set.c ex_shell.c \ | | 42 | ex_quit.c ex_read.c ex_screen.c ex_script.c ex_set.c ex_shell.c \ |
42 | ex_shift.c ex_source.c ex_stop.c ex_subst.c ex_tag.c ex_tcl.c \ | | 43 | ex_shift.c ex_source.c ex_stop.c ex_subst.c ex_tag.c ex_tcl.c \ |
43 | ex_txt.c ex_undo.c ex_usage.c ex_util.c ex_version.c ex_visual.c \ | | 44 | ex_txt.c ex_undo.c ex_usage.c ex_util.c ex_version.c ex_visual.c \ |
44 | ex_write.c ex_yank.c ex_z.c exf.c getc.c gs.c \ | | 45 | ex_write.c ex_yank.c ex_z.c exf.c getc.c gs.c \ |
45 | key.c trace.c \ | | 46 | key.c trace.c \ |
46 | main.c mark.c msg.c nothread.c options.c options_f.c put.c recover.c \ | | 47 | main.c mark.c msg.c nothread.c options.c options_f.c put.c recover.c \ |
47 | screen.c search.c seq.c util.c v_at.c v_ch.c v_cmd.c v_delete.c \ | | 48 | screen.c search.c seq.c util.c v_at.c v_ch.c v_cmd.c v_delete.c \ |
48 | v_event.c v_ex.c v_increment.c v_init.c v_itxt.c v_left.c v_mark.c \ | | 49 | v_event.c v_ex.c v_increment.c v_init.c v_itxt.c v_left.c v_mark.c \ |
49 | v_match.c v_paragraph.c v_put.c v_redraw.c v_replace.c v_right.c \ | | 50 | v_match.c v_paragraph.c v_put.c v_redraw.c v_replace.c v_right.c \ |
50 | v_screen.c v_scroll.c v_search.c v_section.c v_sentence.c v_status.c \ | | 51 | v_screen.c v_scroll.c v_search.c v_section.c v_sentence.c v_status.c \ |
51 | v_txt.c v_ulcase.c v_undo.c v_util.c v_word.c v_xchar.c v_yank.c \ | | 52 | v_txt.c v_ulcase.c v_undo.c v_util.c v_word.c v_xchar.c v_yank.c \ |
52 | v_z.c v_zexit.c vi.c vs_line.c vs_msg.c vs_refresh.c \ | | 53 | v_z.c v_zexit.c vi.c vs_line.c vs_msg.c vs_refresh.c \ |
53 | vs_relative.c vs_smap.c vs_split.c | | 54 | vs_relative.c vs_smap.c vs_split.c |
54 | | | 55 | |
55 | NOTUSED=ip_funcs.c ip_read.c ip_screen.c ip_term.c \ | | 56 | NOTUSED=ip_funcs.c ip_read.c ip_screen.c ip_term.c \ |
56 | ip_run.c ip_send.c ip_trans.c ipc_cmd.c ipc_method.c | | 57 | ip_run.c ip_send.c ip_trans.c ipc_cmd.c ipc_method.c |
57 | | | 58 | |
58 | # For wide char support | | 59 | # For wide char support |
59 | .if ${USE_WIDECHAR} == "yes" | | 60 | .if ${USE_WIDECHAR} == "yes" |
60 | SRCS+= regcomp.c regerror.c regexec.c regfree.c | | 61 | SRCS+= regcomp.c regerror.c regexec.c regfree.c |
61 | CPPFLAGS+=-I${DIST}/regex -D__REGEX_PRIVATE -DUSE_WIDECHAR | | 62 | CPPFLAGS+=-I${DIST}/regex -D__REGEX_PRIVATE -DUSE_WIDECHAR |
62 | .endif | | 63 | .endif |
63 | | | 64 | |
64 | # For db3 db1 emulation | | 65 | # For db3 db1 emulation |
65 | #SRCS+=db1.c log.c vi_db.c | | 66 | #SRCS+=db1.c log.c vi_db.c |
66 | #CPPFLAGS+=-DUSE_DB1 | | 67 | #CPPFLAGS+=-DUSE_DB1 |
67 | | | 68 | |
68 | # For built-in db1 emulation | | 69 | # For built-in db1 emulation |
69 | SRCS+=vi_db1.c log1.c | | 70 | SRCS+=vi_db1.c log1.c |
70 | CPPFLAGS+=-DUSE_BUNDLED_DB | | 71 | CPPFLAGS+=-DUSE_BUNDLED_DB |
71 | | | 72 | |
72 | LINKS= ${BINDIR}/vi ${BINDIR}/ex ${BINDIR}/vi ${BINDIR}/view | | 73 | LINKS= ${BINDIR}/vi ${BINDIR}/ex ${BINDIR}/vi ${BINDIR}/view |
73 | MLINKS= vi.1 ex.1 vi.1 view.1 | | 74 | MLINKS= vi.1 ex.1 vi.1 view.1 |
74 | | | 75 | |
75 | DPSRCS+=options_def.h ipc_def.h ex_def.h # ipc_gen.c | | 76 | DPSRCS+=options_def.h ipc_def.h ex_def.h # ipc_gen.c |
76 | CLEANFILES+=options_def.h ipc_def.h ex_def.h # ipc_gen.c | | 77 | CLEANFILES+=options_def.h ipc_def.h ex_def.h # ipc_gen.c |
77 | | | 78 | |
78 | options_def.h: options.awk options.c | | 79 | options_def.h: options.awk options.c |
79 | ${_MKTARGET_CREATE} | | 80 | ${_MKTARGET_CREATE} |
80 | ${TOOL_AWK} -f ${.ALLSRC} >${.TARGET} | | 81 | ${TOOL_AWK} -f ${.ALLSRC} >${.TARGET} |
81 | | | 82 | |
82 | ex_def.h: ex.awk ex_cmd.c | | 83 | ex_def.h: ex.awk ex_cmd.c |
83 | ${_MKTARGET_CREATE} | | 84 | ${_MKTARGET_CREATE} |
84 | ${TOOL_AWK} -f ${.ALLSRC} >${.TARGET} | | 85 | ${TOOL_AWK} -f ${.ALLSRC} >${.TARGET} |
85 | | | 86 | |
86 | ipc_def.h: ipc.awk vipc.awk ipc_cmd.c ip_read.c | | 87 | ipc_def.h: ipc.awk vipc.awk ipc_cmd.c ip_read.c |
87 | ${_MKTARGET_CREATE} | | 88 | ${_MKTARGET_CREATE} |
88 | (${TOOL_AWK} -f ${.ALLSRC:M*/ipc.awk} ${.ALLSRC:M*/ipc_cmd.c} && \ | | 89 | (${TOOL_AWK} -f ${.ALLSRC:M*/ipc.awk} ${.ALLSRC:M*/ipc_cmd.c} && \ |
89 | ${TOOL_AWK} -f ${.ALLSRC:M*/vipc.awk} ${.ALLSRC:M*/ip_read.c}) > \ | | 90 | ${TOOL_AWK} -f ${.ALLSRC:M*/vipc.awk} ${.ALLSRC:M*/ip_read.c}) > \ |
90 | ${.TARGET} | | 91 | ${.TARGET} |
91 | | | 92 | |
92 | .for i in cl common ex ip ipc vi | | 93 | .for i in cl common ex ip ipc vi |
93 | DPSRCS+=${i}_extern.h | | 94 | DPSRCS+=${i}_extern.h |
94 | CLEANFILES+=${i}_extern.h | | 95 | CLEANFILES+=${i}_extern.h |
95 | # does not work, DIST isn't set yet here | | 96 | # does not work, DIST isn't set yet here |
96 | #_${i}_SRCS != echo ${DIST}/${i}/*.c ${DIST}/${i}/*.xs | | 97 | #_${i}_SRCS != echo ${DIST}/${i}/*.c ${DIST}/${i}/*.xs |
97 | ${i}_extern.h: ${SRCS} ${NOTUSED} | | 98 | ${i}_extern.h: ${SRCS} ${NOTUSED} |
98 | ${_MKTARGET_CREATE} | | 99 | ${_MKTARGET_CREATE} |
99 | @${TOOL_SED} -n "s/^ \* PUBLIC: \(.*\)/\1/p" ${.ALLSRC:M${DIST}/$i/*} > ${.TARGET}.tmp | | 100 | @${TOOL_SED} -n "s/^ \* PUBLIC: \(.*\)/\1/p" ${.ALLSRC:M${DIST}/$i/*} > ${.TARGET}.tmp |
100 | @if cmp -s ${.TARGET}.tmp ${.TARGET}; then \ | | 101 | @if cmp -s ${.TARGET}.tmp ${.TARGET}; then \ |
101 | rm -f ${.TARGET}.tmp; \ | | 102 | rm -f ${.TARGET}.tmp; \ |
102 | else \ | | 103 | else \ |
103 | mv -f ${.TARGET}.tmp ${.TARGET}; \ | | 104 | mv -f ${.TARGET}.tmp ${.TARGET}; \ |
104 | fi | | 105 | fi |
105 | .endfor | | 106 | .endfor |
106 | | | 107 | |
107 | DPSRCS+=version.h | | 108 | DPSRCS+=version.h |
108 | CLEANFILES+=version.h | | 109 | CLEANFILES+=version.h |
109 | version.h: ../../Makefile.inc | | 110 | version.h: ../../Makefile.inc |
110 | ${_MKTARGET_CREATE} | | 111 | ${_MKTARGET_CREATE} |
111 | echo '#define VI_VERSION "(${VERSION})"' > ${.TARGET} | | 112 | echo '#define VI_VERSION "(${VERSION})"' > ${.TARGET} |
112 | | | 113 | |
113 | #ipc_gen.c: vipc.pl ip_read.c | | 114 | #ipc_gen.c: vipc.pl ip_read.c |
114 | # ${_MKTARGET_CREATE} | | 115 | # ${_MKTARGET_CREATE} |
115 | # ${TOOL_PERL} -n ${.ALLSRC} > ${.TARGET} | | 116 | # ${TOOL_PERL} -n ${.ALLSRC} > ${.TARGET} |
116 | | | 117 | |
117 | | | 118 | |
118 | .include "${.CURDIR}/../../Makefile.inc" | | 119 | .include "${.CURDIR}/../../Makefile.inc" |
119 | | | 120 | |
120 | .PATH: ${DIST}/vi ${DIST}/ex ${DIST}/cl | | 121 | .PATH: ${DIST}/vi ${DIST}/ex ${DIST}/cl |
121 | .PATH: ${DIST}/common | | 122 | .PATH: ${DIST}/common |
122 | .PATH: ${DIST}/ipc | | 123 | .PATH: ${DIST}/ipc |
123 | .PATH: ${DIST}/ip | | 124 | .PATH: ${DIST}/ip |
124 | .PATH: ${DIST}/regex | | 125 | .PATH: ${DIST}/regex |
125 | .PATH: ${DIST}/docs/vi.man | | 126 | .PATH: ${DIST}/docs/vi.man |
126 | | | 127 | |
127 | .include <bsd.prog.mk> | | 128 | .include <bsd.prog.mk> |