# 
#  Makefile for the rocat BBS System
#  Copyright C 1994 by Gregory Shaw
# 
#  Don't look here!  The docs are in the doc directory.
#

CC=gcc
CFLAGS= -g -D_POSIX_SOURCE -Wall
LIBS=-lm


HDRS= bbs.h bbsint.h errlog.h menu.h user.h bbshdr.h bbsipc.h filelock.h ports.h bbsinfo.h socket.h sysexec.h

.SUFFIXES: .C .o

.C.o:
	$(CC) -c $(CFLAGS) $<




all: bbs errlogd fileutil monitor

backup:	clean
	cd ../..;tar cvf /dev/fd0H1440 rocat
	@echo Backup complete!

bbs:	bbs.o user.o bbsint.o bbsipc.o bbsinfo.o errlog.o filelock.o \
	menu.o files.o dllist.o moncon.o sysexec.o
	$(CC) -g -o bbs bbs.o user.o filelock.o bbsint.o bbsipc.o menu.o \
	bbsinfo.o errlog.o dllist.o files.o moncon.o sysexec.o $(LIBS)

bbsipc: bbsipc.o

clean:
	rm -f *.o
	rm -f core
	rm -f bbs
	rm -f *test
	rm -f errlogd
	rm -f monitor
	rm -f fileutil

chsh: chsh.o
	$(CC) -g -o chsh chsh.c

depend:	
	gccmakedep *.C

dltest:	dltest.o dllist.o
	$(CC) -o dltest dltest.o dllist.o

errlogd:  errlogd.o
	$(CC) -c $(CFLAGS) -D_SERVER_ errlogd.C
	$(CC) -c $(CFLAGS) -D_SERVER_ bbsipc.C
	$(CC) -o errlogd errlogd.o bbsipc.o $(LIBS)

fileutil:	files.o dllist.o fileutil.o user.o bbsint.o bbsipc.o bbsinfo.o errlog.o filelock.o menu.o moncon.o sysexec.o
	$(CC) -o  fileutil files.o fileutil.o dllist.o user.o filelock.o bbsint.o bbsipc.o menu.o bbsinfo.o errlog.o moncon.o sysexec.o $(LIBS)

filesupdate:	filesupdate.o
	$(CC) -o filesupdate filesupdate.o

install-manwe: bbs errlogd fileutil monitor
	strip bbs errlogd fileutil monitor
	cp fileutil /bbs/bin
	chmod 775 bbs
	rm -f /bbs/rocat
	cp bbs /bbs/rocat
	chgrp bbs /bbs/rocat
	chmod g+s /bbs/rocat
	chmod 775 monitor
	chgrp bbs monitor
	cp monitor /bbs/bin
	chmod 775 errlogd
	chgrp bbs errlogd
	chmod g+s errlogd
	cp errlogd /bbs/bin

install: bbs errlogd fileutil monitor
	strip bbs errlogd fileutil monitor
	cp fileutil $(BBSDIR)/bin
	chmod 775 bbs
	rm -f $(BBSDIR)/rocat
	cp bbs $(BBSDIR)/rocat
	chgrp bbs $(BBSDIR)/rocat
	chmod g+s $(BBSDIR)/rocat
	chmod 775 monitor
	chgrp bbs monitor
	cp monitor $(BBSDIR)/bin
	chmod 775 errlogd
	chgrp bbs errlogd
	chmod g+s errlogd
	cp errlogd $(BBSDIR)/bin

menutest:	menutest.o user.o bbsint.o bbsipc.o bbsinfo.o errlog.o filelock.o menu.o
	$(CC) -g -o menutest menutest.o user.o filelock.o bbsint.o bbsipc.o menu.o bbsinfo.o errlog.o $(LIBS)

monitor: bbsint.o monitor.o
	$(CC) -c $(CFLAGS) -D_SERVER_ bbsipc.C
	$(CC) -c $(CFLAGS) -D_SERVER_ monitor.C
	$(CC) -g -o monitor monitor.o bbsipc.o $(LIBS)

test:	test.o user.o bbsint.o bbsipc.o bbsinfo.o errlog.o filelock.o 
	$(CC) -g -o test test.o menu.o user.o filelock.o bbsint.o bbsipc.o bbsinfo.o errlog.o $(LIBS)

testipc: testipc.o bbsipc
	$(CC) -g -o testipc testipc.o bbsipc.o $(LIBS)

testinfo:	testinfo.o	bbsinfo.o
	$(CC) -g -o testinfo testinfo.o bbsinfo.o $(LIBS)

user: user.o bbsint.o 

usertest:	usertest.o user.o bbsint.o bbsipc.o bbsinfo.o errlog.o filelock.o 
	$(CC) -g -o usertest usertest.o user.o filelock.o bbsint.o bbsipc.o bbsinfo.o errlog.o $(LIBS)

# dependancies

# DO NOT DELETE
