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