#
#	SCCSID	@(#)Makefile	1.9 85/02/08
#

DEBUG		= -DEBUG=2
CFLAGS		= -O -K
CONFIG		=
DFLAGS		= $(DEBUG) $(CONFIG)

LINT		= lint
GET		= sccs get
RM		= /bin/rm -f

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

BINARIES	= ../$(BIN)/changestate ../$(BIN)/linkstats ../$(BIN)/purge \
		  ../$(BIN)/request ../$(BIN)/rundaemon ../$(BIN)/state

SLIBS		= $(SYSLIBS) -lc ../$(BIN)/$(LIBC).a
CHSTLIBS	= ../$(BIN)/$(HEADER).a ../$(BIN)/$(ROUTE).a ../$(BIN)/$(LIB).a ../$(BIN)/$(DIRLIB).a
LINKLIBS	= ../$(BIN)/$(ROUTE).a ../$(BIN)/$(LIB).a ../$(BIN)/$(DIRLIB).a
PURGELIBS	= ../$(BIN)/$(LIB).a ../$(BIN)/$(DIRLIB).a
REQLIBS		= ../$(BIN)/$(HEADER).a ../$(BIN)/$(ROUTE).a ../$(BIN)/$(LIB).a
RUNDLIBS	= ../$(BIN)/$(LIB).a
STATELIBS	= ../$(BIN)/$(HEADER).a ../$(BIN)/$(STATE).a ../$(BIN)/$(ROUTE).a ../$(BIN)/$(LIB).a

INCLUDE		= -I../$(INC) -I../$(STATE)

CFILES		= changestate.c linkstats.c purge.c request.c rundaemon.c state.c
OBJECTS		= changestate.o linkstats.o purge.o request.o rundaemon.o state.o

LFLAGS		= $(INCLUDE) $(DFLAGS)

NAME		= Control
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 \
		../$(STATE)/llib-$(STATE).ln \
		../$(LIB)/llib-$(LIB).ln \
		>$*.t 2>&1

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

.SUFFIXES:	.x .t .c

all:		$(BINARIES)

../$(BIN)/changestate: \
		changestate.o $(CHSTLIBS)
		$(CC) $(LDFLAGS) -o ../$(BIN)/changestate changestate.o $(CHSTLIBS) $(SLIBS)

../$(BIN)/linkstats: \
		linkstats.o $(LINKLIBS)
		$(CC) $(LDFLAGS) -o ../$(BIN)/linkstats linkstats.o $(LINKLIBS) $(SLIBS)

../$(BIN)/purge: \
		purge.o $(PURGELIBS)
		$(CC) $(LDFLAGS) -o ../$(BIN)/purge purge.o $(PURGELIBS) $(SLIBS)

../$(BIN)/request: \
		request.o $(REQLIBS)
		$(CC) $(LDFLAGS) -o ../$(BIN)/request request.o $(REQLIBS) $(SLIBS)

../$(BIN)/rundaemon: \
		rundaemon.o $(RUNDLIBS)
		$(CC) $(LDFLAGS) -o ../$(BIN)/rundaemon rundaemon.o $(RUNDLIBS) $(SLIBS)

../$(BIN)/state: \
		state.o $(STATELIBS)
		$(CC) $(LDFLAGS) -o ../$(BIN)/state state.o $(STATELIBS) $(SLIBS)

$(OBJECTS):	../$(INC)/global.h $(FRC)

changestate.o:	../$(INC)/address.h ../$(INC)/handlers.h ../$(INC)/header.h \
		../$(INC)/state.h ../$(INC)/spool.h changestate.c
linkstats.o:	../$(INC)/Stream.h ../$(INC)/spool.h ../$(INC)/state.h \
		linkstats.c
purge.o:	../$(INC)/Stream.h ../$(INC)/command.h ../$(INC)/spool.h \
		purge.c
request.o:	../$(INC)/address.h ../$(INC)/handlers.h ../$(INC)/header.h \
		../$(INC)/state.h request.c 
rundaemon.o:	rundaemon.c 
state.o:	../$(INC)/address.h ../$(INC)/state.h ../$(STATE)/statefile.h state.c 

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

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

clobber:	clean

llib:

lint:		changestate.t linkstats.t purge.t request.t rundaemon.t state.t

rundaemon.lint:	rundaemon.t
		more rundaemon.t

request.lint:	request.t
		more request.t

state.lint:	state.t
		more state.t

purge.lint:	purge.t
		more purge.t

linkstats.lint:	linkstats.t
		more linkstats.t

changestate.lint:	changestate.t
		more changestate.t

cyntax:		changestate.x linkstats.x purge.x request.x rundaemon.x state.x

rundaemon.cyntax:	rundaemon.x
		more rundaemon.x

request.cyntax:	request.x
		more request.x

state.cyntax:	state.x
		more state.x

purge.cyntax:	purge.x
		more purge.x

linkstats.cyntax:	linkstats.x
		more linkstats.x

changestate.cyntax:	changestate.x
		more changestate.x

dis:		../$(BIN)/dis

../$(BIN)/dis:	dis.c
		$(CC) $(CFLAGS) dis.c -o ../$(BIN)/dis -ltermcap $(SLIBS) ../$(BIN)/$(LIB).a

FRC:
