# Makefile for IFmail Internet/FidoNet gateway
# Copyright (c) 1993 by Eugene G. Crosser

VERSION	    = "1.3"
COPYRIGHT   = "Eugene G. Crosser, 1993"

#######################################################################

INCDIR = ../lib

include ../CONFIG

DEFINES = -DDEBUGFILE=\"${DEBUGFILE}\" -DLOGFILE=\"${LOGFILE}\" \
		-DCONFIGFILE=\"${CONFIGFILE}\" ${OPTS}

UTLIB = ../lib/utlib.a
OBJMAIL = ifmail.o rfcmsg.o message.o mkftnhdr.o \
		ifdbm.o batchrd.o areas.o \
		msgidbm.o falists.o attach.o
OBJTOSS = iftoss.o areas.o \
		getmessage.o mkrfcmsg.o rfcmsg.o batchrd.o \
		ifdbm.o falists.o backalias.o
OBJUNPACK = ifunpack.o unpacker.o areas.o execute.o flock.o
OBJPACK = ifpack.o areas.o execute.o flock.o
SRCS = ifmail.c rfcmsg.c message.c mkftnhdr.c \
		ifdbm.c batchrd.c areas.c \
		iftoss.c getmessage.c mkrfcmsg.c \
		falists.c ifunpack.c unpacker.c execute.c ifpack.c flock.c \
		backalias.c msgidbm.c attach.c lastmtime.c
HDRS = rfcmsg.h ftnmsg.h areas.h \
		mkrfcmsg.h falists.h
OTHER = README TODO LSM PATCH Makefile config testmail newsin pkt \
		sys batchparms ftnpaths routers transports ldbm a2dbm Areas
ALL = ifmail ifnews iftoss ifunpack ifpack

.c.o:
	${CC} -c ${CFLAGS} ${INCLUDES} ${DEFINES} $<

all:	${ALL}

install: all
	install -o${OWNER} -m0711 ifpack ${BINDIR}/ifpack
	install -o${OWNER} -m0711 ifunpack ${BINDIR}/ifunpack
	install -o${OWNER} -m0711 iftoss ${BINDIR}/iftoss
	install -o${OWNER} -m4711 ifmail ${BINDIR}/ifmail
	rm -f ${BINDIR}/ifnews
	ln ${BINDIR}/ifmail ${BINDIR}/ifnews

tryt:	iftoss
	./iftoss -Iconfig -x6 <pkt

tryn:	ifmail
	./ifmail -Iconfig -n -x9 f39.n5000 <newsin

trym:	ifmail
	./ifmail -Iconfig -rf6.n5020.z2.fidonet.org -x8 \
		Pete.Kvitek@f5.n5020.z2.fidonet.org <testmail

tryu:	ifunpack
	./ifunpack -Iconfig -x3

tryp:	ifpack
	./ifpack -Iconfig -x3

clean:
	rm -f *.o core ${ALL} lastmtime

ifmail:	${OBJMAIL}
	${CC} ${LDFLAGS} ${OBJMAIL} ${UTLIB} -o ifmail ${LIBS}

ifnews:	ifmail
	rm -f ifnews
	ln ifmail ifnews

iftoss:	${OBJTOSS}
	${CC} ${LDFLAGS} ${OBJTOSS} ${UTLIB} -o iftoss ${LIBS}

ifunpack: ${OBJUNPACK}
	${CC} ${LDFLAGS} ${OBJUNPACK} ${UTLIB} -o ifunpack ${LIBS}

ifpack: ${OBJPACK}
	${CC} ${LDFLAGS} ${OBJPACK} ${UTLIB} -o ifpack ${LIBS}

lastmtime: lastmtime.c
	${CC} lastmtime.c -o lastmtime

tar:	ifmail.tar.z

ifmail.tar.z: ${SRCS} ${HDRS} ${OTHER}
	tar cf - ${SRCS} ${HDRS} ${OTHER} | \
	gzip >$@

filelist:	Makefile
	BASE=`pwd`; \
	BASE=`basename $${BASE}`; \
	(for f in ${SRCS} ${HDRS} ${OTHER} ;do echo $${BASE}/$$f; done) \
	>filelist

config:
	test -f config

version.h:	${SRCS} ${HDRS} lastmtime
	echo 'char *version=${VERSION};' >version.h
	echo 'char *copyright=${COPYRIGHT};' >>version.h
	echo "char *reldate=\"`./lastmtime ${SRCS} ${HDRS}`\";" >>version.h

depend:	version.h
	@rm -f Makefile.bak; \
	mv Makefile Makefile.bak; \
	sed -e '/^# DO NOT DELETE/,$$d' Makefile.bak >Makefile; \
	${ECHO} '# DO NOT DELETE THIS LINE - MAKE DEPEND RELIES ON IT' \
		>>Makefile; \
	${ECHO} '# Dependencies generated by make depend' >>Makefile; \
	for f in ${SRCS}; \
	do \
		${ECHO} "Dependencies for $$f:\c"; \
		${ECHO} "`basename $$f .c`.o:\c" >>Makefile; \
		for h in `sed -n -e \
			's/^#[ 	]*include[ 	]*"\([^"]*\)".*/\1/p' $$f`; \
		do \
			${ECHO} " $$h\c"; \
			if [ -r $$h ]; \
			then \
				${ECHO} " $$h\c" >>Makefile; \
			else \
				${ECHO} " ${INCDIR}/$$h\c" >>Makefile; \
			fi; \
		done; \
		${ECHO} " done."; \
		${ECHO} "" >>Makefile; \
	done; \
	${ECHO} '# End of generated dependencies' >>Makefile

# DO NOT DELETE THIS LINE - MAKE DEPEND RELIES ON IT
# Dependencies generated by make depend
ifmail.o: ../lib/getopt.h ../lib/lutil.h ../lib/xutil.h ../lib/ftn.h falists.h rfcmsg.h ftnmsg.h areas.h ../lib/config.h version.h
rfcmsg.o: ../lib/xutil.h ../lib/lutil.h rfcmsg.h
message.o: ../lib/xutil.h ../lib/lutil.h ../lib/ftn.h ftnmsg.h rfcmsg.h ../lib/config.h ../lib/bwrite.h falists.h
mkftnhdr.o: ../lib/xutil.h ../lib/lutil.h ../lib/ftn.h ftnmsg.h rfcmsg.h ../lib/config.h
ifdbm.o: ../lib/lutil.h ../lib/config.h
batchrd.o: ../lib/lutil.h
areas.o: ../lib/lutil.h ../lib/xutil.h areas.h ../lib/config.h
iftoss.o: ../lib/getopt.h ../lib/lutil.h ../lib/config.h version.h ../lib/ftn.h ../lib/getheader.h
getmessage.o: ../lib/xutil.h ../lib/lutil.h ../lib/bread.h ../lib/ftn.h rfcmsg.h mkrfcmsg.h ../lib/config.h
mkrfcmsg.o: ../lib/lutil.h ../lib/xutil.h mkrfcmsg.h rfcmsg.h areas.h falists.h ../lib/config.h
falists.o: ../lib/xutil.h ../lib/lutil.h ../lib/ftn.h falists.h
ifunpack.o: ../lib/getopt.h ../lib/lutil.h ../lib/config.h version.h
unpacker.o: ../lib/lutil.h ../lib/config.h
execute.o: ../lib/lutil.h
ifpack.o: ../lib/getopt.h ../lib/lutil.h ../lib/config.h version.h
flock.o: ../lib/lutil.h
backalias.o: ../lib/xutil.h ../lib/lutil.h ../lib/ftn.h
msgidbm.o: ../lib/lutil.h ../lib/xutil.h ../lib/config.h ../lib/ftn.h
attach.o: ../lib/ftn.h ../lib/lutil.h ../lib/config.h
lastmtime.o:
# End of generated dependencies
