#
#	SCCSID	@(#)Makefile	1.13 85/06/26
#

DEBUG		= -DEBUG=2
CFLAGS		= -O -K

BIN		= Bin
INC		= Include
LIB		= Lib
LIBC		= Libc
ROUTE		= Route
HEADER		= Header
DIRLIB		= Dirlib

RM		= rm -f
GET		= sccs get

SLIBS		= $(SYSLIBS) -lc ../$(BIN)/$(LIBC).a
BADLIBS		= ../$(BIN)/$(LIB).a
FILERLIBS	= ../$(BIN)/$(HEADER).a ../$(BIN)/$(ROUTE).a ../$(BIN)/$(LIB).a
MAILERLIBS	= ../$(BIN)/$(HEADER).a ../$(BIN)/$(ROUTE).a ../$(BIN)/$(LIB).a
PRINTERLIBS	= ../$(BIN)/$(HEADER).a ../$(BIN)/$(ROUTE).a ../$(BIN)/$(LIB).a
RECVRLIBS	= ../$(BIN)/$(HEADER).a ../$(BIN)/$(ROUTE).a ../$(BIN)/$(LIB).a ../$(BIN)/$(DIRLIB).a
REPORTERLIBS	= ../$(BIN)/$(HEADER).a ../$(BIN)/$(ROUTE).a ../$(BIN)/$(LIB).a
SERVERLIBS	= ../$(BIN)/$(HEADER).a ../$(BIN)/$(ROUTE).a ../$(BIN)/$(LIB).a ../$(BIN)/$(DIRLIB).a
STATERLIBS	= ../$(BIN)/$(HEADER).a ../$(BIN)/$(ROUTE).a ../$(BIN)/$(LIB).a ../$(BIN)/$(DIRLIB).a

INCLUDE		= -I../$(INC)

CONFIG		=
DFLAGS		= $(DEBUG) $(CONFIG)

LFLAGS		= $(INCLUDE) $(DFLAGS)

HEADERS		=
CFILES		= bad.c filer.c fileserver.c mailer.c printer.c receiver.c \
		  reporter.c stater.c
OBJECTS		= bad.o filer.o fileserver.o mailer.o printer.o receiver.o \
		  reporter.o stater.o

NAME		= Handlers
PRSPOOLER	= sendfile -Aaprinter -e'-b' piers:basset -n
PRSPOOL		= $(PRSPOOLER)$(NAME)
PRFORMATTER	= pr -l66 -w132 -f -n3

.DEFAULT:
		$(GET) SCCS/s.$<

.c.o:
		$(CC) $(CFLAGS) $(INCLUDE) $(DFLAGS) -c $<

.c.t:
		lint $(LFLAGS) $< \
		../$(HEADER)/llib-$(HEADER).ln \
		../$(ROUTE)/llib-$(ROUTE).ln \
		../$(LIB)/llib-$(LIB).ln \
		>$*.t 2>&1

.c.x:
		-cyntax $(LFLAGS) $< >$*.x 2>&1

.SUFFIXES:	.o .x .t .c

all:		../$(BIN)/badhandler \
		../$(BIN)/filer \
		../$(BIN)/fileserver \
		../$(BIN)/handlers \
		../$(BIN)/mailer \
		../$(BIN)/printer \
		../$(BIN)/receiver \
		../$(BIN)/reporter \
		../$(BIN)/stater

../$(BIN)/badhandler:	\
		bad.o $(BADLIBS)
		$(CC) $(LDFLAGS) -o $@ bad.o $(BADLIBS) $(SLIBS)

../$(BIN)/filer:	\
		filer.o $(FILERLIBS)
		$(CC) $(LDFLAGS) -o $@ filer.o $(FILERLIBS) $(SLIBS)

../$(BIN)/fileserver:	\
		fileserver.o $(SERVERLIBS)
		$(CC) $(LDFLAGS) -o $@ fileserver.o $(SERVERLIBS) $(SLIBS)

../$(BIN)/handlers:	\
		handlers
		cp handlers ../$(BIN)/handlers

../$(BIN)/mailer:	\
		mailer.o $(MAILERLIBS)
		$(CC) $(LDFLAGS) -o $@ mailer.o $(MAILERLIBS) $(SLIBS)

../$(BIN)/printer:	\
		printer.o $(PRINTERLIBS)
		$(CC) $(LDFLAGS) -o $@ printer.o $(PRINTERLIBS) $(SLIBS)

../$(BIN)/receiver:	\
		receiver.o $(RECVRLIBS)
		$(CC) $(LDFLAGS) -o $@ receiver.o $(RECVRLIBS) $(SLIBS)

../$(BIN)/reporter:	\
		reporter.o $(RECVRLIBS)
		$(CC) $(LDFLAGS) -o $@ reporter.o $(REPORTERLIBS) $(SLIBS)

../$(BIN)/stater:	\
		stater.o $(STATERLIBS)
		$(CC) $(LDFLAGS) -o $@ stater.o $(STATERLIBS) $(SLIBS)

$(OBJECTS):	../$(INC)/global.h ../$(INC)/address.h ../$(INC)/header.h ../$(INC)/spool.h $(FRC)

bad.o:		bad.c
filer.o:	../$(INC)/Passwd.h ../$(INC)/ftheader.h filer.c
fileserver.o:	../$(INC)/Passwd.h fileserver.c
mailer.o:	../$(INC)/Passwd.h ../$(INC)/ftheader.h mailer.c
printer.o:	../$(INC)/Passwd.h ../$(INC)/ftheader.h printer.c
receiver.o:	../$(INC)/state.h receiver.c
reporter.o:	reporter.c
stater.o:	../$(INC)/state.h stater.c

lint:		bad.t filer.t fileserver.t mailer.t printer.t receiver.t reporter.t stater.t

bad.lint:	bad.t
		more bad.t

filer.lint:	filer.t
		more filer.t

fileserver.lint:	fileserver.t
		more fileserver.t

mailer.lint:	mailer.t
		more mailer.t

printer.lint:	printer.t
		more printer.t

receiver.lint:	receiver.t
		more receiver.t

reporter.lint:	reporter.t
		more reporter.t

stater.lint:	stater.t
		more stater.t

cyntax:		bad.x filer.x fileserver.x mailer.x printer.x receiver.x reporter.x stater.x

bad.cyntax:	bad.x
		more bad.x

filer.cyntax:	filer.x
		more filer.x

fileserver.cyntax:	fileserver.x
		more fileserver.x

mailer.cyntax:	mailer.x
		more mailer.x

printer.cyntax:	printer.x
		more printer.x

receiver.cyntax:	receiver.x
		more receiver.x

reporter.cyntax:	reporter.x
		more reporter.x

stater.cyntax:	stater.x
		more stater.x

print:		Makefile handlers $(HEADERS) $(CFILES)
		$(PRFORMATTER) Makefile handlers $(HEADERS) $(CFILES) | $(PRSPOOL)

clean:
		$(RM) $(OBJECTS) *.[tx]

clobber:	clean

llib:

FRC:
