#
# Top-level Makefile for APRUTIL
#

TARGET_LIB = libaprutil.la
TARGET_EXPORTS = aprutil.exports

TARGETS = delete-lib $(TARGET_LIB) delete-exports $(TARGET_EXPORTS)

# bring in rules.mk for standard functionality
@INCLUDE_RULES@

SUBDIRS = buckets crypto dbm encoding hooks uri xml
CLEAN_SUBDIRS = . test build

CLEAN_TARGETS = $(TARGET_EXPORTS)
DISTCLEAN_TARGETS = config.cache config.log config.status libtool \
	include/private/apu_config.h include/private/apu_private.h \
	include/private/apu_select_dbm.h include/apu.h export_vars.sh
EXTRACLEAN_TARGETS = configure aclocal.m4 include/private/apu_config.h.in

prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@

delete-lib:
	@if test -f $(TARGET_LIB); then \
	    objects="`find $(SUBDIRS) -name expat -prune -o -name '*.@so_ext@' -a -newer $(TARGET_LIB)`" ; \
	    if test "$$objects" != "xml/expat"; then \
		echo Found newer objects. Will relink $(TARGET_LIB). ; \
		echo $(RM) -f $(TARGET_LIB) ; \
		$(RM) -f $(TARGET_LIB) ; \
	    fi \
	fi

install: $(TARGET_LIB)
	if [ ! -d $(includedir) ]; then \
	    @APR_SOURCE_DIR@/build/mkdir.sh $(includedir); \
	fi; \
	cp include/*.h $(includedir); \
	if [ ! -d $(libdir) ]; then \
	    @APR_SOURCE_DIR@/build/mkdir.sh $(libdir); \
	fi; \
	$(LIBTOOL) --mode=install cp $(TARGET_LIB) $(libdir)

$(TARGET_LIB):
	@objects="`find $(SUBDIRS) -name expat -prune -o -name '*.@so_ext@'`"; \
	    $(LINK) @lib_target@

delete-exports:
	@if test -f $(TARGET_EXPORTS); then \
	    headers="`find include/*.h -newer $(TARGET_EXPORTS)`" ; \
	    if test -n "$$headers"; then \
		echo Found newer headers. Will rebuild $(TARGET_EXPORTS). ; \
		echo $(RM) -f $(TARGET_EXPORTS) ; \
		$(RM) -f $(TARGET_EXPORTS) ; \
	    fi \
	fi

$(TARGET_EXPORTS):
	$(AWK) -f @APR_SOURCE_DIR@/build/make_export.awk include/*.h > $@ ;

docs:
	mkdir ./docs
	perl @APR_SOURCE_DIR@/build/scandoc.pl -i./build/default.pl -p./docs/ ./include/*.h


.PHONY: delete-lib delete-exports
