#
#
# Note:
#	1) this UUCP is based on Bell System III UUCP - it requires either
#	   a System III or a System IV license
#	2) the following defines apply to this version:
#		TNIX_HSI	HSI support for Tek 8560's
#		TNIX_DIAL	support for the separate 'uuphone' program
#				for sensible dialing
#		TNIX_ENHANCE	various and sundry bug fixes, mostly from
#				my 'uucp bug list'
#		TNIX_BUGFIX	more bugfixes, somehow distinguished from
#				enhancements
#		TNIX_XCMDS	moving 'uuxqt' command list to a file
#		TNIX		meta-define - this will get you TNIX_*
#				(note: this **must** be turned on for Tek's
#				UNICOM product)
#		UCB		changing some ioctl's and such around so
#				that they will work on Berkeley systems,
#				rather than System III
#		TEKMDP		Miscellaneous changes
#		TEK_UNET	Add support for 3Com UNET TCP/IP
#		TEK_4_1A	Add support for 4.1a TCP/IP
#		TEK_		Internal define for common elements of
#				TEK_UNET and TEK_4_1A - don't define this
#		SCCSID		define SCCS strings into programs - don't
#				do this on a non-sep I/D machine
#
#	3) the connection server for 4.1a systems is in ../uucpd
#	4) the phone dialing program for TNIX_DIAL is in ../uuphone
#	5) Jim Binkley's 'uupurge' program is in ../uupurge
#
#	These modifications by:
#		TNIX		Steven McGeady		9/82-11/82
#		TEK_UNET	Dave Clemans
#		TEK_4_1A	Jeff McMeekin & Steven McGeady
#		TEKMDP		??
#		UCB		Dave Clemans
#
#	Also, some bug fixes by Ellis Cohen, Lauri Rathmann, and others
#
# Instructions:
#
# for TNIX UNICOM:
#		CFLAGS= -q -O -DTNIX -DUCB -DTEKMDP
#
# for standard Tek internal system for 4.1BSD VAX with UNET (w/o getsitename):
#		CFLAGS= -O -DTEKMDP -DUCB -DTNIX_DIAL -DTNIX_ENHANCE -DTNIX_BUGFIX -DTNIX_XCMDS -DSCCSID -DTEK_UNET
#		LDFLAGS=-s getsitenm.o gethostnm.o
#		LIBES= -lunet
#
# for standard Tek 4.2BSD Systems:
#		CFLAGS= -O -DTEKMDP -DUCB -DTNIX_DIAL -DTNIX_ENHANCE -DTNIX_BUGFIX -DTNIX_XCMDS -DSCCSID -DTEK_4_1A
#
#	/*  uucp.mk 3.19  2/23/83  */
#	/*  11/45, 11/70, and VAX version ('-i' has no effect on VAX)	*/
#	/* for 11/23, 11/34 (without separate I/D), IFLAG= */
CC=cc
CFLAGS= -O -DTEKMDP -DUCB -DTNIX_DIAL -DTNIX_ENHANCE -DTNIX_BUGFIX -DTNIX_XCMDS -DSCCSID -DTEK_4_1A
CMDFLAGS= -n ${CFLAGS}
LDFLAGS= -n 
IFLAG=
LIBS= 
FRC=
OWNER=uucp
INSDIR=/usr/lib/uucp
BIN=/usr/bin
UPATH=.
PUBDIR=/usr/spool/uucppublic
SPOOL=/usr/spool/uucp
XQTDIR=/usr/lib/uucp/.XQTDIR
OLDLOG=/usr/lib/uucp/.OLD
PKON=pkon.o
IOCTL=
CLEAN=
LINTOP=-hbau
COMMANDS=uucp uux uuxqt uucico uulog uuclean uuname uustat uusub
OFILES=assert.o cpmv.o expfile.o gename.o getpwinfo.o index.o lastpart.o \
	prefix.o shio.o ulockf.o xqt.o
LFILES=assert.c cpmv.c expfile.c gename.c getpwinfo.c index.c lastpart.c \
	prefix.c shio.c ulockf.c xqt.c
OUUCP=uucpdefs.o uucp.o gwd.o chkpth.o getargs.o logent.o uucpname.o\
	versys.o us_crs.o us_open.o
LUUCP=uucpdefs.c uucp.c gwd.c chkpth.c getargs.c logent.c uucpname.c\
	versys.c us_crs.c us_open.c
OUUX=uucpdefs.o uux.o gwd.o anyread.o chkpth.o getargs.o getprm.o\
	logent.o uucpname.o versys.o
LUUX=uucpdefs.c uux.c gwd.c anyread.c chkpth.c getargs.c getprm.c\
	logent.c uucpname.c versys.c
OUUXQT=uucpdefs.o uuxqt.o mailst.o getprm.o gnamef.o logent.o uucpname.o \
	chkpth.o getargs.o anyread.o
LUUXQT=uucpdefs.c uuxqt.c mailst.c getprm.c gnamef.c logent.c uucpname.c \
	chkpth.c getargs.c anyread.c
OUUCICO=uucpdefs.o cico.o conn.o cntrl.o pk0.o pk1.o gio.o anyread.o \
	anlwrk.o chkpth.o getargs.o gnamef.o gnsys.o gnxseq.o \
	imsg.o logent.o sysacct.o systat.o  mailst.o uucpname.o \
	us_rrs.o us_sst.o us_open.o ub_sst.o setline.o
LUUCICO=uucpdefs.c cico.c conn.c cntrl.c pk0.c pk1.c gio.c anyread.c \
	anlwrk.c chkpth.c getargs.c gnamef.c gnsys.c gnxseq.c \
	imsg.c logent.c sysacct.c systat.c mailst.c uucpname.c \
	us_rrs.c us_sst.c us_open.c ub_sst.c setline.c
OUULOG=uucpdefs.o uulog.o prefix.o xqt.o ulockf.o gnamef.o assert.o
LUULOG=uucpdefs.c uulog.c prefix.c xqt.c ulockf.c gnamef.c assert.c
OUUCLEAN=uucpdefs.o uuclean.o gnamef.o prefix.o mailst.o getpwinfo.o\
	 getargs.o
LUUCLEAN=uucpdefs.c uuclean.c gnamef.c prefix.c mailst.c getpwinfo.c\
	 getargs.c
OUUNAME=uuname.o uucpname.o uucpdefs.o
LUUNAME=uuname.c uucpname.c uucpdefs.c
OUUSTAT=uucpdefs.o uustat.o gnamef.o getpwinfo.o us_open.o getopt.o \
	lastpart.o cpmv.o
LUUSTAT=uucpdefs.c uustat.c gnamef.c getpwinfo.c us_open.c getopt.c \
	lastpart.c cpmv.c
OUUSUB=uucpdefs.o uusub.o getpwinfo.o us_open.o xqt.o getopt.o
LUUSUB=uucpdefs.c uusub.c getpwinfo.c us_open.c xqt.c getopt.c
INIT=init

all:	$(INIT) $(COMMANDS) 

install:	all cp $(CLEAN)

new:		mkdirs cpfiles

cp:	all
	chown $(OWNER) $(INSDIR)
	chmod 755 $(INSDIR)
	cp uucp $(BIN)
	chmod 4111 $(BIN)/uucp
	chown $(OWNER) $(BIN)/uucp
	cp uux $(BIN)
	chmod 4111 $(BIN)/uux
	chown $(OWNER) $(BIN)/uux
	cp uuxqt $(INSDIR)
	chmod 4111 $(INSDIR)/uuxqt
	chown $(OWNER) $(INSDIR)/uuxqt
	cp uucico $(INSDIR)
	chmod 4111 $(INSDIR)/uucico
	chown $(OWNER) $(INSDIR)/uucico
	cp uulog $(INSDIR)
	chmod 4111 $(INSDIR)/uulog
	chown $(OWNER) $(INSDIR)/uulog
	cp uuclean $(INSDIR)
	chmod 4111 $(INSDIR)/uuclean
	chown $(OWNER) $(INSDIR)/uuclean
	cp uuname $(BIN)
	chmod 4111 $(BIN)/uuname
	chown $(OWNER) $(BIN)/uuname
	cp uustat $(INSDIR)
	chmod 4111 $(INSDIR)/uustat
	chown $(OWNER) $(INSDIR)/uustat
	cp uusub $(INSDIR)
	chmod 100 $(INSDIR)/uusub
	chown $(OWNER) $(INSDIR)/uusub

clean:
	-rm -f *.o

clobber:	clean
	-rm -f $(COMMANDS)

get:
	cp $(UPATH)/* .

cmp:	all
	cmp uucp $(BIN)/uucp
	rm uucp
	cmp uux $(BIN)/uux
	rm uux
	cmp uuxqt $(INSDIR)/uuxqt
	rm uuxqt
	cmp uucico $(INSDIR)/uucico
	rm uucico
	cmp uulog $(BIN)/uulog
	rm uulog
	cmp uuclean $(INSDIR)/uuclean
	rm uuclean
	cmp uuname $(BIN)/uuname
	rm uuname
	cmp uustat $(BIN)/uustat
	rm uustat
	cmp uusub $(INSDIR)/uusub
	rm uusub
	rm *.o


init:	anlwrk.o anyread.o chkpth.o cpmv.o expfile.o gename.o \
	getargs.o getprm.o getpwinfo.o gnamef.o gnsys.o \
	gnxseq.o gwd.o imsg.o index.o lastpart.o logent.o \
	prefix.o mailst.o shio.o sysacct.o \
	getopt.o \
	systat.o ulockf.o uucpname.o versys.o xqt.o 

uucp.o:	uucp.c uucp.h
	$(CC) -c $(CMDFLAGS) uucp.c

uucp:	$(OUUCP) $(OFILES)
	$(CC) $(LDFLAGS) $(OUUCP) $(OFILES) $(LIBS) -o uucp

uux.o:	uux.c uucp.h
	$(CC) -c $(CMDFLAGS) uux.c

uux:	$(OUUX) $(OFILES)
	$(CC) $(LDFLAGS) $(OUUX) $(OFILES) -lc $(LIBS) -o uux

uuxqt.o:	uuxqt.c uucp.h
	$(CC) -c $(CMDFLAGS) uuxqt.c

uuxqt:	$(OUUXQT) $(OFILES)
	$(CC) $(LDFLAGS) $(OUUXQT) $(OFILES) $(LIBS) -o uuxqt

#
# note: the 'asm.sed' bullshit only applies to 4.1a systems
#
conn.o:	conn.c
	$(CC) -c $(CMDFLAGS) -S conn.c
	sed -f asm.sed conn.s | as -o conn.o
	rm conn.s

cico.o:	cico.c uucp.h
	$(CC) -c $(CMDFLAGS) cico.c

uucico:	$(OUUCICO) $(OFILES) $(IOCTL) $(PKON)
	$(CC) $(IFLAG) $(LDFLAGS) $(OUUCICO) $(OFILES) $(IOCTL) $(PKON) -lc $(LIBS)\
	-o uucico

uulog.o: uulog.c uucp.h
	$(CC) -c $(CMDFLAGS) uulog.c

uulog:	$(OUULOG)
	$(CC) $(LDFLAGS) $(OUULOG) $(LIBS) -o uulog

uuclean.o: uuclean.c uucp.h
	$(CC) -c $(CMDFLAGS) uuclean.c

uuclean:  $(OUUCLEAN)
	$(CC) $(LDFLAGS) $(OUUCLEAN) $(LIBS) -o uuclean

uuname.o:	uuname.c uucp.h
	$(CC) -c $(CMDFLAGS) uuname.c

uuname:	$(OUUNAME)
	$(CC) $(LDFLAGS) $(OUUNAME) $(LIBS) -o uuname
 
uustat.o:	uustat.c uucp.h
	$(CC) -c $(CMDFLAGS) uustat.c

uustat:	$(OUUSTAT)
	$(CC) $(LDFLAGS) $(OUUSTAT) $(LIBS) -o uustat

uusub.o:	uusub.c uucp.h
	$(CC) -c $(CMDFLAGS) uusub.c

uusub:	$(OUUSUB)
	$(CC) $(LDFLAGS) $(OUUSUB) $(LIBS) -o uusub


ub_sst.o uusub.o:	uusub.h

cico.o:	uusub.h uust.h uucp.h

anlwrk.o cntrl.o us_crs.o us_open.o us_rrs.o\
	us_sst.o uucp.o uustat.o:	uust.h uucp.h

FRC:

mkdirs:
	-mkdir $(INSDIR)
	chmod 755 $(INSDIR)
	-mkdir $(SPOOL)
	chmod 777 $(SPOOL)
	chown $(OWNER) $(SPOOL)
	-mkdir $(PUBDIR)
	chmod 777 $(PUBDIR)
	chown $(OWNER) $(PUBDIR)
	-mkdir $(XQTDIR)
	chmod 777 $(XQTDIR)
	chown $(OWNER) $(XQTDIR)
	-mkdir $(OLDLOG)
	chmod 777 $(OLDLOG)
	chown $(OWNER) $(OLDLOG)

cpfiles:
	cp $(UPATH)/L* $(UPATH)/USERFILE $(INSDIR)
	cp $(UPATH)/uudemon* $(INSDIR)
	chmod 755 $(INSDIR)/uudemon*
	chmod 400 $(INSDIR)/L.sys $(INSDIR)/USERFILE
	chmod 444 $(INSDIR)/L-*
	chown $(OWNER) $(INSDIR)/*

#  lint procedures

lint:	lintuucp lintuucico lintuux lintuuxqt lintuulog lintuuclean\
	lintuuname lintuustat lintuusub
lintuucp:
	lint $(LINTOP) $(LUUCP) $(LFILES)

lintuucico:
	lint $(LINTOP) $(LUUCICO) $(LFILES)

lintuux:
	lint $(LINTOP) $(LUUX) $(LFILES)

lintuuxqt:
	lint $(LINTOP) $(LUUXQT) $(LFILES)

lintuulog:
	lint $(LINTOP) $(LUULOG)

lintuuclean:
	lint $(LINTOP) $(LUUCLEAN)

lintuuname:
	lint $(LINTOP) $(LUUNAME)

lintuustat:
	lint $(LINTOP) $(LUUSTAT) $(LFILES)

lintuusub:
	lint $(LINTOP) $(LUUSUB) $(LFILES)

