#########################################################################
#
# mairix - message index builder and finder for maildir folders.
#
# Copyright (C) Richard P. Curnow  2002-2004,2006
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of version 2 of the GNU General Public License as
# published by the Free Software Foundation.
# 
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
# 
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# =======================================================================

#########################################################################
# Edit the following variables as required
CC=gcc
DEFS=-DHAS_STDINT_H -DHAS_INTTYPES_H -DUSE_GZIP_MBOX -DUSE_BZIP_MBOX
CFLAGS=$(DEFS) -O2 -Wall -gdwarf-2 -g3
CPPFLAGS=-I.
LDFLAGS=
LIBS=-lz -lbz2
revision=0.22
EXEEXT=.exe

#######################################################################
# If you're generating a package, you may want to use
# 	make DESTDIR=temporary_dir install
# to get the software installed to a directory where you can create
# a tdl.tar.gz from it
DESTDIR=

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

prefix=d:/usr
bindir=$(prefix)/bin
mandir=$(prefix)/share/man
man1dir=$(mandir)/man1
man5dir=$(mandir)/man5
infodir=$(prefix)/share/info
docdir=$(prefix)/share/doc/mairix-$(revision)

#########################################################################
# Things below this point shouldn't need to be edited.

OBJ = mairix.o db.o rfc822.o tok.o hash.o dirscan.o writer.o\
 reader.o search.o stats.o dates.o datescan.o mbox.o md5.o\
 fromcheck.o glob.o dumper.o expandstr.o dotlock.o nvp.o nvpscan.o\
 w32supp.o

all : mairix$(EXEEXT)

mairix$(EXEEXT) : $(OBJ)
	$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS)

%.o : %.c memmac.h mairix.h reader.h Makefile
	$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<

datescan.c datescan.h : datescan.nfa ./dfasyn/dfasyn$(EXEEXT)
	./dfasyn/dfasyn -o datescan.c -ho datescan.h -r datescan.report -v -u datescan.nfa

fromcheck.c fromcheck.h : fromcheck.nfa ./dfasyn/dfasyn$(EXEEXT)
	./dfasyn/dfasyn -o fromcheck.c -ho fromcheck.h -r fromcheck.report -v -u fromcheck.nfa

nvpscan.c nvpscan.h : nvp.nfa ./dfasyn/dfasyn$(EXEEXT)
	./dfasyn/dfasyn -o nvpscan.c -ho nvpscan.h -r nvpscan.report -v -u nvp.nfa

dates.o : datescan.h
mbox.o : fromcheck.h
nvp.o : nvpscan.h

version.h:
	mkversion.bat

./dfasyn/dfasyn$(EXEEXT):
	$(MAKE) -C dfasyn CC="$(CC)" CFLAGS="$(CFLAGS)"

clean:
	-rm -f *~ *.o mairix$(EXEEXT) *.s core
	-rm -f mairix.cp mairix.fn mairix.aux mairix.log mairix.ky mairix.pg mairix.toc mairix.tp mairix.vr
	-rm -f fromcheck.[ch] datescan.[ch]
	-rm -f nvpscan.[ch]
	-$(MAKE) -C dfasyn clean

distclean: clean
	-rm -f Makefile config.log

install:
	-mkdir "$(prefix)"
	-mkdir "$(bindir)"
	-mkdir "$(prefix)"/share
	-mkdir "$(mandir)"
	-mkdir "$(man1dir)"
	-mkdir "$(man5dir)"
	cp -f mairix$(EXEEXT) $(bindir)
	chmod 555 $(bindir)/mairix$(EXEEXT)
	cp -f mairix.1 $(man1dir)
	chmod 444 $(man1dir)/mairix.1
	cp -f mairixrc.5 $(man5dir)
	chmod 444 $(man5dir)/mairixrc.5

.PHONY : all install clean distclean

mairix.o : version.h


