PROGRAM=	scheduler
#
# ZMailer Scheduler makefile
#
SHELL=		/bin/sh
CC=		gcc #-traditional
COPTS=		-g -O
CPPDEP= gcc -MM
MAILBIN=	/usr/local/mail/bin
DEFS=	#-DXMEM -DMALLOC_TRACE
LIBNDIR=	# -lndir
SCHEDULER_INCL=	
SCHEDULER_LIB=	 -lnsl -lresolv -lsocket
MAILQ_LIB=	 -lnsl -lresolv -lsocket
MAILQ_INCL=	
INSTALL=	/usr/ucb/install
#
INCL=		-I../include
CFLAGS=		$(COPTS) $(DEFS) $(INCL) $(SCHEDULER_INCL)
MQCFLAGS=	$(COPTS) $(DEFS) $(INCL) $(MAILQ_INCL)
LIBMALLOC=	-lmalloc_d
LIBMALLOCDEB=	../libmalloc/libmalloc_d.a-a
LIB=		-L../libs -lz -lzc  -lta $(LIBMALLOC)
LIBDEB=		../lib/libz.a-a ../libc/libzc.a-a ../transports/libta/libta.a-a $(LIBMALLOCDEB)
LINTLIB=	../lib/llib-llibz.ln ../libc/llib-llibzc.ln ../transports/libta/llib-llibta.ln
MAKE=		make
#
OBJS=	scheduler.o readconfig.o conf.o agenda.o transport.o \
	update.o qprint.o msgerror.o
SOURCE=	scheduler.c readconfig.c conf.c agenda.c transport.c \
	update.c qprint.c msgerror.c version.c

all:	$(LIBDEB) $(PROGRAM) mailq

$(PROGRAM): $(LIBDEB) version.o
	$(CC) $(CFLAGS) -o $@ $(OBJS) version.o $(LIB) $(SCHEDULER_LIB)

version.c: $(OBJS)
	@make -f ../Makefile $@

mailq:	mailq.o conf.o version.o $(LIBDEB)
	$(CC) $(CFLAGS) -o $@ mailq.o conf.o version.o $(LIB) $(MAILQ_LIB)

mailq.o: mailq.c
	$(CC) $(MQCFLAGS) -c $<

install:	$(PROGRAM) install-mailq
	$(INSTALL) -c -m 0755 $(PROGRAM) $(MAILBIN)/$(PROGRAM).x
	-mv $(MAILBIN)/$(PROGRAM).x $(MAILBIN)/$(PROGRAM)

install-mailq: mailq
	$(INSTALL) -c -m 0755 mailq $(MAILBIN)/mailq.x
	-mv $(MAILBIN)/mailq.x $(MAILBIN)/mailq

tags:
	ctags *.c *.h

clean:
	-rm -f $(PROGRAM) mailq *.o *.out tags make.log Makefile.bak

lint:	$(LINTLIB)
	lint $(DEFS) $(INCL) $(SCHEDULER_INCL) $(LINTLIB) $(SOURCE)

../transports/libta/llib-llibta.ln:
	cd ../transports/libta ; $(MAKE) $(MFLAGS) lintlib

../libc/llib-llibzc.ln:
	cd ../libc ; $(MAKE) $(MFLAGS) lintlib

../lib/llib-llibz.ln:
	cd ../lib ; $(MAKE) $(MFLAGS) lintlib

../transports/libta/libta.a-a:
	cd ../transports/libta ; $(MAKE) $(MFLAGS)
../transports/libta/libta.a:
	cd ../transports/libta ; $(MAKE) $(MFLAGS)

../libc/libzc.a-a:
	cd ../libc ; $(MAKE) $(MFLAGS)
../libc/libzc.a:
	cd ../libc ; $(MAKE) $(MFLAGS)

../lib/libz.a-a:
	cd ../lib ; $(MAKE) $(MFLAGS)
../lib/libz.a:
	cd ../lib ; $(MAKE) $(MFLAGS)

../libsh/libsh.a-a:
	cd ../libsh ; $(MAKE) $(MFLAGS)
../libsh/libsh.a:
	cd ../libsh ; $(MAKE) $(MFLAGS)

../libmalloc/libmalloc.a:
	cd ../libmalloc ; $(MAKE) $(MFLAGS)
../libmalloc/libmalloc_d.a:
	cd ../libmalloc ; $(MAKE) $(MFLAGS)
../libmalloc/libmalloc_d.a-a:
	cd ../libmalloc ; $(MAKE) $(MFLAGS)

depend:
	CPPDEP="${CPPDEP}" ../bin/mkdep $(CFLAGS) $(SOURCE)

# DO NOT DELETE THIS LINE -- mkdep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
