This commit was generated by cvs2svn to track changes on a CVS vendor
[unix-history] / usr.bin / vi / Makefile
CommitLineData
304585c1 1# @(#)Makefile 8.30 (Berkeley) 3/22/94
31248f1f 2# $Id: Makefile,v 1.13 1994/04/08 07:36:06 csgr Exp $
1e64b3ba 3
c2057a87 4PROG= nvi
1e64b3ba
JH
5#CFLAGS=-g -DDEBUG
6#CFLAGS+=-pg
304585c1 7CFLAGS+=-I. -I${.CURDIR} -I${.CURDIR}/ex -I${.CURDIR}/vi
1e64b3ba 8#STRIP=
304585c1
AM
9.PATH: ${.CURDIR}/docs ${.CURDIR}/ex ${.CURDIR}/sex ${.CURDIR}/vi \
10 ${.CURDIR}/svi ${.CURDIR}/xaw
e71ba627 11#CLEANFILES+=ex
9429fa61
GR
12MAN1+= vi.1
13MLINKS+=vi.1 nvi.1
1e64b3ba
JH
14
15# General sources.
304585c1
AM
16SRCS= ascii.c cut.c delete.c exf.c intr.c line.c log.c main.c \
17 mark.c options.c options_f.c put.c screen.c search.c seq.c \
18 recover.c term.c timer.c trace.c util.c
1e64b3ba
JH
19
20# Ex source.
21SRCS+= ex.c ex_abbrev.c ex_append.c ex_args.c ex_argv.c ex_at.c \
22 ex_bang.c ex_cd.c ex_delete.c ex_digraph.c ex_display.c \
23 ex_edit.c ex_equal.c ex_exit.c ex_file.c ex_global.c ex_init.c \
24 ex_join.c ex_map.c ex_mark.c ex_mkexrc.c ex_move.c ex_open.c \
25 ex_preserve.c ex_print.c ex_put.c ex_read.c ex_screen.c \
26 ex_script.c ex_set.c ex_shell.c ex_shift.c ex_source.c ex_stop.c \
27 ex_subst.c ex_tag.c ex_undo.c ex_usage.c ex_util.c ex_version.c \
28 ex_visual.c ex_write.c ex_yank.c ex_z.c excmd.c filter.c
29
30# Ex screen source.
31SRCS+= sex_confirm.c sex_get.c sex_refresh.c sex_screen.c sex_term.c \
32 sex_util.c
33
34# Vi source.
304585c1
AM
35SRCS+= getc.c v_again.c v_at.c v_ch.c v_delete.c v_ex.c v_filter.c \
36 v_increment.c v_init.c v_join.c v_left.c v_mark.c v_match.c \
37 v_ntext.c v_paragraph.c v_put.c v_redraw.c v_replace.c v_right.c \
38 v_screen.c v_scroll.c v_search.c v_section.c v_sentence.c \
39 v_shift.c v_status.c v_stop.c v_switch.c v_tag.c v_text.c \
40 v_ulcase.c v_undo.c v_util.c v_word.c v_xchar.c v_yank.c \
41 v_z.c v_zexit.c vcmd.c vi.c
1e64b3ba
JH
42
43# Vi curses screen source.
44SRCS+= svi_confirm.c svi_ex.c svi_get.c svi_line.c svi_refresh.c \
45 svi_relative.c svi_screen.c svi_smap.c svi_split.c svi_util.c
46
47# Athena widget set screen source.
48SRCS+= xaw_screen.c
49
50#LDADD+=-pg
e32c4958 51DPADD+= ${LIBCURSES} ${LIBTERM} ${LIBUTIL}
304585c1 52LDADD+= -lcurses -ltermlib -lutil
1e64b3ba
JH
53SPECHDR=excmd.h options.h
54CLEANFILES+=${SPECHDR}
9195bb1b
GR
55LINKS= ${BINDIR}/nvi ${BINDIR}/vi ${BINDIR}/nvi ${BINDIR}/ex \
56 ${BINDIR}/nvi ${BINDIR}/view
1e64b3ba 57
c2057a87
AM
58all: excmd.h options.h nvi
59 - rm -f vi
60 - rm -f ex
31248f1f 61 - if [ ! -d vi ]; then ln nvi vi; fi
c2057a87 62 - if [ ! -d ex ]; then ln nvi ex; fi
1e64b3ba
JH
63
64warn:: ${SRCS}
65 -(cd ${.CURDIR} && \
304585c1 66 gcc -Wall -O -DDEBUG -Iobj -Ivi -Iex -I. ${.ALLSRC} \
1e64b3ba
JH
67 -lcurses -ltermlib 2>&1 | \
68 sed -e "/warning: .*sccsid.*defined but not used/d" \
69 -e "/warning: suggest parentheses around/d" \
70 -e "/In function /d" \
71 -e "/At top level:/d" \
72 -e "/warning: .*inline call to/d" \
73 -e "/warning: comparison is always 1 due /d") > \
74 ${.CURDIR}/WARN.OUT
75
76options.h: options.h.stub options.c # Makefile
77 rm -f options.h
78 cp ${.CURDIR}/options.h.stub options.h
79 chmod 664 options.h
80 (echo '/^\/\* O_[0-9A-Z_]*/ {'; \
81 echo 'printf("#define %s %d\n", $$2, cnt++)'; \
82 echo 'next'; \
83 echo '}'; \
84 echo 'END {'; \
85 echo 'printf("#define O_OPTIONCOUNT %d\n", cnt)'; \
86 echo '}') > /tmp/__vi.options.h
87 awk -f /tmp/__vi.options.h ${.CURDIR}/options.c >> options.h
88 rm -f /tmp/__vi.options.h
89
90excmd.h: excmd.h.stub excmd.c # Makefile
91 rm -f excmd.h
304585c1 92 cp ${.CURDIR}/ex/excmd.h.stub excmd.h
1e64b3ba
JH
93 chmod 664 excmd.h
94 (echo '/^\/\* C_[0-9A-Z_]* \*\/$$/ {'; \
95 echo 'printf("#define %s %d\n", $$2, cnt++)'; \
96 echo 'next'; \
97 echo '}') > /tmp/__vi.excmd.h
304585c1 98 awk -f /tmp/__vi.excmd.h ${.CURDIR}/ex/excmd.c >> excmd.h
1e64b3ba
JH
99 rm -f /tmp/__vi.excmd.h
100
304585c1
AM
101docs: vi.0.txt vi.0.ps vi.ref.txt vi.ref.ps
102vi.0.txt: vi.1 set.opt.roff
103 cpp -DMANUAL -I${.CURDIR}/docs ${.CURDIR}/docs/vi.1 | \
104 sed -e '/^#/d' -e '/^$$/d' | groff -man -Tascii > $@
105vi.0.ps: vi.1 set.opt.roff
106 cpp -DMANUAL -I${.CURDIR}/docs ${.CURDIR}/docs/vi.1 | \
107 sed -e '/^#/d' -e '/^$$/d' | groff -man > $@
108vi.ref.txt: vi.ref set.opt.roff
109 cpp -DREFERENCE -I${.CURDIR}/docs ${.CURDIR}/docs/vi.ref | \
110 sed -e '/^#/d' -e '/^$$/d' | groff -man -Tascii > $@
111vi.ref.ps: vi.ref set.opt.roff
112 cpp -DREFERENCE -I${.CURDIR}/docs ${.CURDIR}/docs/vi.ref | \
113 sed -e '/^#/d' -e '/^$$/d' | groff -man > $@
114
1e64b3ba
JH
115.include <bsd.prog.mk>
116
304585c1 117.depend: compat.h ${SPECHDR}