# Copyright (c) 1980 Regents of the University of California.
# All rights reserved. The Berkeley software License Agreement
# specifies the terms and conditions for redistribution.
# @(#)Makefile 7.13.1.1 (Berkeley) %G%
# Copyright (c) 1980 Regents of the University of California.
# All rights reserved. The Berkeley software License Agreement
# specifies the terms and conditions for redistribution.
# @(#)Makefile 7.13.1.1 (Berkeley) %G%
# Copyright (c) 1980 Regents of the University of California.
# All rights reserved. The Berkeley software License Agreement
# specifies the terms and conditions for redistribution.
# @(#)Makefile 7.13.1.1 (Berkeley) %G%
# Ex skeletal makefile for VAX VM/Unix 4.2BSD
# NB: This makefile doesn't indicate any dependencies on header files.
# Ex is very large - this version will not fit on PDP-11's without overlay
# software. Things that can be turned off to save
# space include LISPCODE (-l flag, showmatch and lisp options), UCVISUAL
# (visual \ nonsense on upper case only terminals), CHDIR (the undocumented
# chdir command.) VMUNIX makes ex considerably larger, raising many limits
# and improving speed and simplicity of maintenance. It is suitable only
# for a VAX or other large machine, and then probably only in a paged system.
# Don't define VFORK unless your system has the VFORK system call,
# which is like fork but the two processes have only one data space until the
# child execs. This speeds up ex by saving the memory copy.
# If your system expands tabs to 4 spaces you should -DTABS=4 below
DEB
= ${NONDEBUGFLAGS} # or ${DEBUGFLAGS} to to debug
OPTIONS
= -DLISPCODE
-DCHDIR
-DUCVISUAL
-DVFORK
-DVMUNIX
-DFASTTAG
CFLAGS
= -DTABS
=8 ${OPTIONS} ${DEB}
LDFLAGS
= -z
# or -i or -n
OBJS
= ex.o ex_addr.o ex_cmds.o ex_cmds2.o ex_cmdsub.o \
ex_data.o ex_extern.o ex_get.o ex_io.o ex_put.o ex_re.o \
ex_set.o ex_subr.o ex_tagio.o ex_temp.o ex_tty.o ex_unix.o \
ex_v.o ex_vadj.o ex_vget.o ex_vmain.o ex_voper.o \
ex_vops.o ex_vops2.o ex_vops3.o ex_vput.o ex_vwind.o \
printf.o bcopy.o strings.o
HDRS
= ex.h ex_argv.h ex_re.h ex_temp.h ex_tty.h ex_tune.h ex_vars.h ex_vis.h
SRC1
= ex.c ex_addr.c ex_cmds.c ex_cmds2.c ex_cmdsub.c
SRC2
= ex_data.c ex_get.c ex_io.c ex_put.c ex_re.c
SRC3
= ex_set.c ex_subr.c ex_tagio.c ex_temp.c ex_tty.c ex_unix.c
SRC4
= ex_v.c ex_vadj.c ex_vget.c ex_vmain.c ex_voper.c
SRC5
= ex_vops.c ex_vops2.c ex_vops3.c ex_vput.c ex_vwind.c
SRC6
= printf.c bcopy.c expreserve.c exrecover.c
MISC
= makefile READ_ME rofix
VGRIND
= csh
/usr
/ucb
/vgrind
VHDR
= "Ex Version ${VERSION}"
${CC} -E
${CFLAGS} $*.c |
${XSTR} -c
-
# ${MKSTR} - ex${VERSION}strings x $*.c
# ${CC} -E ${CFLAGS} x$*.c | ${XSTR} -c -
all: a.out exrecover expreserve
@
${CC} ${LDFLAGS} ${OBJS} ${TERMLIB}
${CTAGS} -w ex.
[hc
] ex_
*.
[hc
]
csh makeoptions
${CFLAGS}
${CC} -c
${CFLAGS} bcopy.c
${CC} ${CFLAGS} exrecover.o ex_extern.o
-o exrecover
${CC} ${CFLAGS} -c
-O exrecover.c
${CC} expreserve.o
-o expreserve
${CC} ${CFLAGS} -c
-O expreserve.c
# If we dont have ex we cant make it so don't rm ex_vars.h
-rm -f a.out exrecover expreserve strings core errs trace
# install a new version for testing in /usr/new
-rm -f
${DESTDIR}${NBINDIR}/ex
${DESTDIR}${NBINDIR}/vi
${DESTDIR}${NBINDIR}/view
cp a.out
${DESTDIR}${NBINDIR}/ex
# -cp ex${VERSION}strings ${LIBDIR}/ex${VERSION}strings
ln
${DESTDIR}${NBINDIR}/ex
${DESTDIR}${NBINDIR}/vi
ln
${DESTDIR}${NBINDIR}/ex
${DESTDIR}${NBINDIR}/view
chmod
1755 ${DESTDIR}${NBINDIR}/ex
# install in standard place (/usr/ucb)
install: a.out exrecover expreserve
-rm -f
${DESTDIR}/${BINDIR}/ex
-rm -f
${DESTDIR}/${BINDIR}/vi
-rm -f
${DESTDIR}/${BINDIR}/view
-rm -f
${DESTDIR}/${BINDIR}/edit
-rm -f
${DESTDIR}/${BINDIR}/e
-rm -f
${DESTDIR}/usr
/bin
/ex
install -s
-m
1755 a.out
${DESTDIR}/${BINDIR}/ex
# cp ex${VERSION}strings ${DESTDIR}/${LIBDIR}/ex${VERSION}strings
ln
${DESTDIR}/${BINDIR}/ex
${DESTDIR}/${BINDIR}/edit
ln
${DESTDIR}/${BINDIR}/ex
${DESTDIR}/${BINDIR}/e
ln
${DESTDIR}/${BINDIR}/ex
${DESTDIR}/${BINDIR}/vi
ln
${DESTDIR}/${BINDIR}/ex
${DESTDIR}/${BINDIR}/view
ln
${DESTDIR}/${BINDIR}/ex
${DESTDIR}/usr
/bin
/ex
chmod
1755 ${DESTDIR}/${BINDIR}/ex
install -s
-o root
-m
4755 exrecover
${DESTDIR}/${LIBDIR}/ex
${VERSION}recover
install -s
-o root
-m
4755 expreserve
${DESTDIR}/${LIBDIR}/ex
${VERSION}preserve
# The following line normally fails. This is OK.
-mkdir
${DESTDIR}/usr
/preserve
# move from /usr/new to /usr/ucb
-rm -f
${DESTDIR}/${BINDIR}/ex
-rm -f
${DESTDIR}/${BINDIR}/vi
-rm -f
${DESTDIR}/${BINDIR}/edit
-rm -f
${DESTDIR}/${BINDIR}/e
-rm -f
${DESTDIR}/usr
/bin
/ex
mv
${DESTDIR}/${NBINDIR}/ex
${DESTDIR}/${NBINDIR}/ex
-rm -f
${DESTDIR}/${NBINDIR}/vi
ln
${DESTDIR}/${BINDIR}/ex
${DESTDIR}/${BINDIR}/edit
ln
${DESTDIR}/${BINDIR}/ex
${DESTDIR}/${BINDIR}/e
ln
${DESTDIR}/${BINDIR}/ex
${DESTDIR}/${BINDIR}/vi
ln
${DESTDIR}/${BINDIR}/ex
${DESTDIR}/usr
/bin
/ex
chmod
1755 ${DESTDIR}/${BINDIR}/ex
lint
${CFLAGS} ex.c ex_?
*.c
lint
${CFLAGS} -u exrecover.c
lint
${CFLAGS} expreserve.c
@
(size
-l a.out
; size
*.o
) |
${PR} -h sizes
@
${PR} -h errno.h
${INCLUDE}/errno.h
@
${PR} -h setjmp.h
${INCLUDE}/setjmp.h
@
${PR} -h sgtty.h
${INCLUDE}/sgtty.h
@
${PR} -h signal.h
${INCLUDE}/signal.h
@
${PR} -h sys
/stat.h
${INCLUDE}/sys
/stat.h
@
${PR} -h sys
/types.h
${INCLUDE}/sys
/types.h
@
${CXREF} *.c |
${PR} -h XREF
${VGRIND} -h
${VHDR} ${HDRS}
${VGRIND} -h
${VHDR} ${SRC1}
${VGRIND} -h
${VHDR} ${SRC2}
${VGRIND} -h
${VHDR} ${SRC3}
${VGRIND} -h
${VHDR} ${SRC4}
${VGRIND} -h
${VHDR} ${SRC5}
${VGRIND} -h
${VHDR} ${SRC6}
${VGRIND} -n
-h
${VHDR} ${MISC}
${VGRIND} -i
-h
${VHDR} index