Makefile revision 19310
1# 2# $Id$ 3# 4# This has most of the glue needed to compile tknvi and the perl hooks, 5# but not all. 6# 7 8SRCDIR= ${.CURDIR}/../../contrib/nvi 9 10TCLINTERP= yes #fine, in base tree, little cost 11#TKNVI= tknvi #not ready, needs X11, tk 12#PERLINTERP= no #not ready, needs perl5.002+ 13 14#if using ncurses: 15CFLAGS+= -DSYSV_CURSES 16 17VI= nvi 18EX= nex 19VIEW= nview 20 21PROG= nvi 22 23LINKS= ${BINDIR}/${VI} ${BINDIR}/${EX} ${BINDIR}/${VI} ${BINDIR}/${VIEW} 24LINKS+= ${BINDIR}/${VI} ${BINDIR}/vi ${BINDIR}/${EX} ${BINDIR}/ex 25LINKS+= ${BINDIR}/${VI} ${BINDIR}/view 26 27MAN1= ${SRCDIR}/docs/USD.doc/vi.man/vi.1 28MLINKS+=vi.1 ex.1 vi.1 view.1 29MLINKS+=vi.1 nex.1 vi.1 nview.1 vi.1 nvi.1 30 31CATALOGS= dutch english french german ru_SU.KOI8-R spanish swedish 32 33.PATH: ${SRCDIR}/common 34.PATH: ${SRCDIR}/ex 35.PATH: ${SRCDIR}/cl 36.PATH: ${SRCDIR}/vi 37 38CFLAGS+=-I${.CURDIR} -I${SRCDIR} -I${SRCDIR}/include 39 40DPADD+= ${LIBCURSES} ${LIBTERMCAP} 41LDADD+= -lcurses -ltermcap 42 43.if defined(TKNVI) 44.PATH: ${SRCDIR}/tk 45#DPADD+= ? 46#LDADD+= -ltk 47.endif 48 49.if defined(TCLINTERP) 50.PATH: ${SRCDIR}/tcl_api 51DPADD+= ${LIBTCL} ${LIBM} 52LDADD+= -ltcl -lm 53.endif 54 55.if defined(PERLINTERP) 56.PATH: ${SRCDIR}/perl_api 57#DPADD+= ? 58#LDADD+= ? 59.endif 60 61CLEANFILES+=${EX} 62 63# Vi curses sources 64SRCS+= cl_bsd.c cl_funcs.c cl_main.c cl_read.c cl_screen.c cl_term.c 65 66# Vi Tk sources 67.if defined(TKNVI) 68SRCS+= tk_funcs.c tk_main.c tk_read.c tk_screen.c tk_term.c tk_util.c 69.endif 70 71# Vi Tcl/Perl interpreter sources 72.if defined(TCLINTERP) || defined(PERLINTERP) 73SRCS+= api.c 74.endif 75.if defined(TCLINTERP) 76SRCS+= tcl.c 77.endif 78.if defined(PERLINTERP) 79# perl.c is generated 80SRCS+= perl.c perlsfio.c 81.endif 82 83# General sources. 84SRCS+= cut.c delete.c exf.c key.c line.c log.c main.c mark.c msg.c options.c \ 85 options_f.c put.c screen.c search.c seq.c recover.c util.c 86 87# Ex source. 88SRCS+= ex.c ex_abbrev.c ex_append.c ex_args.c ex_argv.c ex_at.c ex_bang.c \ 89 ex_cd.c ex_cmd.c ex_cscope.c ex_delete.c ex_display.c \ 90 ex_edit.c ex_equal.c ex_file.c ex_filter.c ex_global.c \ 91 ex_init.c ex_join.c ex_map.c ex_mark.c ex_mkexrc.c ex_move.c \ 92 ex_open.c ex_perl.c ex_preserve.c ex_print.c ex_put.c ex_quit.c \ 93 ex_read.c ex_screen.c ex_script.c ex_set.c ex_shell.c \ 94 ex_shift.c ex_source.c ex_stop.c ex_subst.c ex_tag.c ex_tcl.c \ 95 ex_txt.c ex_undo.c ex_usage.c ex_util.c ex_version.c ex_visual.c \ 96 ex_write.c ex_yank.c ex_z.c 97 98# Vi source. 99SRCS+= getc.c v_at.c v_ch.c v_cmd.c v_delete.c v_ex.c v_increment.c v_init.c \ 100 v_itxt.c v_left.c v_mark.c v_match.c v_paragraph.c v_put.c v_redraw.c \ 101 v_replace.c v_right.c v_screen.c v_scroll.c v_search.c v_section.c \ 102 v_sentence.c v_status.c v_txt.c v_ulcase.c v_undo.c \ 103 v_util.c v_word.c v_xchar.c v_yank.c v_z.c v_zexit.c vi.c 104 105# Vi screen source. 106SRCS+= vs_line.c vs_msg.c vs_refresh.c vs_relative.c vs_smap.c vs_split.c 107 108# Generate perl.c 109.if defined(PERLINTERP) 110perl.c: perl.xs typemap 111 echo "#define _PATH_PERLSCRIPTS \"/usr/share/vi/perl\"" > $@ 112 $(PERL) $(PERLLIB)/ExtUtils/xsubpp -typemap \ 113 $(PERLLIB)/ExtUtils/typemap $(SRCDIR)/perl_api/perl.xs >> $@ 114 ($(PERL) -ne 'print "sub $$1 {\$$curscr->$$1(\@_)}\n" \ 115 if /newXS\("VI::([^":]*)"/;' $@ ; echo "1;") > VI.pm 116 117CLEANFILES+= VI.pm perl.c 118.endif 119 120afterinstall: 121 ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 \ 122 ${CATALOGS:S;^;${SRCDIR}/catalog/;} \ 123 ${DESTDIR}/usr/share/vi/catalog 124.if defined(PERLINTERP) 125 ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 \ 126 ${SRCDIR}/perl_scripts/*.pl VI.pm \ 127 ${DESTDIR}/usr/share/vi/perl 128.endif 129.if defined(TCLINTERP) 130 ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 \ 131 ${SRCDIR}/tcl_scripts/*.tcl \ 132 ${DESTDIR}/usr/share/vi/tcl 133.endif 134 135.include <bsd.prog.mk> 136