#
# Last changed: 11/20/91, v1.2
#
# Makefile for the minimal build for an archie Prospero client.

# Your C compiler:
CC=cc

# For most systems, these OPTIONS will suffice.  Exceptions:
#
#	* If you're on a Stardent, add -43
#	* If you're running EP/IX, you may need to add -systype bsd43 ..try
#	  it without it first, though.

OPTIONS= -O -I. # -43    -systype bsd43

# For this, DEFINES is usually ok as-is.  Try it without any of these
# first; if some stuff fails or shows up undefined, then come back and
# add 'em.
#
#     * if you're on an Apple running A/UX, add		      -DAUX
#     * if you're using a BULL system (Bull DPX/2), add       -DBULL
#     * if you want to include the debugging code (so you
#       can help with problem-solving if any crop up), add    -DDEBUG
#     * if you're running System V, add			      -DSYSV
#     * if you're running a USG (System V.2) system, add      -DUSG
#     * if you're running UTS, add			      -DUTS
#     * if your system doesn't have the functions index(),
#       rindex(), bcopy(), or bzero(), add                    -DFUNCS
#     * if your system doesn't have the re_comp/regcmp or re_exec/regex
#       routines (no regex(3)/regcmp(3X) library), then add   -DNOREGEX
#     * if your system is lacking strspn(), add               -DSTRSPN
DEFINES= -DDEBUG

#	Usually LDFLAGS is empty; if, after you build this, archie
#	 complains that it can't resolve ARCHIE.SURA.NET, you need
#	 to add `-lresolv'.
#	* If you need the PW library (e.g. A/UX), add -lPW
LDFLAGS= # -lresolv		-lPW

# Change this if necessary.
RM=/bin/rm

# =========================
# Yer' done....make archie.
# =========================
#
CFLAGS=$(OPTIONS) $(DEFINES)
#
OBJS=	aquery.o archie.o atalloc.o dirsend.o get_pauth.o get_vdir.o \
	perrmesg.o procquery.o ptalloc.o regex.o stcopy.o support.o \
	vlalloc.o vl_comp.o
#
all: archie

archie: $(OBJS)
	$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)

$(OBJS): archie.h pmachine.h pcompat.h Makefile

procquery.o: copyright.h

clean:
	$(RM) -f *.o archie

gclean: clean
	$(RM) -f *~ archie.0* archie.com archie.tar* gmon.out archie.doc

unx-deadly:
	unifdef -UXARCHIE xprocquery.c > procquery.c

udp: udp.o
	$(CC) -o $@ udp.o

udptest: udp
	@echo "This should print the date, if UDP's enabled, or hang if not:"
	@./udp

FILES=	INSTALL Makefile Prospero README archie.c archie.h archie.lnk \
	archie.doc archie.man aquery.c atalloc.c dirsend.c get_pauth.c \
	get_vdir.c make.com makefile.dos makefile.os2 perrmesg.c \
	patchlevel.h pauthent.h pcompat.h perrno.h pfs.h pmachine.h pprot.h \
	procquery.c ptalloc.c rdgram.h regex.c regex.h stcopy.c support.c \
	copyright.h udp.c vl_comp.c vlalloc.c vms.h vms_support.c vms/fd.h \
	vms/in.h vms/pseudos.h vms/signal.h vms/socket.h vms/time.h \
	vms/types.h vms/network.h vms/multi.opt vms/wall.opt

BFILES= $(FILES) xprocquery.c

dist: tar shar dcl

shar: archie.doc
	makekit -narchie. $(FILES) vms > Manifest

archie.doc: archie.man
	nroff -man archie.man | tr '\010' _ | sed -e s/__//g > archie.doc

dcl: archie.doc
	echo '$$ write sys$$output "Unpacking..."' > archie.com
	echo '$$ if f$$search("archie.dir") .eqs. "" then create/dir [.ARCHIE]' >> archie.com
	echo '$$ if f$$search("[.ARCHIE]vms.dir") .eqs. "" then create/dir [.ARCHIE.VMS]' >> archie.com
	echo '$$ set noverify' >> archie.com
	(cd .. ; dclshar `echo $(FILES) | tr ' ' '\012' |\
	 sed -e "s/^/archie\//g"` >> archie/archie.com )
	echo '$$ write sys$$output "Ok, now enter the ARCHIE directory and type @MAKE ."' >> archie.com

tar: archie.doc
	( cd .. ; tar cvf archie/archie.tar `echo $(FILES) |\
	 tr ' ' '\012' | sed -e "s/^/archie\//g"` )
	compress -f archie.tar

atest: archie.doc
	( cd .. ; tar cvf archie/atest.tar `echo $(BFILES) |\
	 tr ' ' '\012' | sed -e "s/^/archie\//g"` )
	compress -f atest.tar
