1#
2# Top-level Makefile for APRUTIL
3#
4CPP = @CPP@
5
6# gets substituted into some targets
7APRUTIL_MAJOR_VERSION=@APRUTIL_MAJOR_VERSION@
8APRUTIL_DOTTED_VERSION=@APRUTIL_DOTTED_VERSION@
9
10srcdir = @srcdir@
11VPATH = @srcdir@
12
13INCLUDES = @APRUTIL_PRIV_INCLUDES@ @APR_INCLUDES@ @APRUTIL_INCLUDES@
14APRUTIL_LDFLAGS = @APRUTIL_LDFLAGS@
15APRUTIL_LIBS = @APRUTIL_LIBS@
16
17TARGET_LIB = lib@APRUTIL_LIBNAME@.la
18INSTALL_SUBDIRS = @APR_ICONV_DIR@ @APR_XML_DIR@
19EXTRA_SOURCE_DIRS = @APR_ICONV_DIR@ @APR_XML_DIR@
20APRUTIL_PCFILE = apr-util-$(APRUTIL_MAJOR_VERSION).pc
21APU_CONFIG = apu-$(APRUTIL_MAJOR_VERSION)-config
22INSTALL = @INSTALL@
23INSTALL_DATA = @INSTALL_DATA@
24
25APU_MODULES = @APU_MODULES@
26LINK_MODULE = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(APRUTIL_LDFLAGS) -release $(APRUTIL_MAJOR_VERSION) -module -rpath $(APU_DSO_LIBDIR)
27APU_DSO_LIBDIR = @APU_DSO_LIBDIR@
28
29LT_VERSION = @APU_LTVERSION@
30
31EXTRA_OBJECTS = @EXTRA_OBJECTS@
32
33LDADD_dbd_pgsql = @LDADD_dbd_pgsql@
34LDADD_dbd_oracle = @LDADD_dbd_oracle@
35LDADD_dbd_sqlite2 = @LDADD_dbd_sqlite2@
36LDADD_dbd_sqlite3 = @LDADD_dbd_sqlite3@
37LDADD_dbd_mysql = @LDADD_dbd_mysql@
38LDADD_dbd_freetds = @LDADD_dbd_freetds@
39LDADD_dbd_odbc = @LDADD_dbd_odbc@
40LDADD_dbm_db = @LDADD_dbm_db@
41LDADD_dbm_gdbm = @LDADD_dbm_gdbm@
42LDADD_dbm_ndbm = @LDADD_dbm_ndbm@
43LDADD_ldap = @LDADD_ldap@
44LDADD_crypto_openssl = @LDADD_crypto_openssl@
45LDADD_crypto_nss = @LDADD_crypto_nss@
46
47TARGETS = $(TARGET_LIB) aprutil.exp apu-config.out $(APU_MODULES)
48
49# bring in rules.mk for standard functionality
50@INCLUDE_RULES@
51@INCLUDE_OUTPUTS@
52
53CLEAN_SUBDIRS = test @APR_ICONV_DIR@ @APR_XML_DIR@
54
55CLEAN_TARGETS = exports.c export_vars.c aprutil.exp .make.dirs apu-config.out
56DISTCLEAN_TARGETS = config.cache config.log config.status libtool \
57	include/private/apu_config.h include/private/apu_private.h \
58	include/private/apu_select_dbm.h include/apr_ldap.h include/apu.h \
59	export_vars.sh $(APU_CONFIG) build/rules.mk include/apu_want.h \
60	apr-util.pc build/pkg/pkginfo
61EXTRACLEAN_TARGETS = configure aclocal.m4 include/private/apu_config.h.in \
62	exports.c build-outputs.mk \
63	build/apr_common.m4 build/find_apr.m4 build/install.sh \
64	build/config.guess build/config.sub
65
66prefix=@prefix@
67exec_prefix=@exec_prefix@
68bindir=@bindir@
69libdir=@libdir@
70includedir=@includedir@
71top_srcdir=@abs_srcdir@
72top_blddir=@abs_builddir@
73
74# Create apu-config script suitable for the install tree
75apu-config.out: $(APU_CONFIG)
76	sed 's,^\(location=\).*$$,\1installed,' < $(APU_CONFIG) > $@
77
78install: $(TARGETS) install-modules
79	$(APR_MKDIR) $(DESTDIR)$(includedir) $(DESTDIR)$(libdir)/pkgconfig \
80		     $(DESTDIR)$(libdir) $(DESTDIR)$(bindir)
81	for f in $(top_srcdir)/include/*.h $(top_blddir)/include/*.h; do \
82		$(INSTALL_DATA) $${f} $(DESTDIR)$(includedir); \
83	done
84	$(INSTALL_DATA) apr-util.pc $(DESTDIR)$(libdir)/pkgconfig/$(APRUTIL_PCFILE)
85	list='$(INSTALL_SUBDIRS)'; for i in $$list; do \
86		( cd $$i ; $(MAKE) DESTDIR=$(DESTDIR) install ); \
87	done
88	$(LIBTOOL) --mode=install $(INSTALL) -m 755 $(TARGET_LIB) $(DESTDIR)$(libdir)
89	$(INSTALL_DATA) aprutil.exp $(DESTDIR)$(libdir)
90	$(INSTALL) -m 755 apu-config.out $(DESTDIR)$(bindir)/$(APU_CONFIG)
91
92$(TARGET_LIB): $(OBJECTS) $(EXTRA_OBJECTS)
93	$(LINK) @lib_target@ $(EXTRA_OBJECTS) $(ALL_LIBS) $(APRUTIL_LDFLAGS) $(APRUTIL_LIBS)
94
95install-modules: install-modules-@APU_HAVE_MODULES@
96
97install-modules-no:
98
99install-modules-yes: $(APU_MODULES)
100	$(APR_MKDIR) $(DESTDIR)$(APU_DSO_LIBDIR)
101	@for m in $(APU_MODULES); do $(LIBTOOL) $(LT_LTFLAGS) $(LTFLAGS) --mode=install $(INSTALL) -m 755 $$m $(DESTDIR)$(APU_DSO_LIBDIR); done
102
103exports.c: $(HEADERS)
104	$(APR_MKEXPORT) $(HEADERS) > $@
105
106export_vars.c: $(HEADERS)
107	$(APR_MKVAREXPORT) $(HEADERS) > $@
108
109aprutil.exp: exports.c export_vars.c
110	@echo "#! lib@APRUTIL_LIBNAME@.so" > $@
111	@echo "* This file was AUTOGENERATED at build time." >> $@
112	@echo "* Please do not edit by hand." >> $@
113	$(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@
114	$(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.c | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@
115
116dox:
117	doxygen $(top_srcdir)/docs/doxygen.conf
118
119test: check
120check: $(TARGET_LIB)
121	cd test && $(MAKE) all check
122
123.PHONY: install-modules install-modules-yes install-modules-no dox test check
124