# Main makefile

srcdir      = .
top_builddir  = .
prefix      = /usr/local
exec_prefix = ${prefix}
libdir      = ${exec_prefix}/lib
includedir  = ${prefix}/include
mandir      = ${prefix}/man
bindir	    = ${exec_prefix}/bin
SHELL       = /bin/sh
RM          = rm -fr
INSTALL	    = /usr/bin/install -c
LIBTOOL	    = $(SHELL) $(top_builddir)/libtool


#SUBDIRS     = imap nntp pop3 smtp tools imf mbox mh maildir mime generic
#SUBLIBS	    = imap/libmailimap.la nntp/libnewsnntp.la pop3/libmailpop3.la \
#	      smtp/libmailsmtp.la tools/libtools.la imf/libmailimf.la \
#              mbox/libmailmbox.la mh/libmailmh.la mime/libmailmime.la \
#	      maildir/libmaildir.la generic/libmaildriver.la

SUBDIRS     = src

#TARGET      = libetpan.la
#VERSINFO    = 2:3:1
#CC          = gcc
#LDFLAGS     = -llockfile  -lssl -lcrypto  -pthread  -ldb-4.2

all: config-files prepare all-recursive

distclean: clean distclean-recursive
	$(RM) config.h config.cache config.log config.status \
		Makefile Rules *~ gmon.out *.bak core libtool \
		libetpan-config src/main/libetpan_version.h \
		libetpan-config.h

maintainer-clean: distclean
	$(RM) configure config.h.in aclocal.m4 config.guess config.sub ltmain.sh autom4te.cache

realclean: maintainer-clean

all-recursive install-recursive clean-recursive \
	distclean-recursive prepare-recursive:
	@set fnord $(MAKEFLAGS); amf=$$2; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
         target=`echo $@ | sed s/-recursive//`; \
         echo "Making $$target in $$subdir"; \
         (cd $$subdir && $(MAKE) $$target) \
          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
        done && test -z "$$fail"

install: all install-dirs install-recursive
	$(INSTALL) -m 755 libetpan-config $(DESTDIR)$(bindir)
	$(INSTALL) -m 644 libetpan-config.h $(DESTDIR)$(includedir)/libetpan
	$(INSTALL) -m 644 src/main/libetpan.h $(DESTDIR)$(includedir)

install-dirs:
	$(INSTALL) -d -m 755 $(DESTDIR)$(includedir)
	$(INSTALL) -d -m 755 $(DESTDIR)$(includedir)/libetpan
	$(INSTALL) -d -m 755 $(DESTDIR)$(bindir)

#realclean: maintainer-clean

clean: clean-recursive
	$(RM) $(TARGET) .libs $(top_builddir)/include

#$(TARGET): config-files $(SUBLIBS)
#	$(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(SUBLIBS) \
#	  -rpath $(libdir) -version-info $(VERSINFO)

#$(SUBLIBS): all-recursive

prepare: prepare-recursive
	mkdir -p ${top_builddir}/include/libetpan
	cp -f libetpan-config.h $(top_builddir)/include/libetpan


# config files
config-files: ${srcdir}/configure ${srcdir}/config.h.in Makefile config.status Rules ${srcdir}/src/Makefile

${srcdir}/configure: configure.in
	cd ${srcdir} && aclocal && autoconf

${srcdir}/config.h.in: configure.in 
	rm -f ${srcdir}/config.h.in && cd ${srcdir} && autoheader

Makefile: Makefile.in config.status
	cd ${top_builddir} && CONFIG_FILES=Makefile CONFIG_HEADERS= ./config.status

${srcdir}/src/Makefile : ${srcdir}/src/Makefile.in config.status
	cd ${top_builddir} && CONFIG_FILES=src/Makefile CONFIG_HEADERS= ./config.status

#${srcdir}/src/low-level/Makefile : ${srcdir}/src/low-level/Makefile.in config.status
#	cd ${top_builddir} && CONFIG_FILES=src/low-level/Makefile CONFIG_HEADERS= ./config.status

Rules: Rules.in config.status
	cd ${top_builddir} && CONFIG_FILES=Rules CONFIG_HEADERS= ./config.status

config.status: configure
	./config.status --recheck

