1 2srcdir=@srcdir@ 3VPATH=@srcdir@ 4top_srcdir=@apr_srcdir@ 5top_blddir=@apr_builddir@ 6 7# 8# APR (Apache Portable Runtime) library Makefile. 9# 10CPP = @CPP@ 11 12# get substituted into some targets 13APR_MAJOR_VERSION=@APR_MAJOR_VERSION@ 14 15# 16# Macros for supporting directories 17# 18INCDIR=./include 19OSDIR=$(top_srcdir)/include/arch/@OSDIR@ 20DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@ 21INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) -I$(top_srcdir)/include/arch/@DEFAULT_OSDIR@ -I$(top_srcdir)/include 22 23# 24# Macros for target determination 25# 26CLEAN_SUBDIRS= test 27INSTALL_SUBDIRS=@INSTALL_SUBDIRS@ 28 29TARGET_LIB = lib@APR_LIBNAME@.la 30APR_PCFILE = apr-$(APR_MAJOR_VERSION).pc 31APR_CONFIG = apr-$(APR_MAJOR_VERSION)-config 32INSTALL = @INSTALL@ 33INSTALL_DATA = @INSTALL_DATA@ 34 35# 36# Rules for building specific targets, starting with 'all' for 37# building the entire package. 38# 39TARGETS = $(TARGET_LIB) apr.exp apr-config.out build/apr_rules.out 40 41LT_VERSION = @LT_VERSION@ 42 43# bring in rules.mk for standard functionality 44@INCLUDE_RULES@ 45@INCLUDE_OUTPUTS@ 46 47CLEAN_TARGETS = apr-config.out apr.exp exports.c export_vars.c .make.dirs \ 48 build/apr_rules.out 49DISTCLEAN_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 \ 52 build/pkg/pkginfo 53EXTRACLEAN_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 58 59prefix=@prefix@ 60exec_prefix=@exec_prefix@ 61bindir=@bindir@ 62libdir=@libdir@ 63includedir=@includedir@ 64installbuilddir=@installbuilddir@ 65 66# Create apr-config script suitable for the install tree 67apr-config.out: $(APR_CONFIG) 68 sed 's,^\(location=\).*$$,\1installed,' < $(APR_CONFIG) > $@ 69 70# Create apr_rules.mk suitable for the install tree 71build/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 > $@ 73 74install: $(TARGETS) 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); \ 80 done 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; \ 86 done 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); \ 90 done 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 ); \ 96 done \ 97 fi 98 99$(TARGET_LIB): $(OBJECTS) 100 $(LINK) @lib_target@ $(ALL_LIBS) 101 102exports.c: $(HEADERS) 103 $(APR_MKEXPORT) $(HEADERS) > $@ 104 105export_vars.c: $(HEADERS) 106 $(APR_MKVAREXPORT) $(HEADERS) > $@ 107 108apr.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' >> $@ 114 115dox: 116 doxygen $(top_srcdir)/docs/doxygen.conf 117 118gcov: 119 @build/run-gcov.sh 120 121test: check 122check: $(TARGET_LIB) 123 cd test && $(MAKE) all check 124 125etags: 126 etags `find . -name '*.[ch]'` 127 128# DO NOT REMOVE 129docs: $(INCDIR)/*.h 130