# x25d Makefile
# RCSid="$Header: /Nfs/heaton/glob/src/etc/x25d/src/RCS/Makefile,v 1.13 1991/01/22 11:41:05 pb Rel $"
RCSsymbNAME=PlugAuth
RCSmessage =Plug auth file memory leak + SunNet 7.0b
RCSbase	= 1
COFLAGS = -q
CIFLAGS = -k    # or -r$(RCSver)
RCSVERS	= -r$(RCSbase)
RCSDIFFFLAGS = -c $(RCSVERS)
RCS	= `cat rcs-files`
DESTDIR	=
DEST	= /etc
INSTALLO= -m 740 # -s ?
INSTALL = install
# If you want X25 over TCP
X25BO	= x25b.o
#
#CC	= cc	# If your MAKE needs this !
#
# If you want NRS lookup (UK specific) -- see also CFLAGS (NONRSDBM)
NRSLIB	= #-lniftp.gen
# Next four if you want YBTS (UK specific)
YBTSL	= ybtslib.o
YBTSD	= ybtsd
IYBTSD	= ${DESTDIR}${DEST}/ybtsd
DYBTSD	= ybtsd.8 ybts-auth
SYBTSD	= ybtsd.c
VERH	= version.h
MANIFEST= MANIFEST

# Unless you have NRS lookup (from unix-niftp) include -DNONRSDBM
#CFLAGS	= -O -DCCITT -DNOGETHOSTBYADDR -DSPARE_SHORTNAME=1
CFLAGS	= -O -DCCITT -DNOGETHOSTBYADDR
#CFLAGS	= -O -DCCITT -DNONRSDBM -DNOGETHOSTBYADDR
SRCS	= version.h README Makefile x29d.8 x29-auth $(DYBTSD) \
	  x29d.c $(SYBTSD) commond.c x25b.c x25b.h x25r.c ybtslib.c \
	  regerror.c regexp.c regexp.h regmagic.h regsub.c \
	  ioctl.h.diff tty_pty.c.sun.diff tty_pty.c.ultrix.diff \
	  fd.h x25d.h \
	  x29in.c
UOBJ	= tty_pty.o.sun.uu tty_pty.o.ultrix.uu
OBJ	= tty_pty.o.sun tty_pty.o.ultrix

#- make options are:
#- all           do a standard make (configure & sub dirs)
#- install       do a std "make install" on sub dirs
#- help          list the make options (i.e. this)
#- tar           make a tar file
#- shar          make a shar file
#- clean         do a std "make clean" on sub dirs
#- lint          do a std "make lint" on sub dirs
#- ci co rcsdiff use RCS to maintain previous info

all:	x29d $(YBTSD) x25r

ybtsd:	ybtsd.o $(X25BO) $(YBTSL) $(VERH)
	$(CC) $(CFLAGS) ybtsd.o $(X25BO) -o ybtsd $(YBTSL)

x29d:	x29d.o  $(X25BO) $(YBTSL) $(VERH)
	$(CC) $(CFLAGS) x29d.o $(X25BO) $(NRSLIB) -o x29d $(YBTSL)

x25r:	x25r.o $(X25BO)
	$(CC) $(CFLAGS) x25r.o $(X25BO) $(NRSLIB) -o x25r

x25b.V5.o: x25b.c x25b.h
	$(CC) $(CFLAGS) -DX25IO_VER=5 -c x25b.c

x25b.V6.o: x25b.c x25b.h
	$(CC) $(CFLAGS) -DX25IO_VER=6 -c x25b.c

x25b.V7.o: x25b.c x25b.h
	$(CC) $(CFLAGS) -DX25IO_VER=7 -c x25b.c

help:   ALWAYS
	@-sed -n -e '/^#- /s///p' Makefile

install:	${DESTDIR}${DEST}/x29d $(IYBTSD) ${DESTDIR}${DEST}/x25r

${DESTDIR}${DEST}/ybtsd:ybtsd
${DESTDIR}${DEST}/x29d:	x29d
${DESTDIR}${DEST}/x25r: x25r

${DESTDIR}${DEST}/ybtsd ${DESTDIR}${DEST}/x29d ${DESTDIR}${DEST}/x25r:
	$(INSTALL) $(INSTALLO) `basename $@` $@

shar:	shar.dist
x25d.shar:	$(SRCS) $(UOBJ) $(MANIFEST)
	shar $(SRCS) $(UOBJ) $(MANIFEST) > $@-t && mv $@-t $@

tar:	x25d.tar
x25d.tar:	$(SRCS) $(OBJ) $(MANIFEST)
	tar cf $@-t $(SRCS) $(OBJ) $(MANIFEST) && mv $@-t $@

$(MANIFEST): $(SRCS)
	echo $(SRCS) $(MANIFEST) > $@-t && mv $@-t $@

lint: x29d.c $(SYBTSD)
	lint -hbaxu -DCCITT x29d.c
	-if [ -z "$(SYBTSD)"]; then lint -hbaxu -DCCITT ybtsd.c; fi

clean:
	rm -f *.o *.CKP .emacs* *-t

ALWAYS:

ybtsd.o x29d.o:	commond.c
# x25str.o x29d.o:	x25str.h

tty_pty.o.sun.uu:	tty_pty.o.sun
	uuencode `basename $@ .uu` < `basename $@ .uu` > $@
tty_pty.o.ultrix.uu:	tty_pty.o.ultrix
	uuencode `basename $@ .uu` < `basename $@ .uu` > $@

co      : ALWAYS
	@echo co $(COFLAGS) $(RCS) ... well almost ...
	@-for target in $(RCS) ; do \
	 (if dir="`expr $$target : '\(.*\)/[^/]*'`"; then cd $$dir;fi;\
	  file="`basename $$target`"; \
	  co $(COFLAGS) $$file; \
	 ) \
	done

ci      : ALWAYS
	@echo ci -r$(RCSbase) -m\"Distribution of $(RCSsymbNAME): \
	 $(RCSmessage)\" $(CIFLAGS) -N\"$(RCSsymbNAME)\" \
	 ... well almost ...
	@-for target in $(RCS) ; do \
	 (rc=true; \
	  if dir="`expr $$target : '\(.*\)/[^/]*'`"; then cd $$dir;fi;\
	  file="`basename $$target`"; \
	  if [ -r "$$file" ]; \
	  then  if co -p$(RCSbase) -q "$$file" | cmp -s - "$$file"; \
		then    rm -f "$$file"; \
		else    rcs -l$(RCSbase) "$$file"; \
			ci -r$(RCSbase) -m"Distribution of $(RCSsymbNAME): $(RCSmessage)" $(CIFLAGS) -N"$(RCSsymbNAME)" "$$file"; \
			rc=false; \
		fi; \
	  fi; \
	  if $$rc; \
	  then  eval `rlog -h $$file | awk '{ if ($$1 == "head:") print "vers=\"" $$2 "\""}'`; \
		rcs -N$(RCSsymbNAME):$$vers -sRel "$$file"; \
	  fi; \
	 ); \
	done

rcsdiff : ALWAYS
	@echo rcsdiff $(RCSDIFFFLAGS) $(RCS) ... well almost ...
	@-echo "Prereq: "
	@-for target in version.h $(RCS) ; do \
	 (if dir="`expr $$target : '\(.*\)/[^/]*'`"; then cd $$dir;fi;\
	  file="`basename $$target`"; \
	  echo Index: $$target; \
	  rcsdiff $(RCSDIFFFLAGS) $$file; \
	 ) \
	done

ALWAYS:
