4 top_srcdir=@apr_srcdir@
5 top_blddir=@apr_builddir@
8 # APR (Apache Portable Runtime) library Makefile.
12 # get substituted into some targets
13 APR_MAJOR_VERSION=@APR_MAJOR_VERSION@
16 # Macros for supporting directories
19 OSDIR=$(top_srcdir)/include/arch/@OSDIR@
20 DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@
21 INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) -I$(top_srcdir)/include/arch/@DEFAULT_OSDIR@ -I$(top_srcdir)/include
24 # Macros for target determination
27 INSTALL_SUBDIRS=@INSTALL_SUBDIRS@
29 TARGET_LIB = lib@APR_LIBNAME@.la
30 APR_PCFILE = apr-$(APR_MAJOR_VERSION).pc
31 APR_CONFIG = apr-$(APR_MAJOR_VERSION)-config
33 INSTALL_DATA = @INSTALL_DATA@
36 # Rules for building specific targets, starting with 'all' for
37 # building the entire package.
39 TARGETS = $(TARGET_LIB) apr.exp apr-config.out build/apr_rules.out
41 LT_VERSION = @LT_VERSION@
43 # bring in rules.mk for standard functionality
47 CLEAN_TARGETS = apr-config.out apr.exp exports.c export_vars.c .make.dirs \
49 DISTCLEAN_TARGETS = config.cache config.log config.status \
50 include/apr.h include/arch/unix/apr_private.h \
51 libtool $(APR_CONFIG) build/apr_rules.mk apr.pc \
53 EXTRACLEAN_TARGETS = configure aclocal.m4 include/arch/unix/apr_private.h.in \
54 build-outputs.mk build/ltcf-c.sh build/aclocal.m4 \
55 build/ltconfig build/ltmain.sh \
56 build/argz.m4 build/libtool.m4 build/ltoptions.m4 \
57 build/ltsugar.m4 build/ltversion.m4 build/lt~obsolete.m4
60 exec_prefix=@exec_prefix@
63 includedir=@includedir@
64 installbuilddir=@installbuilddir@
66 # Create apr-config script suitable for the install tree
67 apr-config.out: $(APR_CONFIG)
68 sed 's,^\(location=\).*$$,\1installed,' < $(APR_CONFIG) > $@
70 # Create apr_rules.mk suitable for the install tree
71 build/apr_rules.out: build/apr_rules.mk
72 sed -e 's,^\(apr_build.*=\).*$$,\1$(installbuilddir),' -e 's,^\(top_build.*=\).*$$,\1$(installbuilddir),' < build/apr_rules.mk > $@
75 $(APR_MKDIR) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir) $(DESTDIR)$(installbuilddir) \
76 $(DESTDIR)$(libdir)/pkgconfig $(DESTDIR)$(includedir)
77 $(INSTALL_DATA) $(top_blddir)/include/apr.h $(DESTDIR)$(includedir)
78 for f in $(top_srcdir)/include/apr_*.h; do \
79 $(INSTALL_DATA) $${f} $(DESTDIR)$(includedir); \
81 $(LIBTOOL) --mode=install $(INSTALL) -m 755 $(TARGET_LIB) $(DESTDIR)$(libdir)
82 $(INSTALL_DATA) apr.exp $(DESTDIR)$(libdir)/apr.exp
83 $(INSTALL_DATA) apr.pc $(DESTDIR)$(libdir)/pkgconfig/$(APR_PCFILE)
84 for f in libtool shlibtool; do \
85 if test -f $${f}; then $(INSTALL) -m 755 $${f} $(DESTDIR)$(installbuilddir); fi; \
87 $(INSTALL) -m 755 $(top_srcdir)/build/mkdir.sh $(DESTDIR)$(installbuilddir)
88 for f in make_exports.awk make_var_export.awk; do \
89 $(INSTALL_DATA) $(top_srcdir)/build/$${f} $(DESTDIR)$(installbuilddir); \
91 $(INSTALL_DATA) build/apr_rules.out $(DESTDIR)$(installbuilddir)/apr_rules.mk
92 $(INSTALL) -m 755 apr-config.out $(DESTDIR)$(bindir)/$(APR_CONFIG)
93 @if [ $(INSTALL_SUBDIRS) != "none" ]; then \
94 for i in $(INSTALL_SUBDIRS); do \
95 ( cd $$i ; $(MAKE) DESTDIR=$(DESTDIR) install ); \
99 $(TARGET_LIB): $(OBJECTS)
100 $(LINK) @lib_target@ $(ALL_LIBS)
102 exports.c: $(HEADERS)
103 $(APR_MKEXPORT) $(HEADERS) > $@
105 export_vars.c: $(HEADERS)
106 $(APR_MKVAREXPORT) $(HEADERS) > $@
108 apr.exp: exports.c export_vars.c
109 @echo "#! lib@APR_LIBNAME@.so" > $@
110 @echo "* This file was AUTOGENERATED at build time." >> $@
111 @echo "* Please do not edit by hand." >> $@
112 $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@
113 $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.c | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@
116 doxygen $(top_srcdir)/docs/doxygen.conf
123 cd test && $(MAKE) all check
126 etags `find . -name '*.[ch]'`