diff options
author | aaron <aaron@13f79535-47bb-0310-9956-ffa450edef68> | 2001-10-15 22:56:55 +0000 |
---|---|---|
committer | aaron <aaron@13f79535-47bb-0310-9956-ffa450edef68> | 2001-10-15 22:56:55 +0000 |
commit | d2ff617f22549f3e39730644f70bfcc747d65d1b (patch) | |
tree | 14166416c5fd6f9bbbbb2a752cf67cb919c3e4ff /Makefile.in | |
parent | 781f9e920f872c39895a693b81117eb353609033 (diff) | |
download | libapr-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.in | 36 |
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 |