blob: 42139ea97e7d3f178aeda3c453465e8b1ba6025e [file] [log] [blame]
#
# 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
INCDIR1=../include
INCLUDES=-I$(INCDIR) -I$(INCDIR1)
#
# Macros for target determination
#
SUBDIRS=@SUBDIRS@
CLEAN_SUBDIRS= . test build
INSTALL_SUBDIRS=@INSTALL_SUBDIRS@
TARGET_LIB = lib@APR_LIBNAME@.la
#
# Rules for building specific targets, starting with 'all' for
# building the entire package.
#
TARGETS = delete-lib $(TARGET_LIB) delete-exports export_vars.c apr.exp
# bring in rules.mk for standard functionality
@INCLUDE_RULES@
CLEAN_TARGETS = apr.exp exports.c export_vars.c apr-config.out \
build/apr_rules.out
DISTCLEAN_TARGETS = config.cache config.log config.status \
include/apr.h include/arch/unix/apr_private.h \
libtool apr-config
EXTRACLEAN_TARGETS = configure aclocal.m4 include/arch/unix/apr_private.h.in
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
libdir=@libdir@
includedir=@includedir@
installbuilddir=@installbuilddir@
srcdir=@srcdir@
VPATH=@srcdir@
top_srcdir=@apr_srcdir@
top_blddir=@apr_builddir@
EXPORT_FILES = $(top_srcdir)/include/*.h
delete-lib:
@if test -f $(TARGET_LIB); then \
for i in $(SUBDIRS); do objects="$$objects $$i/*.@so_ext@"; done ; \
if test -n "`find $$objects -newer $(TARGET_LIB)`"; then \
echo Found newer objects. Will relink $(TARGET_LIB). ; \
echo $(RM) -f $(TARGET_LIB) ; \
$(RM) -f $(TARGET_LIB) ; \
fi \
fi
# 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 's,^\(apr_build.*=\).*$$,\1$(installbuilddir),' < build/apr_rules.mk > $@
install: $(TARGET_LIB) apr-config.out build/apr_rules.out
if [ ! -d $(DESTDIR)$(includedir) ]; then \
$(top_srcdir)/build/mkdir.sh $(DESTDIR)$(includedir); \
fi;
cp -p $(top_srcdir)/include/*.h $(DESTDIR)$(includedir);
if test -n "$(top_blddir)"; then \
cp -p $(top_blddir)/include/*.h $(DESTDIR)$(includedir); \
fi;
if [ ! -d $(DESTDIR)$(libdir) ]; then \
$(top_srcdir)/build/mkdir.sh $(DESTDIR)$(libdir); \
fi;
$(LIBTOOL) --mode=install cp $(TARGET_LIB) $(DESTDIR)$(libdir)
$(LIBTOOL) --mode=install cp apr.exp $(DESTDIR)$(libdir)
if [ ! -d $(DESTDIR)$(installbuilddir) ]; then \
$(top_srcdir)/build/mkdir.sh $(DESTDIR)$(installbuilddir); \
fi;
if [ -f libtool ]; then \
$(LIBTOOL) --mode=install cp libtool $(DESTDIR)$(installbuilddir); \
fi;
if [ -f shlibtool ]; then \
$(LIBTOOL) --mode=install cp shlibtool $(DESTDIR)$(installbuilddir); \
fi;
for f in mkdir.sh make_exports.awk make_var_export.awk; do \
cp $(top_srcdir)/build/$${f} $(DESTDIR)$(installbuilddir); \
done
cp build/apr_rules.out $(DESTDIR)$(installbuilddir)/apr_rules.mk
if [ ! -d $(DESTDIR)$(bindir) ]; then \
$(top_srcdir)/build/mkdir.sh $(DESTDIR)$(bindir); \
fi;
$(LIBTOOL) --mode=install cp apr-config.out $(DESTDIR)$(bindir)/apr-config
chmod 755 $(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):
@for i in $(SUBDIRS); do objects="$$objects $$i/*.@so_ext@"; done ; \
tmpcmd="$(LINK) @lib_target@ $(ALL_LIBS)"; \
echo $$tmpcmd; \
$$tmpcmd && touch $@
delete-exports:
@if test -f apr.exp; then \
headers="`find include/*.h -newer apr.exp`" ; \
if test -n "$$headers"; then \
echo Found newer headers. Will rebuild apr.exp. ; \
echo $(RM) -f apr.exp exports.c export_vars.h ; \
$(RM) -f apr.exp exports.c export_vars.h ; \
fi \
fi
exports.c:
$(APR_MKEXPORT) $(EXPORT_FILES) > $@
export_vars.c:
$(APR_MKVAREXPORT) $(EXPORT_FILES) > $@
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
check: $(TARGET_LIB)
(cd test && $(MAKE) check)
# DO NOT REMOVE
docs: $(INCDIR)/*.h
.PHONY: delete-lib delete-exports
.NOTPARALLEL: delete-lib delete-exports