# common part for sub directories Makefiles
#
# each submakefile should define SOURCES and TARGET
# optionnaly HEADRS and INCLUDES

DESTDIR = 
srcdir = $(top_builddir)/src
prefix      = /usr/local
includedir  = ${prefix}/include
SHELL       = /bin/sh
RM          = rm -fr
INSTALL     = /usr/bin/install -c
LIBTOOL     = $(SHELL) $(top_builddir)/libtool
CC	    = gcc


CFLAGS	    = -I$(top_builddir)/include -I$(top_builddir) -I. $(INCLUDES) \
	 -O2 -W -Wall -g  -DDEBUG -D_REENTRANT -DHAVE_CONFIG_H

LDFLAGS     = -pthread 
OBJECTS	    = $(SOURCES:.c=.lo)

all: $(TARGET).la

.SUFFIXES: .lo .c

.c.lo:
	$(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $<

$(TARGET).la: $(OBJECTS) $(SUBLIBS)
	$(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(SUBLIBS)

$(SUBLIBS): all-recursive

clean: clean-recursive
	$(RM) *.o *.lo $(TARGET).la .libs *~

# install headers here only
install: $(HEADERS) install-recursive
	for header in $(HEADERS); do \
          $(INSTALL) -m 644 $$header $(DESTDIR)$(includedir)/libetpan ; \
	done

Makefile: $(top_builddir)/Rules

$(top_builddir)/Rules: $(top_builddir)/Rules.in $(top_builddir)/config.status
	cd ${top_builddir} && CONFIG_FILES=`basename $@` \
	CONFIG_HEADERS= ./config.status

prepare: prepare-recursive
	mkdir -p ${top_builddir}/include/libetpan ; \
	for header in $(HEADERS) ; do \
		cp -f "$$header" ${top_builddir}/include/libetpan ; \
	done

# recursive
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"
											 
