
srcdir=@srcdir@
VPATH=@srcdir@
top_srcdir=@apr_srcdir@
top_blddir=@apr_builddir@

#
# APR (Apache Portable Runtime) library Makefile.
#
CPP = @CPP@

# get substituted into some targets
APR_MAJOR_VERSION=@APR_MAJOR_VERSION@

#
# Macros for supporting directories
#
INCDIR=./include
OSDIR=$(top_srcdir)/include/arch/@OSDIR@
DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@
INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) -I$(top_srcdir)/include/arch/@DEFAULT_OSDIR@ -I$(top_srcdir)/include -I$(top_srcdir)/include/private -I$(top_blddir)/include/private

#
# Macros for target determination
#
CLEAN_SUBDIRS= test
INSTALL_SUBDIRS=@INSTALL_SUBDIRS@

TARGET_LIB = lib@APR_LIBNAME@.la
APR_PCFILE = apr-$(APR_MAJOR_VERSION).pc
APR_CONFIG = apr-$(APR_MAJOR_VERSION)-config
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@

EXTRA_OBJECTS = @EXTRA_OBJECTS@
APR_DSO_MODULES = @APR_DSO_MODULES@
LINK_MODULE = $(LIBTOOL) $(LTFLAGS) --mode=link --tag=CC $(CC) $(LT_LDFLAGS) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(APRUTIL_LDFLAGS) -release $(APR_MAJOR_VERSION) -module -rpath $(APR_DSO_LIBDIR)
APR_DSO_LIBDIR = @APR_DSO_LIBDIR@
APRUTIL_EXPORT_LIBS = @APRUTIL_EXPORT_LIBS@

#
# Rules for building specific targets, starting with 'all' for
# building the entire package.
#
TARGETS = $(TARGET_LIB) $(APR_DSO_MODULES) \
	include/private/apr_escape_test_char.h apr.exp apr-config.out build/apr_rules.out

LT_VERSION = @LT_VERSION@

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

CLEAN_TARGETS = apr-config.out apr.exp exports.c export_vars.c .make.dirs \
	build/apr_rules.out tools/gen_test_char@EXEEXT@ \
	tools/gen_test_char.o \
	include/private/apr_escape_test_char.h
DISTCLEAN_TARGETS = config.cache config.log config.status \
	include/apr.h include/arch/unix/apr_private.h \
	libtool $(APR_CONFIG) build/apr_rules.mk apr.pc \
	build/pkg/pkginfo
EXTRACLEAN_TARGETS = configure aclocal.m4 include/arch/unix/apr_private.h.in \
	build-outputs.mk build/ltcf-c.sh build/aclocal.m4 \
	build/ltconfig build/ltmain.sh \
	build/argz.m4 build/libtool.m4 build/ltoptions.m4 \
	build/ltsugar.m4 build/ltversion.m4 build/lt~obsolete.m4

prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
libdir=@libdir@
includedir=@includedir@
datarootdir=@datarootdir@
datadir=@datadir@
installbuilddir=@installbuilddir@

LDADD_dbd_pgsql = @LDADD_dbd_pgsql@
LDADD_dbd_oracle = @LDADD_dbd_oracle@
LDADD_dbd_sqlite2 = @LDADD_dbd_sqlite2@
LDADD_dbd_sqlite3 = @LDADD_dbd_sqlite3@
LDADD_dbd_mysql = @LDADD_dbd_mysql@
LDADD_dbd_odbc = @LDADD_dbd_odbc@
LDADD_dbm_db = @LDADD_dbm_db@
LDADD_dbm_gdbm = @LDADD_dbm_gdbm@
LDADD_dbm_ndbm = @LDADD_dbm_ndbm@
LDADD_dbm_lmdb = @LDADD_dbm_lmdb@
LDADD_ldap = @LDADD_ldap@
LDADD_crypto_openssl = @LDADD_crypto_openssl@
LDADD_crypto_nss = @LDADD_crypto_nss@
LDADD_crypto_commoncrypto = @LDADD_crypto_commoncrypto@

# Create apr-config script suitable for the install tree
apr-config.out: $(APR_CONFIG)
	sed 's,^\(location=\).*$$,\1installed,' < $(APR_CONFIG) > $@

# Create apr_rules.mk suitable for the install tree
build/apr_rules.out: build/apr_rules.mk
	sed -e 's,^\(apr_build.*=\).*$$,\1$(installbuilddir),' -e 's,^\(top_build.*=\).*$$,\1$(installbuilddir),' < build/apr_rules.mk > $@

install: install-modules $(TARGETS)
	$(APR_MKDIR) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir) $(DESTDIR)$(installbuilddir) \
		     $(DESTDIR)$(libdir)/pkgconfig $(DESTDIR)$(includedir)
	$(INSTALL_DATA) $(top_blddir)/include/apr.h $(DESTDIR)$(includedir)
	$(INSTALL_DATA) $(top_srcdir)/include/apu.h $(DESTDIR)$(includedir)
	for f in $(top_srcdir)/include/apr_*.h $(top_srcdir)/include/apu_*.h; do \
	    $(INSTALL_DATA) $${f} $(DESTDIR)$(includedir); \
	done
	for f in $(top_blddir)/include/apu_*.h; do \
	    $(INSTALL_DATA) $${f} $(DESTDIR)$(includedir); \
	done
	$(LIBTOOL) --mode=install $(INSTALL) -m 755 $(TARGET_LIB) $(DESTDIR)$(libdir)
	$(INSTALL_DATA) apr.exp $(DESTDIR)$(libdir)/apr.exp
	$(INSTALL_DATA) apr.pc $(DESTDIR)$(libdir)/pkgconfig/$(APR_PCFILE)
	for f in libtool shlibtool; do \
	    if test -f $${f}; then $(INSTALL) -m 755 $${f} $(DESTDIR)$(installbuilddir); fi; \
	done
	$(INSTALL) -m 755 $(top_srcdir)/build/mkdir.sh $(DESTDIR)$(installbuilddir)
	for f in make_exports.awk make_var_export.awk; do \
	    $(INSTALL_DATA) $(top_srcdir)/build/$${f} $(DESTDIR)$(installbuilddir); \
	done
	$(INSTALL_DATA) build/apr_rules.out $(DESTDIR)$(installbuilddir)/apr_rules.mk
	$(INSTALL) -m 755 apr-config.out $(DESTDIR)$(bindir)/$(APR_CONFIG)
	@if [ $(INSTALL_SUBDIRS) != "none" ]; then \
            for i in $(INSTALL_SUBDIRS); do \
	        ( cd $$i ; $(MAKE) DESTDIR=$(DESTDIR) install ); \
	    done \
	fi

$(TARGET_LIB): $(OBJECTS) $(EXTRA_OBJECTS)
	$(LINK) @lib_target@ $(EXTRA_OBJECTS) $(ALL_LIBS) $(APRUTIL_EXPORT_LIBS)

encoding/apr_escape.lo: include/private/apr_escape_test_char.h 

install-modules: install-modules-@APR_HAVE_MODULES@

install-modules-no:

install-modules-yes: $(APR_DSO_MODULES)
	$(APR_MKDIR) $(DESTDIR)$(APR_DSO_LIBDIR)
	@for m in $(APR_DSO_MODULES); do $(LIBTOOL) $(LT_LTFLAGS) $(LTFLAGS) --mode=install $(INSTALL) -m 755 $$m $(DESTDIR)$(APR_DSO_LIBDIR); done

exports.c: $(HEADERS)
	$(APR_MKEXPORT) $(HEADERS) > $@

export_vars.c: $(HEADERS)
	$(APR_MKVAREXPORT) $(HEADERS) > $@

apr.exp: exports.c export_vars.c
	@echo "#! lib@APR_LIBNAME@.so" > $@
	@echo "* This file was AUTOGENERATED at build time." >> $@
	@echo "* Please do not edit by hand." >> $@
	$(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@
	$(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.c | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@

dox:
	doxygen $(top_srcdir)/docs/doxygen.conf

gcov: 
	@build/run-gcov.sh

test: check
check: $(TARGET_LIB)
	cd test && $(MAKE) all check

etags:
	etags `find . -name '*.[ch]'`

tools/gen_test_char@EXEEXT@: $(top_srcdir)/tools/gen_test_char.c
	$(APR_MKDIR) tools
	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(top_srcdir)/tools/gen_test_char.c -o $@

include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@
	$(APR_MKDIR) include/private
	tools/gen_test_char@EXEEXT@ > $@

LINK_PROG = $(LIBTOOL) $(LTFLAGS) --mode=link --tag=CC $(COMPILE) $(LT_LDFLAGS) \
	    @LT_NO_INSTALL@ $(ALL_LDFLAGS) -o $@

# DO NOT REMOVE
docs: $(INCDIR)/*.h
