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 -I$(top_srcdir)/include/private -I$(top_blddir)/include/private 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) include/private/apr_escape_test_char.h 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 tools/gen_test_char@EXEEXT@ \ 49 tools/gen_test_char.o tools/gen_test_char.lo \ 50 include/private/apr_escape_test_char.h 51DISTCLEAN_TARGETS = config.cache config.log config.status \ 52 include/apr.h include/arch/unix/apr_private.h \ 53 libtool $(APR_CONFIG) build/apr_rules.mk apr.pc \ 54 build/pkg/pkginfo 55EXTRACLEAN_TARGETS = configure aclocal.m4 include/arch/unix/apr_private.h.in \ 56 build-outputs.mk build/ltcf-c.sh build/aclocal.m4 \ 57 build/ltconfig build/ltmain.sh \ 58 build/argz.m4 build/libtool.m4 build/ltoptions.m4 \ 59 build/ltsugar.m4 build/ltversion.m4 build/lt~obsolete.m4 60 61prefix=@prefix@ 62exec_prefix=@exec_prefix@ 63bindir=@bindir@ 64libdir=@libdir@ 65includedir=@includedir@ 66datarootdir=@datarootdir@ 67datadir=@datadir@ 68installbuilddir=@installbuilddir@ 69 70# Create apr-config script suitable for the install tree 71apr-config.out: $(APR_CONFIG) 72 sed 's,^\(location=\).*$$,\1installed,' < $(APR_CONFIG) > $@ 73 74# Create apr_rules.mk suitable for the install tree 75build/apr_rules.out: build/apr_rules.mk 76 sed -e 's,^\(apr_build.*=\).*$$,\1$(installbuilddir),' -e 's,^\(top_build.*=\).*$$,\1$(installbuilddir),' < build/apr_rules.mk > $@ 77 78install: $(TARGETS) 79 $(APR_MKDIR) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir) $(DESTDIR)$(installbuilddir) \ 80 $(DESTDIR)$(libdir)/pkgconfig $(DESTDIR)$(includedir) 81 $(INSTALL_DATA) $(top_blddir)/include/apr.h $(DESTDIR)$(includedir) 82 for f in $(top_srcdir)/include/apr_*.h; do \ 83 $(INSTALL_DATA) $${f} $(DESTDIR)$(includedir); \ 84 done 85 $(LIBTOOL) --mode=install $(INSTALL) -m 755 $(TARGET_LIB) $(DESTDIR)$(libdir) 86 $(INSTALL_DATA) apr.exp $(DESTDIR)$(libdir)/apr.exp 87 $(INSTALL_DATA) apr.pc $(DESTDIR)$(libdir)/pkgconfig/$(APR_PCFILE) 88 for f in libtool shlibtool; do \ 89 if test -f $${f}; then $(INSTALL) -m 755 $${f} $(DESTDIR)$(installbuilddir); fi; \ 90 done 91 $(INSTALL) -m 755 $(top_srcdir)/build/mkdir.sh $(DESTDIR)$(installbuilddir) 92 for f in make_exports.awk make_var_export.awk; do \ 93 $(INSTALL_DATA) $(top_srcdir)/build/$${f} $(DESTDIR)$(installbuilddir); \ 94 done 95 $(INSTALL_DATA) build/apr_rules.out $(DESTDIR)$(installbuilddir)/apr_rules.mk 96 $(INSTALL) -m 755 apr-config.out $(DESTDIR)$(bindir)/$(APR_CONFIG) 97 @if [ $(INSTALL_SUBDIRS) != "none" ]; then \ 98 for i in $(INSTALL_SUBDIRS); do \ 99 ( cd $$i ; $(MAKE) DESTDIR=$(DESTDIR) install ); \ 100 done \ 101 fi 102 103$(TARGET_LIB): $(OBJECTS) 104 $(LINK) @lib_target@ $(ALL_LIBS) 105 106encoding/apr_escape.lo: include/private/apr_escape_test_char.h 107 108exports.c: $(HEADERS) 109 $(APR_MKEXPORT) $(HEADERS) > $@ 110 111export_vars.c: $(HEADERS) 112 $(APR_MKVAREXPORT) $(HEADERS) > $@ 113 114apr.exp: exports.c export_vars.c 115 @echo "#! lib@APR_LIBNAME@.so" > $@ 116 @echo "* This file was AUTOGENERATED at build time." >> $@ 117 @echo "* Please do not edit by hand." >> $@ 118 $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@ 119 $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.c | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@ 120 121dox: 122 doxygen $(top_srcdir)/docs/doxygen.conf 123 124gcov: 125 @build/run-gcov.sh 126 127test: check 128check: $(TARGET_LIB) 129 cd test && $(MAKE) all check 130 131etags: 132 etags `find . -name '*.[ch]'` 133 134OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS) 135tools/gen_test_char.lo: tools/gen_test_char.c 136 $(APR_MKDIR) tools 137 $(LT_COMPILE) 138 139tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char) 140 $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS) 141 142include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@ 143 $(APR_MKDIR) include/private 144 tools/gen_test_char@EXEEXT@ > $@ 145 146LINK_PROG = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LT_LDFLAGS) \ 147 @LT_NO_INSTALL@ $(ALL_LDFLAGS) -o $@ 148 149# DO NOT REMOVE 150docs: $(INCDIR)/*.h 151