# Where to find things and to put things
P_INC	= ../../include
A_INC	= archie_src
INSTDIR	= UNDEFINED

# libraries should be relative to this dir, not SRC
SRV_LIB	= libpsrv.a
PFS_LIB	= ../pfs/libpfs.a

# args to cc, etc.
CC	= cc
F_CC	= -g -c -DMMAP -DSTRFIND -DCLEANUP -DREALLYNEW
F_CPP	= -I${P_INC} -I${A_INC} ${MACHDEF} 

CFILES = \
	change_acl.c \
	check_acl.c \
	check_nfs.c \
	dsdir.c \
	dsdb.c \
	dsfile.c \
	plog.c \
	prioritize_request.c \
	rdgram.c \
	reply.c \
	retrieve_fp.c

OBJECTS	= \
	change_acl.o \
	check_acl.o \
	check_nfs.o \
	dsdir.o \
	dsdb.o \
	dsfile.o \
	plog.o \
	prioritize_request.o \
	rdgram.o \
	reply.o \
	retrieve_fp.o

ARC_SRC = \
	prarch_match.c \
	prarch_host.c \
	atopdate.c \
	atoplink.c 

ARC_OBJS = \
	prarch_match.o \
	prarch_host.o \
	atopdate.o \
	atoplink.o 

ARC_LIB = \
	oper.o \
	database.o \
	misc.o \
	error.o \
	net.o

ARC_LIBSRC = \
	oper.c \
	database.c \
	misc.c \
	error.c \
	net.c


CODE	= ${CFILES} Makefile

all:	${SRV_LIB}

install:
	cp ${SRV_LIB} ${INSTDIR}/${SRV_LIB}
	ranlib ${INSTDIR}/${SRV_LIB}

clean:
	rm -f a.out core *~ tags TAGS
	rm -f ${OBJECTS} ${ARC_OBJS} ${SRV_LIB} 

cleandb:
	\rm -f db/* /usr/tmp/archie.lock
	\cp /dev/null db/file-list
	\cp /dev/null db/strings-list

src:	${CODE}

${CODE}:
	co -q $@

${OBJECTS} ${ARC_OBJS}:
	${CC} ${F_CC} ${F_CPP} $*.c

${ARC_LIB}:	Makefile 
	${CC} ${F_CC} ${F_CPP} $*.c

${ARC_LIBSRC}:
	ln -s archie_src/$@

prarch.o:
	${CC} ${F_CC} ${F_CPP} $*.c

prarch: prarch.o ${ARC_OBJS} ${PFS_LIB} ${ARC_LIB} Makefile
	${CC} ${F_CCL} -o prarch prarch.o ${SRV_LIB} ${PFS_LIB} ${LIBS} 

${SRV_LIB}: ${OBJECTS} ${ARC_OBJS} ${ARC_LIB}
	rm -f ${SRV_LIB}
	ar rv ${SRV_LIB} ${OBJECTS} ${ARC_OBJS} ${ARC_LIB}
	ranlib ${SRV_LIB}

# Dependencies
atoplink.o: prarch.h
atoplink.o: archie_src/database.h
atoplink.o: archie_src/defines.h
atoplink.o: ../../include/pfs.h
atoplink.o: ../../include/psite.h
atoplink.o: archie_src/structs.h
change_acl.o: ../../include/pauthent.h
change_acl.o: ../../include/pfs.h
change_acl.o: ../../include/plog.h
change_acl.o: ../../include/pmachine.h
change_acl.o: ../../include/pprot.h
change_acl.o: ../../include/psite.h
check_acl.o: ../../include/pauthent.h
check_acl.o: ../../include/pfs.h
check_acl.o: ../../include/plog.h
check_acl.o: ../../include/pmachine.h
check_acl.o: ../../include/pprot.h
check_acl.o: ../../include/psite.h
check_nfs.o: ../../include/pfs.h
check_nfs.o: ../../include/pmachine.h
dsdb.o: archie_src/database.h
dsdb.o: archie_src/defines.h
dsdb.o: ../../include/perrno.h
dsdb.o: ../../include/pfs.h
dsdb.o: ../../include/plog.h
dsdb.o: ../../include/pmachine.h
dsdb.o: ../../include/pprot.h
dsdb.o: ../../include/psite.h
dsdb.o: archie_src/structs.h
dsdir.o: ../../include/perrno.h
dsdir.o: ../../include/pfs.h
dsdir.o: ../../include/plog.h
dsdir.o: ../../include/pmachine.h
dsdir.o: ../../include/pprot.h
dsfile.o: ../../include/perrno.h
dsfile.o: ../../include/pfs.h
dsfile.o: ../../include/plog.h
dsfile.o: ../../include/pmachine.h
dsfile.o: ../../include/pprot.h
plog.o: ../../include/pfs.h
plog.o: ../../include/plog.h
plog.o: ../../include/pmachine.h
plog.o: ../../include/psite.h
prarch.o: prarch.h
prarch.o: archie_src/database.h
prarch.o: archie_src/defines.h
prarch.o: ../../include/perrno.h
prarch.o: ../../include/pfs.h
prarch.o: archie_src/structs.h
prarch_host.o: prarch.h
prarch_host.o: archie_src/archie_defs.h
prarch_host.o: archie_src/database.h
prarch_host.o: archie_src/defines.h
prarch_host.o: ../../include/perrno.h
prarch_host.o: ../../include/pfs.h
prarch_host.o: archie_src/structs.h
prarch_match.o: prarch.h
prarch_match.o: archie_src/database.h
prarch_match.o: archie_src/defines.h
prarch_match.o: ../../include/perrno.h
prarch_match.o: ../../include/pfs.h
prarch_match.o: archie_src/structs.h
reply.o: ../../include/perrno.h
reply.o: ../../include/pfs.h
reply.o: ../../include/plog.h
reply.o: ../../include/pprot.h
retrieve_fp.o: ../../include/perrno.h
retrieve_fp.o: ../../include/pfs.h
