2 # $FreeBSD: src/usr.bin/vi/Makefile,v 1.27.2.7 2002/08/07 16:32:01 ru Exp $
3 # $DragonFly: src/usr.bin/vi/Makefile,v 1.5 2006/06/24 00:04:18 sephe Exp $
5 # This has most of the glue needed to compile tknvi and the perl hooks,
9 SRCDIR
= ${.CURDIR
}/..
/..
/contrib
/nvi
12 .if defined
(RELEASE_CRUNCH
)
13 # When building `vi' for the fixit floppy, don't include any of the
15 APISTUFF
= ex_notcl.c ex_noperl.c
19 #TCLINTERP= yes #we don't have it in the base tree
20 #TKNVI= yes #not ready, needs X11, tk, doesn't quite work yet
21 #PERLINTERP= yes #works if perl has no thread support built in
23 APISTUFF
= ex_tcl.c ex_perl.c
25 .if defined
(PERLINTERP
)
27 CFLAGS
+= -DHAVE_PERL_5_003_01
# If perl >= 5.03.01
35 CFLAGS
+= -DSYSV_CURSES
43 LINKS
= ${BINDIR}/${VI} ${BINDIR}/${EX} ${BINDIR}/${VI} ${BINDIR}/${VIEW}
44 LINKS
+= ${BINDIR}/${VI} ${BINDIR}/vi
${BINDIR}/${EX} ${BINDIR}/ex
45 LINKS
+= ${BINDIR}/${VI} ${BINDIR}/view
47 MAN
= ${SRCDIR}/docs
/USD.doc
/vi.man
/vi
.1
48 MLINKS
+=vi
.1 ex
.1 vi
.1 view
.1
49 MLINKS
+=vi
.1 nex
.1 vi
.1 nview
.1 vi
.1 nvi
.1
51 CATALOGS
= dutch english french german polish ru_SU.KOI8-R spanish swedish \
54 ENLINKS
= en_AU en_CA en_GB en_US
55 FRLINKS
= fr_BE fr_CA fr_CH fr_FR
56 DELINKS
= de_AT de_CH de_DE
61 .PATH
: ${SRCDIR}/common
66 CFLAGS
+=-I
${.CURDIR
} -I
${SRCDIR} -I
${SRCDIR}/include -I
${SRCDIR}/vi
75 LDADD
+= -L
/usr
/local
/lib
-L
/usr
/X11R6
/lib
-ltk41
-lX11
76 CFLAGS
+= -I
/usr
/local
/include -I
/usr
/X11R6
/include
79 .if defined
(TCLINTERP
)
80 .PATH
: ${SRCDIR}/tcl_api
81 DPADD
+= ${LIBTCL} ${LIBM}
83 CFLAGS
+= -DHAVE_TCL_INTERP
-I
${DESTDIR}/usr
/include/tcl
86 .if defined
(PERLINTERP
)
87 .PATH
: ${SRCDIR}/perl_api
89 # Perl "knows" how to compile its components. Ask it for details...
90 PERLLIB
!= ${PERL} -MConfig
-e
'print $$Config{privlib}'
91 PERLCPPFLAGS
!= cd
${SRCDIR}/build
; ${PERL} -MExtUtils
::Embed
-e
'ccflags;perl_inc'
92 PERLLIBS
!= cd
${SRCDIR}/build
; ${PERL} -MExtUtils
::Embed
-e
'ldopts'
93 PERLLDFLAGS
!= cd
${SRCDIR}/build
; ${PERL} -MExtUtils
::Embed
-e
'ccdlflags'
95 LDADD
+= ${PERLLDFLAGS} ${PERLLIBS}
96 CFLAGS
+= -DHAVE_PERL_INTERP
${PERLCPPFLAGS}
104 SRCS
+= cl_bsd.c cl_funcs.c cl_main.c cl_read.c cl_screen.c cl_term.c
109 SRCS
+= tk_funcs.c tk_main.c tk_read.c tk_screen.c tk_term.c tk_util.c
112 # Vi Tcl/Perl interpreter sources
113 .if defined
(TCLINTERP
) || defined
(PERLINTERP
)
116 .if defined
(TCLINTERP
)
119 .if defined
(PERLINTERP
)
120 # perl.c is generated
121 SRCS
+= perl.c perlsfio.c
125 SRCS
+= cut.c delete.c exf.c key.c line.c log.c main.c mark.c msg.c options.c \
126 options_f.c put.c screen.c search.c seq.c recover.c util.c
129 SRCS
+= ex.c ex_abbrev.c ex_append.c ex_args.c ex_argv.c ex_at.c ex_bang.c \
130 ex_cd.c ex_cmd.c ex_cscope.c ex_delete.c ex_display.c \
131 ex_edit.c ex_equal.c ex_file.c ex_filter.c ex_global.c \
132 ex_init.c ex_join.c ex_map.c ex_mark.c ex_mkexrc.c ex_move.c \
133 ex_open.c ex_preserve.c ex_print.c ex_put.c ex_quit.c \
134 ex_read.c ex_screen.c ex_script.c ex_set.c ex_shell.c \
135 ex_shift.c ex_source.c ex_stop.c ex_subst.c ex_tag.c \
136 ex_txt.c ex_undo.c ex_usage.c ex_util.c ex_version.c ex_visual.c \
137 ex_write.c ex_yank.c ex_z.c
${APISTUFF}
140 SRCS
+= getc.c v_at.c v_ch.c v_cmd.c v_delete.c v_ex.c v_increment.c v_init.c \
141 v_itxt.c v_left.c v_mark.c v_match.c v_paragraph.c v_put.c v_redraw.c \
142 v_replace.c v_right.c v_screen.c v_scroll.c v_search.c v_section.c \
143 v_sentence.c v_status.c v_txt.c v_ulcase.c v_undo.c \
144 v_util.c v_word.c v_xchar.c v_yank.c v_z.c v_zexit.c vi.c
147 SRCS
+= vs_line.c vs_msg.c vs_refresh.c vs_relative.c vs_smap.c vs_split.c
150 .if defined
(PERLINTERP
)
151 perl.c
: perl.xs typemap
152 echo
"#define _PATH_PERLSCRIPTS \"/usr/share/vi/perl\"" > ${.TARGET
}
153 $(PERL
) $(PERLLIB
)/ExtUtils
/xsubpp
-typemap \
154 $(PERLLIB
)/ExtUtils
/typemap
$(SRCDIR
)/perl_api
/perl.xs
>> ${.TARGET
}
155 ($(PERL
) -ne
'print "sub $$1 {\$$curscr->$$1(\@_)}\n" \
156 if /newXS\("VI::([^":]*)"/;' $@
; echo
"1;") > VI.pm
158 CLEANFILES
+= VI.pm perl.c
161 # unifdef has some *weird* exit codes, sigh! RTFM unifdef(1)...
163 -unifdef
-UHAVE_TCL_INTERP
${SRCDIR}/ex
/ex_tcl.c
> ${.TARGET
}
165 ex_noperl.c
: ex_perl.c
166 -unifdef
-UHAVE_PERL_INTERP
${SRCDIR}/ex
/ex_perl.c
> ${.TARGET
}
168 v_ex.c
: ${CONTRIBDIR}/vi
/v_ex.c
${.CURDIR
}/patches
/v_ex.c.patch
169 patch
-o
${.TARGET
} -i
${.ALLSRC
:M
*.patch
} ${CONTRIBDIR}/vi
/${.TARGET
}
171 ex_write.c
: ${CONTRIBDIR}/ex
/ex_write.c
${.CURDIR
}/patches
/ex_write.c.patch
172 patch
-o
${.TARGET
} -i
${.ALLSRC
:M
*.patch
} ${CONTRIBDIR}/ex
/${.TARGET
}
174 CLEANFILES
+= ex_notcl.c ex_noperl.c
177 ${INSTALL} -o
${BINOWN} -g
${BINGRP} -m
444 \
178 ${CATALOGS
:S
;^
;${SRCDIR}/catalog
/;} \
179 ${DESTDIR}/usr
/share
/vi
/catalog
180 for l in
${NLLINKS}; do \
181 ${LN} -fs dutch
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-1
; \
182 ${LN} -fs dutch
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-1
; \
183 ${LN} -fs dutch
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-15
; \
184 ${LN} -fs dutch
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-15
; \
186 for l in
${ENLINKS}; do \
187 ${LN} -fs english
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-1
; \
188 ${LN} -fs english
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-1
; \
189 ${LN} -fs english
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-15
; \
190 ${LN} -fs english
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-15
; \
191 ${LN} -fs english
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.US-ASCII
; \
193 ${LN} -fs english
${DESTDIR}/usr
/share
/vi
/catalog
/en_US.US-ASCII
194 ${LN} -fs english
${DESTDIR}/usr
/share
/vi
/catalog
/US-ASCII
195 ${LN} -fs english
${DESTDIR}/usr
/share
/vi
/catalog
/ASCII
196 ${LN} -fs english
${DESTDIR}/usr
/share
/vi
/catalog
/POSIX
197 ${LN} -fs english
${DESTDIR}/usr
/share
/vi
/catalog
/C
198 for l in
${FRLINKS}; do \
199 ${LN} -fs french
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-1
; \
200 ${LN} -fs french
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-1
; \
201 ${LN} -fs french
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-15
; \
202 ${LN} -fs french
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-15
; \
204 for l in
${DELINKS}; do \
205 ${LN} -fs german
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-1
; \
206 ${LN} -fs german
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-1
; \
207 ${LN} -fs german
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-15
; \
208 ${LN} -fs german
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-15
; \
210 for l in
${ESLINKS}; do \
211 ${LN} -fs spanish
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-1
; \
212 ${LN} -fs spanish
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-1
; \
213 ${LN} -fs spanish
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-15
; \
214 ${LN} -fs spanish
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-15
; \
216 for l in
${SVLINKS}; do \
217 ${LN} -fs swedish
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-1
; \
218 ${LN} -fs swedish
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-1
; \
219 ${LN} -fs swedish
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-15
; \
220 ${LN} -fs swedish
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-15
; \
222 for l in
${PLLINKS}; do \
223 ${LN} -fs polish
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO8859-2
; \
224 ${LN} -fs polish
${DESTDIR}/usr
/share
/vi
/catalog
/$$l.ISO_8859-2
; \
226 ${LN} -fs ru_SU.KOI8-R
${DESTDIR}/usr
/share
/vi
/catalog
/ru_RU.KOI8-R
227 ${INSTALL} -o
${BINOWN} -g
${BINGRP} -m
444 \
228 ${SRCDIR}/tcl_scripts
/*.tcl \
229 ${DESTDIR}/usr
/share
/vi
/tcl
230 ${INSTALL} -o
${BINOWN} -g
${BINGRP} -m
444 \
231 ${SRCDIR}/perl_scripts
/*.pl \
232 ${DESTDIR}/usr
/share
/vi
/perl
233 .if defined
(PERLINTERP
)
234 ${INSTALL} -o
${BINOWN} -g
${BINGRP} -m
444 VI.pm \
235 ${DESTDIR}/usr
/share
/vi
/perl
238 .
include <bsd.prog.mk
>