summaryrefslogtreecommitdiffstats
path: root/usr.bin/vi/Makefile
blob: 170e89dbb3452e17770e51e2149af4dfb1cc7f02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#
# $FreeBSD$
#

SRCDIR=		${.CURDIR}/../../contrib/nvi

CFLAGS+=	-DGTAGS

#if using ncurses:
CFLAGS+=	-DSYSV_CURSES

VI=	nvi
EX=	nex
VIEW=	nview

PROG=	nvi

LINKS=	${BINDIR}/${VI} ${BINDIR}/${EX} ${BINDIR}/${VI} ${BINDIR}/${VIEW}
LINKS+= ${BINDIR}/${VI} ${BINDIR}/vi ${BINDIR}/${EX} ${BINDIR}/ex
LINKS+= ${BINDIR}/${VI} ${BINDIR}/view

MAN=	${SRCDIR}/docs/USD.doc/vi.man/vi.1
MLINKS+=vi.1 ex.1 vi.1 view.1
MLINKS+=vi.1 nex.1 vi.1 nview.1 vi.1 nvi.1

CATALOGS= dutch english french german polish ru_SU.KOI8-R spanish swedish \
          uk_UA.KOI8-U
NLLINKS= nl_NL
ENLINKS= en_AU en_CA en_GB en_NZ en_US
FRLINKS= fr_BE fr_CA fr_CH fr_FR
DELINKS= de_AT de_CH de_DE
ESLINKS= es_ES
SVLINKS= sv_SE
PLLINKS= pl_PL

.PATH:	${SRCDIR}/common
.PATH:	${SRCDIR}/ex
.PATH:	${SRCDIR}/cl
.PATH:	${SRCDIR}/vi

CFLAGS+=-I${.CURDIR} -I${SRCDIR} -I${SRCDIR}/include

DPADD+=		${LIBNCURSES}
LDADD+=		-lncurses

CLEANFILES+=${EX}

# Vi curses sources
SRCS+=	cl_bsd.c cl_funcs.c cl_main.c cl_read.c cl_screen.c cl_term.c

# General sources.
SRCS+=	cut.c delete.c exf.c key.c line.c log.c main.c mark.c msg.c options.c \
	options_f.c put.c screen.c search.c seq.c recover.c util.c

# Ex source.
SRCS+=	ex.c ex_abbrev.c ex_append.c ex_args.c ex_argv.c ex_at.c ex_bang.c \
	ex_cd.c ex_cmd.c ex_cscope.c ex_delete.c ex_display.c \
	ex_edit.c ex_equal.c ex_file.c ex_filter.c ex_global.c \
	ex_init.c ex_join.c ex_map.c ex_mark.c ex_mkexrc.c ex_move.c \
	ex_open.c ex_preserve.c ex_print.c ex_put.c ex_quit.c \
	ex_read.c ex_screen.c ex_script.c ex_set.c ex_shell.c \
	ex_shift.c ex_source.c ex_stop.c ex_subst.c ex_tag.c \
	ex_txt.c ex_undo.c ex_usage.c ex_util.c ex_version.c ex_visual.c \
	ex_write.c ex_yank.c ex_z.c ex_notcl.c ex_noperl.c

# Vi source.
SRCS+=	getc.c v_at.c v_ch.c v_cmd.c v_delete.c v_ex.c v_increment.c v_init.c \
	v_itxt.c v_left.c v_mark.c v_match.c v_paragraph.c v_put.c v_redraw.c \
	v_replace.c v_right.c v_screen.c v_scroll.c v_search.c v_section.c \
	v_sentence.c v_status.c v_txt.c v_ulcase.c v_undo.c \
	v_util.c v_word.c v_xchar.c v_yank.c v_z.c v_zexit.c vi.c

# Vi screen source.
SRCS+=	vs_line.c vs_msg.c vs_refresh.c vs_relative.c vs_smap.c vs_split.c

# unifdef has some *weird* exit codes, sigh!  RTFM unifdef(1)...
ex_notcl.c: ex_tcl.c
	-unifdef -UHAVE_TCL_INTERP ${SRCDIR}/ex/ex_tcl.c > ${.TARGET}

ex_noperl.c: ex_perl.c
	-unifdef -UHAVE_PERL_INTERP ${SRCDIR}/ex/ex_perl.c > ${.TARGET}

CLEANFILES+=	ex_notcl.c ex_noperl.c

afterinstall:
	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \
		${CATALOGS:S;^;${SRCDIR}/catalog/;} \
		${DESTDIR}/usr/share/vi/catalog
	for l in ${NLLINKS}; do \
		ln -fs dutch ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-1; \
		ln -fs dutch ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-1; \
		ln -fs dutch ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-15; \
		ln -fs dutch ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-15; \
	done
	for l in ${ENLINKS}; do \
		ln -fs english ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-1; \
		ln -fs english ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-1; \
		ln -fs english ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-15; \
		ln -fs english ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-15; \
		ln -fs english ${DESTDIR}/usr/share/vi/catalog/$$l.US-ASCII; \
	done
	ln -fs english ${DESTDIR}/usr/share/vi/catalog/US-ASCII
	ln -fs english ${DESTDIR}/usr/share/vi/catalog/ASCII
	ln -fs english ${DESTDIR}/usr/share/vi/catalog/POSIX
	ln -fs english ${DESTDIR}/usr/share/vi/catalog/C
	for l in ${FRLINKS}; do \
		ln -fs french ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-1; \
		ln -fs french ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-1; \
		ln -fs french ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-15; \
		ln -fs french ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-15; \
	done
	for l in ${DELINKS}; do \
		ln -fs german ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-1; \
		ln -fs german ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-1; \
		ln -fs german ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-15; \
		ln -fs german ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-15; \
	done
	for l in ${ESLINKS}; do \
		ln -fs spanish ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-1; \
		ln -fs spanish ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-1; \
		ln -fs spanish ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-15; \
		ln -fs spanish ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-15; \
	done
	for l in ${SVLINKS}; do \
		ln -fs swedish ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-1; \
		ln -fs swedish ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-1; \
		ln -fs swedish ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-15; \
		ln -fs swedish ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-15; \
	done
	for l in ${PLLINKS}; do \
		ln -fs polish ${DESTDIR}/usr/share/vi/catalog/$$l.ISO8859-2; \
		ln -fs polish ${DESTDIR}/usr/share/vi/catalog/$$l.ISO_8859-2; \
	done
	ln -fs ru_SU.KOI8-R ${DESTDIR}/usr/share/vi/catalog/ru_RU.KOI8-R

.include <bsd.prog.mk>
OpenPOWER on IntegriCloud