PROGRAM=	scheduler-new
#
# ZMailer Scheduler makefile
#
SHELL=		/bin/sh
CC=		gcc #-traditional
COPTS= -g -O2 -Wall
CPPDEP=cc -M
MAILBIN=	/l/mail/bin
DEFS=#-migrate #-D_BSD
LIBNDIR=	# -lndir
SCHEDULER_INCL=	
SCHEDULER_LIB=	
MAILQ_LIB=	
MAILQ_INCL=	
INSTALL=/usr/bin/installbsd
#
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 resources.o threads.o pipes.o
SOURCE=	scheduler.c readconfig.c conf.c agenda.c transport.c \
	update.c qprint.c msgerror.c version.c resources.c threads.c pipes.c

all:	$(LIBDEB) $(PROGRAM) mailq

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

$(PROGRAM).3rd: $(PROGRAM)
	atom -tool 3rd -o $(PROGRAM).3rd $(PROGRAM)

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
	-rm -f *.log *.3rd *.3log

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.

scheduler.o: scheduler.c scheduler.h
readconfig.o: readconfig.c scheduler.h
conf.o: conf.c
agenda.o: agenda.c  scheduler.h
transport.o: transport.c scheduler.h
update.o: update.c scheduler.h
qprint.o: qprint.c scheduler.h
msgerror.o: msgerror.c scheduler.h ../include/ta.h
version.o: version.c

# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
