4.4BSD/usr/src/usr.bin/uucp/vms/Makefile

#	Makefile	5.5	83/07/18
#
# This version expects the 4.2BSD directory reading routines to
# located in libc.a.  If they aren't, augment LIBS.  Also, LIBS
# can be set to reference other object modules and libraries needed
# by uucico, such as -lunet (needed when UNET is defined).
#
# Common object files are assembled into a library {uulib.a}
#
ALL=	uucp uux uuxqt uucico uulog uuclean uuname uustat uusub uupoll uusnap \
	uuencode uudecode uusend uucpd uuq startuucp
# Common object files placed in uulib.a
COMMON=	anlwrk.o anyread.o assert.o cfgets.o chkpth.o \
	cpmv.o expfile.o gename.o getargs.o getopt.o getprm.o \
	getpwinfo.o gio.o gnamef.o gnxseq.o gwd.o imsg.o \
	index.o lastpart.o logent.o mailst.o pk0.o chksum.o pk1.o prefix.o \
	sdmail.o setline.o shio.o subdir.o sysacct.o systat.o ub_sst.o \
	ulockf.o us_crs.o us_open.o us_rrs.o us_sst.o tio.o fio.o \
	uucpname.o versys.o xqt.o uucpdefs.o ntoa.o
DESTDIR=
OWNER=	uucp
GROUP=	daemon
CFLAGS=	-O
LDFLAGS=
LIBS= libndir.a
LIBDIR=	/usr/lib/uucp
BIN=	/usr/bin
PUBDIR=	/usr/spool/uucppublic
SPOOL=	/usr/spool/uucp
XQTDIR=	/usr/spool/uucp/XTMP
# The six subdirs {not counting XTMP}.  The order of the D. files is crucial!
SUBDIRS=C. D.`uuname -l`X D.`uuname -l` D. X. TM. STST CORRUPT AUDIT
PKON=
IOCTL=
# for make depend
UNDEF=	-UNDIR -UUNET -USYSIII -UUNAME -UCCWHOAMI -UGETMYHNAME -UDATAKIT

all:	${ALL} 

uucp:	uucp.o uulib.a
	${CC} -o uucp ${LDFLAGS} uucp.o uulib.a

uux:	uux.o uulib.a
	${CC} -o uux ${LDFLAGS} uux.o uulib.a

uuxqt:	uuxqt.o uulib.a
	${CC} -o uuxqt ${LDFLAGS} uuxqt.o uulib.a ${LIBS}

uucico:	cico.o cntrl.o conn.o condevs.o gnsys.o ${IOCTL} ${PKON} uulib.a
	${CC} -noshare -o uucico ${LDFLAGS} cico.o cntrl.o conn.o condevs.o \
		gnsys.o ${IOCTL} ${PKON} uulib.a ${LIBS}

uulog:	uulog.o uulib.a
	${CC} -o uulog ${LDFLAGS} uulog.o uulib.a

uuclean: uuclean.o uulib.a
	${CC} -o uuclean ${LDFLAGS} uuclean.o uulib.a ${LIBS}

uuname:	uuname.o uulib.a
	${CC} -o uuname ${LDFLAGS} uuname.o uulib.a

uustat:	uustat.o uulib.a
	$(CC) -o uustat $(LDFLAGS) uustat.o uulib.a ${LIBS}

uucpd:	uucpd.obj ntoa.obj validate.obj
	vms @linkuucpd
	mv uucpd.exe uucpd

uucpd.obj:
	cc -S -O uucpd.c
	vmsas uucpd.s
	mv a.out uucpd.obj
	rm uucpd.s

ntoa.obj:
	cc -S -O ntoa.c
	vmsas ntoa.s
	mv a.out ntoa.obj
	rm ntoa.s

validate.obj:
	cc -S -O validate.c
	vmsas validate.s
	mv a.out validate.obj
	rm validate.s

startuucp: startuucp.o
	${CC} -o startuucp startuucp.o

uuq: uuq.o uulib.a
	${CC} -o uuq ${LDFLAGS} uuq.o uulib.a ${LIBS}

uusub:	uusub.o uulib.a
	$(CC) -o uusub $(LDFLAGS) uusub.o uulib.a

uupoll:	uupoll.o uulib.a
	${CC} -o uupoll ${LDFLAGS} uupoll.o uulib.a

uusnap:	uusnap.o uulib.a
	${CC} -o uusnap ${LDFLAGS} uusnap.o uulib.a ${LIBS}

uuencode: uuencode.o uulib.a
	${CC} -o uuencode ${LDFLAGS} uuencode.o uulib.a

uudecode: uudecode.o uulib.a
	${CC} -o uudecode ${LDFLAGS} uudecode.o uulib.a

uusend: uusend.o uulib.a
	${CC} -o uusend ${LDFLAGS} uusend.o uulib.a

chksum.o: chksum.c chksum.vax.s chksum.11.s
	${CC} -O -c chksum.c
	(unixas -o chksum.o chksum.vax.s) >/dev/null 2>&1&

# Note: mode 700 on ${LIBDIR} would be safer.
# Also,  L.sys etc should be 600.
mkdirs:
	echo "Best to make these directories manually."

# The lorder...tsort below is for systems w/o ranlib
# But it doesnt hurt to use it. Ignore the spurious "cycle" messages
uulib.a: ${COMMON}
	rm -f $@
	ar cr $@ `lorder ${COMMON} | tsort`
	ranlib $@

install:
	chown ${OWNER} ${DESTDIR}/${LIBDIR}
	chgrp ${GROUP} ${DESTDIR}/${LIBDIR}
	chmod 755 ${DESTDIR}/${LIBDIR}
	install -s -m 6111 -o ${OWNER} -g ${GROUP} uucp ${DESTDIR}/${BIN}/uucp
	install -s -m 6111 -o ${OWNER} -g ${GROUP} uux ${DESTDIR}/${BIN}/uux
	: chmod u+t ${BIN}/uux; : this helps PDPs
	install -s -m 6110 -o ${OWNER} -g ${GROUP} \
		uuxqt ${DESTDIR}/${LIBDIR}/uuxqt
	: chmod u+t ${LIBDIR}/uuxqt; : this helps PDPs
	install -s -m 6111 -o ${OWNER} -g ${GROUP} \
		uucico ${DESTDIR}/${LIBDIR}/uucico
	: chmod u+t ${LIBDIR}/uucico; : this helps PDPs if uucico is pure
	install -s -m 6111 -o ${OWNER} -g ${GROUP} uulog ${DESTDIR}/${BIN}/uulog
	install -s -m 6111 -o ${OWNER} -g ${GROUP} \
		uuclean ${DESTDIR}/${LIBDIR}/uuclean
	install -s -m 6111 -o ${OWNER} -g ${GROUP} \
		uuname ${DESTDIR}/${BIN}/uuname
	install -s -m 6111 -o ${OWNER} -g ${GROUP} \
		uupoll ${DESTDIR}/${BIN}/uupoll
	install -s -m 6111 -o ${OWNER} -g ${GROUP} \
		uuq ${DESTDIR}/${BIN}/uuq
	install -s -m 6111 -o ${OWNER} -g ${GROUP} \
		uustat ${DESTDIR}/${BIN}/uustat
	install -s -m 100 -o ${OWNER} -g ${GROUP} \
		uusub ${DESTDIR}/${BIN}/uusub
	install -s -m 6111 -o ${OWNER} -g ${GROUP} \
		uusnap ${DESTDIR}/${BIN}/uusnap
	install -s uuencode ${DESTDIR}/${BIN}/uuencode
	install -s uudecode ${DESTDIR}/${BIN}/uudecode
	install -s -m 6111 -o ${OWNER} -g ${GROUP} \
		uusend ${DESTDIR}/${BIN}/uusend
	rm -f ${DESTDIR}/${BIN}/ruusend
	ln ${DESTDIR}/${BIN}/uusend ${DESTDIR}/${BIN}/ruusend
	install -s uucpd ${DESTDIR}/etc/uucpd

clean:
	rm -f *.o *.obj ${ALL} uulib.a

depend:
	for i in *.c; do \
		(echo `basename $$i .c`.o: $$i >>makedep; \
			unifdef ${UNDEF} $$i | \
			/bin/grep '^#[ 	]*include' | sed \
			-e '/\.\.\/h/d' \
			-e 's,<\(.*\)>,"/usr/include/\1",' \
			-e 's/^[^"]*"\([^"]*\)".*/'"$$i"': \1/' \
			-e 's/\.c/.o/' >>makedep); done
	echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
	echo '$$r makedep' >>eddep
	echo 'w' >>eddep
	cp Makefile Makefile.bak
	ed - Makefile < eddep
	rm eddep makedep
	echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
	echo '# see make depend above' >> Makefile

# DO NOT DELETE THIS LINE -- make depend uses it
# DEPENDENCIES MUST END AT END OF FILE