#
# NAME
#     Make.dist -- Makefile template, used to create 'Makefile'
#
# AUTHOR
#     Ken MacLeod
#
# SCCS
#     @(#) Make.dist  1.3 11/11/90 07:44:19 
#

SRCS=Init.c Room.c Floor.c Enter.c EnterMesg.c Mesg.c EnterFile.c \
	Read.c ReadFile.c ReadMesg.c General.c Data.c Headers.c \
	ErrorLog.c Columnize.c MenuDef.c FromNews.c Input.c Strings.c \
	fgetmfs.c ftime.c getdate.y getenvs.c getdefs.c
CFILES=$(SRCS)
INCS=Unidel.h ErrorLog.h Room.h User.h Message.h File.h fgetmfs.h getenvs.h
ETCS=Makefile defs.dist Make.dist fgetmfs.3
OBJS=Init.o Room.o Floor.o Enter.o EnterMesg.o Mesg.o EnterFile.o \
	Read.o ReadFile.o ReadMesg.o General.o Data.o Headers.o \
	ErrorLog.o Columnize.o MenuDef.o FromNews.o Input.o Strings.o \
	fgetmfs.o ftime.o getdate.o getenvs.o getdefs.o 

LOCALINC=/usr/local/include
LOCALLIB=/usr/local/lib
CFLAGS=-I$(LOCALINC) -g -Dmalloc_t="char*" -I.
LDFLAGS=-L$(LOCALLIB)

unidel: $(OBJS)
	cc $(OBJS) $(LDFLAGS) -o unidel

getpath.o:
	@echo "getpath.o must be copied from smail." ; exit 1

Makefile: Make.dist localize.sh
	@echo "You need to run localize.sh" ; exit 1

defs.h: defs.dist localize.sh
	@echo "You need to run localize.sh" ; exit 1

getdate.o:  getdate.y
	@echo "expect 8 shift/reduce conflicts"
	yacc getdate.y
	mv y.tab.c getdate.c
	$(CC) $(CFLAGS) -c getdate.c
	-rm -f getdate.c

lint: $(SRCS)
	lint $(CFLAGS) $(SRCS) >lint.out 2>&1

TarFiles=$(SRCS) $(INCS) $(ETCS)
tar: $(TarFiles)
	tar cvf un`date +%y%m%d`.tar $(TarFiles)
	compress un`date +%y%m%d`.tar

depend:
	@echo '/^# DO NOT/+1,$$d\nw\nq' | ed - Makefile; \
	echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile; \
	for i in ${CFILES} ; \
	do \
	if [ -r $$i ]; \
	then \
	echo "Finding dependences for $$i ... \c"; \
	for j in `grep '^#[     ]*include[     ]*"[^"]*"' < $$i | \
	sed 's/^#[     ]*include[     ]*"\([^"]*\)".*/\1/'`; \
	do \
	if [ -r $$j ]; \
	then \
	echo "`basename $$i .c`.o: $$j" >> Makefile; \
	echo "`basename $$i .c`.ln: $$j" >> Makefile; \
	elif [ -r $(LOCALINC)/$$j ]; \
	then \
	echo "`basename $$i .c`.o: $(LOCALINC)/$$j" >> Makefile; \
	echo "`basename $$i .c`.ln: $(LOCALINC)/$$j" >> Makefile; \
	else \
	echo "`basename $$i .c`.o: ${HEADERS}/$$j" \
	>> Makefile; \
	echo "`basename $$i .c`.ln: ${HEADERS}/$$j" \
	>> Makefile; \
	fi; \
	done; \
	echo "done."; \
	else \
	echo "Can not open $$i." 1>&2; \
	fi; \
	done; \
	echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile; \
	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile; \
	echo '# see make depend above' >> Makefile

# DO NOT DELETE THIS LINE -- make depend uses it
# DEPENDENCIES MUST END AT END OF FILE
Init.o: ErrorLog.h
Init.ln: ErrorLog.h
Init.o: defs.h
Init.ln: defs.h
Init.o: Unidel.h
Init.ln: Unidel.h
Init.o: Message.h
Init.ln: Message.h
Init.o: User.h
Init.ln: User.h
Init.o: Room.h
Init.ln: Room.h
Init.o: File.h
Init.ln: File.h
Room.o: ErrorLog.h
Room.ln: ErrorLog.h
Room.o: defs.h
Room.ln: defs.h
Room.o: Unidel.h
Room.ln: Unidel.h
Room.o: User.h
Room.ln: User.h
Room.o: Message.h
Room.ln: Message.h
Room.o: Room.h
Room.ln: Room.h
Floor.o: defs.h
Floor.ln: defs.h
Floor.o: Unidel.h
Floor.ln: Unidel.h
Floor.o: Room.h
Floor.ln: Room.h
Enter.o: ErrorLog.h
Enter.ln: ErrorLog.h
Enter.o: defs.h
Enter.ln: defs.h
Enter.o: Unidel.h
Enter.ln: Unidel.h
Enter.o: Message.h
Enter.ln: Message.h
Enter.o: Room.h
Enter.ln: Room.h
Enter.o: User.h
Enter.ln: User.h
Enter.o: File.h
Enter.ln: File.h
EnterMesg.o: defs.h
EnterMesg.ln: defs.h
EnterMesg.o: Unidel.h
EnterMesg.ln: Unidel.h
EnterMesg.o: Room.h
EnterMesg.ln: Room.h
EnterMesg.o: Message.h
EnterMesg.ln: Message.h
EnterMesg.o: User.h
EnterMesg.ln: User.h
EnterMesg.o: File.h
EnterMesg.ln: File.h
Mesg.o: ErrorLog.h
Mesg.ln: ErrorLog.h
Mesg.o: defs.h
Mesg.ln: defs.h
Mesg.o: Unidel.h
Mesg.ln: Unidel.h
EnterFile.o: ErrorLog.h
EnterFile.ln: ErrorLog.h
EnterFile.o: defs.h
EnterFile.ln: defs.h
EnterFile.o: Unidel.h
EnterFile.ln: Unidel.h
EnterFile.o: Room.h
EnterFile.ln: Room.h
EnterFile.o: User.h
EnterFile.ln: User.h
EnterFile.o: File.h
EnterFile.ln: File.h
Read.o: ErrorLog.h
Read.ln: ErrorLog.h
Read.o: defs.h
Read.ln: defs.h
Read.o: Unidel.h
Read.ln: Unidel.h
Read.o: Room.h
Read.ln: Room.h
Read.o: User.h
Read.ln: User.h
Read.o: Message.h
Read.ln: Message.h
Read.o: File.h
Read.ln: File.h
ReadFile.o: defs.h
ReadFile.ln: defs.h
ReadFile.o: Unidel.h
ReadFile.ln: Unidel.h
ReadFile.o: Room.h
ReadFile.ln: Room.h
ReadFile.o: User.h
ReadFile.ln: User.h
ReadFile.o: File.h
ReadFile.ln: File.h
General.o: ErrorLog.h
General.ln: ErrorLog.h
General.o: defs.h
General.ln: defs.h
General.o: Unidel.h
General.ln: Unidel.h
General.o: Room.h
General.ln: Room.h
General.o: User.h
General.ln: User.h
General.o: Message.h
General.ln: Message.h
General.o: File.h
General.ln: File.h
Data.o: defs.h
Data.ln: defs.h
Data.o: Unidel.h
Data.ln: Unidel.h
Data.o: Room.h
Data.ln: Room.h
Data.o: Message.h
Data.ln: Message.h
Data.o: File.h
Data.ln: File.h
Data.o: User.h
Data.ln: User.h
ErrorLog.o: ErrorLog.h
ErrorLog.ln: ErrorLog.h
Columnize.o: User.h
Columnize.ln: User.h
MenuDef.o: defs.h
MenuDef.ln: defs.h
MenuDef.o: Unidel.h
MenuDef.ln: Unidel.h
MenuDef.o: Message.h
MenuDef.ln: Message.h
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
