xref: /openbsd/usr.bin/vi/build/Makefile (revision 3d8817e4)
1#	$OpenBSD: Makefile,v 1.16 2004/01/25 23:22:10 mickey Exp $
2#	@(#)Makefile.in	8.75 (Berkeley) 10/23/96
3
4PROG=	vi
5
6# Uncomment to build with an embedded perl interpreter
7#PERLINTERP=	yes
8
9# Modern curses (ncurses)
10CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../include
11LDADD+=-lcurses
12DPADD+= ${LIBCURSES}
13
14# Old BSD curses
15#CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../include -D_USE_OLD_CURSES_
16#LDADD+= -locurses
17#DPADD+= ${LIBOLDCURSES}
18
19SRCS=	cl_bsd.c cl_funcs.c cl_main.c cl_read.c cl_screen.c cl_term.c \
20	cut.c delete.c ex.c ex_abbrev.c ex_append.c ex_args.c ex_argv.c \
21	ex_at.c ex_bang.c ex_cd.c ex_cmd.c ex_cscope.c ex_delete.c \
22	ex_display.c ex_edit.c ex_equal.c ex_file.c ex_filter.c \
23	ex_global.c ex_init.c ex_join.c ex_map.c ex_mark.c ex_mkexrc.c \
24	ex_move.c ex_open.c ex_perl.c ex_preserve.c ex_print.c ex_put.c \
25	ex_quit.c ex_read.c ex_screen.c ex_script.c ex_set.c ex_shell.c \
26	ex_shift.c ex_source.c ex_stop.c ex_subst.c ex_tag.c ex_tcl.c \
27	ex_txt.c ex_undo.c ex_usage.c ex_util.c ex_version.c ex_visual.c \
28	ex_write.c ex_yank.c ex_z.c exf.c getc.c key.c line.c log.c main.c \
29	mark.c msg.c options.c options_f.c put.c recover.c screen.c \
30	search.c seq.c util.c v_at.c v_ch.c v_cmd.c v_delete.c v_ex.c \
31	v_increment.c v_init.c v_itxt.c v_left.c v_mark.c v_match.c \
32	v_paragraph.c v_put.c v_redraw.c v_replace.c v_right.c v_screen.c \
33	v_scroll.c v_search.c v_section.c v_sentence.c v_status.c v_txt.c \
34	v_ulcase.c v_undo.c v_util.c v_word.c v_xchar.c v_yank.c v_z.c \
35	v_zexit.c vi.c vs_line.c vs_msg.c vs_refresh.c vs_relative.c \
36	vs_smap.c vs_split.c
37
38.ifdef PERLINTERP
39SRCS+=	api.c perl.c perlsfio.c
40PERLARCH!=perl -MConfig -e 'print $$Config{archlibexp}'
41CFLAGS+=-DHAVE_PERL_5_003_01 -DHAVE_PERL_INTERP -I${PERLARCH}/CORE
42LDADD+= -lperl ${PERLARCH}/auto/DynaLoader/DynaLoader.a
43DPADD+= ${LIBPERL}
44.endif
45
46LINKS=	${BINDIR}/vi ${BINDIR}/ex
47LINKS+=	${BINDIR}/vi ${BINDIR}/view
48MLINKS=	vi.1 ex.1
49MLINKS+=	vi.1 view.1
50
51CLEANFILES+= VI.pm perl.c
52
53.PATH: ${.CURDIR}/../vi ${.CURDIR}/../ex ${.CURDIR}/../cl ${.CURDIR}/../common ${.CURDIR}/../perl_api ${.CURDIR}/../docs/USD.doc/vi.man
54
55perl.c: ${.CURDIR}/../perl_api/perl.xs ${.CURDIR}/../perl_api/typemap
56	echo "#define _PATH_PERLSCRIPTS \"${SHAREDIR}/vi/perl\"" > ${.TARGET}
57	perl /usr/libdata/perl5/ExtUtils/xsubpp -typemap \
58	    /usr/libdata/perl5/ExtUtils/typemap ${.CURDIR}/../perl_api/perl.xs >> ${.TARGET}
59	(perl  -ne 'print "sub $$1 {\$$curscr->$$1(\@_)}\n" \
60	    if /newXS\("VI::([^":]*)"/;' ${.TARGET} ; echo "1;") > VI.pm
61
62.include "../../Makefile.inc"
63.include <bsd.prog.mk>
64
65CATALOGS=	dutch english french german polish ru_RU.KOI8-R spanish \
66		swedish uk_UA.KOI8-U
67afterinstall:
68	${INSTALL} -d ${DESTDIR}${SHAREDIR}/vi/catalog
69	(cd ${.CURDIR}/../catalog && ${INSTALL} -m ${NONBINMODE} -c ${CATALOGS} ${DESTDIR}/usr/share/vi/catalog )
70	${INSTALL} -m ${BINMODE} -o ${BINOWN} -g ${BINGRP} -c ${.CURDIR}/recover ${DESTDIR}/usr/libexec/vi.recover
71.ifdef PERLINTERP
72	${INSTALL} -d ${DESTDIR}${SHAREDIR}/vi/perl
73	(cd ${.CURDIR}/../perl_scripts; for i in *.pl; do ${INSTALL} -m ${NONBINMODE} -c $$i ${DESTDIR}/usr/share/vi/perl; done)
74.endif
75