# Makefile.in - sieve makefile
# @configure_input@
# $Id: Makefile.in,v 1.38 2004/05/28 18:03:09 rjs3 Exp $
################################################################
#        Copyright 1998 by Carnegie Mellon University
#
#                      All Rights Reserved
#
#Permission to use, copy, modify, and distribute this software and its
#documentation for any purpose and without fee is hereby granted,
#provided that the above copyright notice appear in all copies and that
#both that copyright notice and this permission notice appear in
#supporting documentation, and that the name of Carnegie Mellon University
#not be used in advertising or publicity pertaining to distribution of the
#software without specific, written prior permission.
#
#CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
#SOFTWARE, INCLUDING #ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, 
#IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE FOR ANY SPECIAL, 
#INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 
#LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
#OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
#PERFORMANCE OF THIS SOFTWARE.
################################################################

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@

cyrus_prefix = @cyrus_prefix@
service_path = @service_path@

CC = @CC@
YACC = @YACC@
YFLAGS = -d
LEX = @LEX@
RANLIB = @RANLIB@
COMPILE_ET = @COMPILE_ET@

DEFS = @DEFS@
CPPFLAGS = -I.. -I$(srcdir)/../lib @COM_ERR_CPPFLAGS@ @CPPFLAGS@ @SASLFLAGS@
MAKEDEPEND_CFLAGS = @CFLAGS@
CFLAGS = @CFLAGS@ @PERL_CCCDLFLAGS@
LDFLAGS = @LDFLAGS@

MAKEDEPEND = @MAKEDEPEND@

IMAP_LIBS = @IMAP_LIBS@
IMAP_COM_ERR_LIBS = @IMAP_COM_ERR_LIBS@
IMAP_LIBS = @IMAP_LIBS@ @LIB_RT@
LIBS = libsieve.a $(IMAP_LIBS) $(IMAP_COM_ERR_LIBS)
DEPLIBS=../lib/libcyrus.a ../lib/libcyrus_min.a @DEPLIBS@

BUILT_SOURCES = addr.c addr.h addr-lex.c \
	sieve.c sieve.h sieve-lex.c \
	sieve_err.h sieve_err.c

all: libsieve.a sievec sieved

dist: $(BUILT_SOURCES)

install: sievec
	$(srcdir)/../install-sh -d ${DESTDIR}$(service_path)
	$(srcdir)/../install-sh -c -m 755 sievec $(DESTDIR)$(service_path) || exit

test: $(DEPLIBS) libsieve.a test.o
	$(CC) $(LDFLAGS) -o test test.o libsieve.a $(DEPLIBS) $(LIBS)

OBJS = sieve_err.o \
       sieve.o sieve-lex.o comparator.o interp.o message.o \
       bc_generate.o bc_dump.o bc_emit.o bc_eval.o \
       script.o tree.o addr.o addr-lex.o @MD5OBJ@ 

sieve-lex.c: sieve-lex.l sieve.h

sieve.c sieve.h: sieve.y
	$(YACC) $(YFLAGS) $(srcdir)/sieve.y
	mv -f y.tab.c sieve.c 
	mv -f y.tab.h sieve.h


addr-lex.c: addr-lex.l addr.h
#taken out by new makefile
#	$(LEX) -t -Paddr $(srcdir)/addr-lex.l > $@

addr.c addr.h: addr.y
	$(YACC) $(YFLAGS) -p addr $(srcdir)/addr.y
	mv -f y.tab.c addr.c
	mv -f y.tab.h addr.h


# This is needed because 'makedepend' leaves it out 
#(this is not in newer version, is it still needed?)
#addr.o: addr.h  


#libsieve.a: sieve.c sieve.h sieve_err.h sieve_err.c $(OBJS)
#changed to...
libsieve.a: $(OBJS)
	rm -f libsieve.a
	ar cr libsieve.a $(OBJS)
	$(RANLIB) libsieve.a

sievec: sievec.o libsieve.a
	$(CC) $(LDFLAGS) -o sievec sievec.o libsieve.a $(DEPLIBS) $(LIBS)

sieved: sieved.o libsieve.a
	$(CC) $(LDFLAGS) -o sieved sieved.o libsieve.a $(DEPLIBS) $(LIBS)


sieve_interface.h: sieve_err.h

sieve_err.h sieve_err.c: sieve_err.et 
	$(COMPILE_ET) $(srcdir)/sieve_err.et

clean:
	rm -f test *~ *.o *.a Makefile.bak makedepend.log

distclean: clean
	rm -f Makefile

clobber:
	rm -f $(BUILT_SOURCES)

depend:
	${MAKEDEPEND} $(CPPFLAGS) $(DEFS) -I$(srcdir) $(MAKEDEPEND_CFLAGS) *.c *.y $(srcdir)/*.y $(srcdir)/*.c 1>makedepend.log 2>&1

.c.o:
	$(CC) -c $(CPPFLAGS) $(DEFS) $(CFLAGS) \
	$<

# DO NOT DELETE THIS LINE -- make depend depends on it.
