PROGRAM=	scheduler
#
# ZMailer Scheduler makefile
#
SHELL=		/bin/sh
CC=		gcc # gcc -Wall -pedantic
COPTS=		-traditional -g -O
INSTALL=	/usr/ucb/install -o root -g lbin
MAILBIN=	/slocal/lib/mail
DEFS=
LIBNDIR=	# -lndir
SCHEDULER_INCL=	
SCHEDULER_LIB=	 -lnsl -lresolv -lsocket
MAILQ_LIB=	 -lnsl -lresolv -lsocket
MAILQ_INCL=	
#
INCL=		-I../include
CFLAGS=		$(COPTS) $(DEFS) $(INCL) $(SCHEDULER_INCL)
MQCFLAGS=	$(COPTS) $(DEFS) $(INCL) $(MAILQ_INCL)
LIB=		../lib/libz.a ../transports/libta/libta.a ../libc/libc.a
LINTLIB=	../lib/llib-llibz.ln ../libc/llib-llibc.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:	$(PROGRAM) mailq

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

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

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

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

install:	$(PROGRAM) install-mailq
	$(INSTALL) -c -m 0755 $(PROGRAM) $(MAILBIN)

install-mailq: mailq
	$(INSTALL) -c -m 0755 mailq $(MAILBIN)

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-llibc.ln:
	cd ../libc ; $(MAKE) $(MFLAGS) lintlib

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

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

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

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