summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authoraaron <aaron@13f79535-47bb-0310-9956-ffa450edef68>2001-10-15 22:56:55 +0000
committeraaron <aaron@13f79535-47bb-0310-9956-ffa450edef68>2001-10-15 22:56:55 +0000
commitd2ff617f22549f3e39730644f70bfcc747d65d1b (patch)
tree14166416c5fd6f9bbbbb2a752cf67cb919c3e4ff /Makefile.in
parent781f9e920f872c39895a693b81117eb353609033 (diff)
downloadlibapr-d2ff617f22549f3e39730644f70bfcc747d65d1b.tar.gz
Various changes toward the goal of AIX shared library builds:
Scripts migrated from httpd-2.0 for building exports.c and export_vars.h (make_exports.awk and make_var_export.awk). Removed obsolete script (make_export.awk). Used Victor's CPP rules from httpd-2.0 to create apr.exp list of exported symbols (for AIX) from the export.c and export_vars.h files. export.lo is then created for programs (like httpd) that need to link against a stub library so that the symbols will be available to all DSOs. Reviewed by: Victor J. Orlikowski git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@62425 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in36
1 files changed, 24 insertions, 12 deletions
diff --git a/Makefile.in b/Makefile.in
index 6e53bc96f..904d31154 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -17,22 +17,22 @@ CLEAN_SUBDIRS= . test build
INSTALL_SUBDIRS=@INSTALL_SUBDIRS@
TARGET_LIB = libapr.la
-TARGET_EXPORTS = apr.exports
#
# Rules for building specific targets, starting with 'all' for
# building the entire package.
#
-TARGETS = delete-lib $(TARGET_LIB) delete-exports $(TARGET_EXPORTS)
+TARGETS = delete-lib $(TARGET_LIB) delete-exports export_vars.h apr.exp
# bring in rules.mk for standard functionality
@INCLUDE_RULES@
-CLEAN_TARGETS = $(TARGET_EXPORTS)
+CLEAN_TARGETS =
DISTCLEAN_TARGETS = config.cache config.log config.status \
include/apr.h include/arch/unix/apr_private.h \
- APRVARS libtool
-EXTRACLEAN_TARGETS = configure aclocal.m4 include/arch/unix/apr_private.h.in
+ APRVARS libtool apr.exp
+EXTRACLEAN_TARGETS = configure aclocal.m4 include/arch/unix/apr_private.h.in \
+ exports.c export_vars.h
prefix=@prefix@
exec_prefix=@exec_prefix@
@@ -41,6 +41,8 @@ includedir=@includedir@
srcdir=@srcdir@
top_srcdir=@top_srcdir@
+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 ; \
@@ -72,17 +74,27 @@ $(TARGET_LIB):
$(LINK) @lib_target@
delete-exports:
- @if test -f $(TARGET_EXPORTS); then \
- headers="`find include/*.h -newer $(TARGET_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 $(TARGET_EXPORTS). ; \
- echo $(RM) -f $(TARGET_EXPORTS) ; \
- $(RM) -f $(TARGET_EXPORTS) ; \
+ echo Found newer headers. Will rebuild apr.exp. ; \
+ echo $(RM) -f apr.exp ; \
+ $(RM) -f apr.exp ; \
fi \
fi
-$(TARGET_EXPORTS):
- $(MKEXPORT) $(top_srcdir)/include/*.h > $@
+exports.c:
+ $(AWK) -f $(top_srcdir)/build/make_exports.awk $(EXPORT_FILES) > $@
+
+export_vars.h:
+ $(AWK) -f $(top_srcdir)/build/make_var_export.awk $(EXPORT_FILES) > $@
+
+apr.exp: exports.c export_vars.h
+ @echo "#! ." > $@
+ @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.h | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@
dox:
doxygen $(top_srcdir)/docs/doxygen.conf