]> granicus.if.org Git - apache/blobdiff - server/Makefile.in
mod_session_cookie: Add a session implementation capable of storing
[apache] / server / Makefile.in
index ecad709fac3c8917cd1bf7c7fafff4dc7506aa7f..3c96c4061bee3433f3b784102d45218b272d92be 100644 (file)
@@ -1,9 +1,7 @@
 
-TARGET_EXPORTS    = apache.exports
-CLEAN_TARGETS = gen_test_char test_char.h gen_uri_delims uri_delims.h \
-       $(TARGET_EXPORTS) ApacheCoreOS2.def
-DISTCLEAN_TARGETS = httpd.exp
-EXTRACLEAN_TARGETS = exports.c export_vars.h
+CLEAN_TARGETS = gen_test_char test_char.h \
+       ApacheCoreOS2.def httpd.exp export_files \
+       exports.c export_vars.h
 
 SUBDIRS = mpm
 
@@ -11,19 +9,19 @@ LTLIBRARY_NAME    = libmain.la
 LTLIBRARY_SOURCES = \
     test_char.h \
        config.c log.c main.c vhost.c util.c \
-       util_script.c util_md5.c util_cfgtree.c util_ebcdic.c \
-       rfc1413.c connection.c listen.c \
-        mpm_common.c util_charset.c util_debug.c util_xml.c \
-       util_filter.c exports.c buildmark.c scoreboard.c \
-       error_bucket.c protocol.c core.c request.c
+       util_script.c util_md5.c util_cfgtree.c util_ebcdic.c util_time.c \
+       connection.c listen.c util_mutex.c \
+       mpm_common.c util_charset.c util_cookies.c util_debug.c util_xml.c \
+       util_expr.c util_filter.c util_pcre.c exports.c \
+       scoreboard.c error_bucket.c protocol.c core.c request.c provider.c \
+       eoc_bucket.c eor_bucket.c core_filters.c
 
-TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE) export_vars.h \
-       httpd.exp
+TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE) export_vars.h httpd.exp
 
-include $(top_srcdir)/build/rules.mk
+include $(top_builddir)/build/rules.mk
 include $(top_srcdir)/build/library.mk
 
-gen_test_char_OBJECTS = gen_test_char.lo util_debug.lo
+gen_test_char_OBJECTS = gen_test_char.lo
 gen_test_char: $(gen_test_char_OBJECTS)
        $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
 
@@ -32,38 +30,45 @@ test_char.h: gen_test_char
 
 util.lo: test_char.h
 
-EXPORT_FILES = $(top_srcdir)/srclib/apr/apr.exports \
-       $(top_srcdir)/srclib/apr-util/aprutil.exports \
-       $(TARGET_EXPORTS)
+EXPORT_DIRS = $(top_srcdir)/include $(top_srcdir)/os/$(OS_DIR) $(top_srcdir)/modules/http
+EXPORT_DIRS_APR = $(APR_INCLUDEDIR) $(APU_INCLUDEDIR)
 
+# If export_files is a dependency here, but we remove it during this stage,
+# when exports.c is generated, make will not detect that export_files is no
+# longer here and deadlock.  So, export_files can't be a dependency of
+# delete-exports.
 delete-exports:
-       @if test -f $(TARGET_EXPORTS); then \
-                   headers="`find $(top_srcdir)/include/*.h -newer $(TARGET_EXPORTS)`" ; \
-                   if test -n "$$headers"; then \
-                       echo Found newer headers. Will rebuild $(TARGET_EXPORTS). ; \
-                       echo rm -f $(TARGET_EXPORTS) ; \
-                       rm -f $(TARGET_EXPORTS) ; \
-                   fi \
+       @if test -f exports.c; then \
+           if test -f export_files; then \
+               files=`cat export_files`; \
+               headers="`find $$files -newer exports.c`"; \
+               if test -n "$$headers"; then \
+                  echo Found newer headers. Will rebuild exports.c.; \
+                  echo rm -f exports.c export_files; \
+                  rm -f exports.c export_files; \
+               fi; \
+           else \
+               rm -f exports.c; \
+           fi; \
        fi
 
+export_files:
+       tmp=export_files_unsorted.txt; \
+       rm -f $$tmp && touch $$tmp; \
+       for dir in $(EXPORT_DIRS); do \
+           ls $$dir/*.h >> $$tmp; \
+       done; \
+       for dir in $(EXPORT_DIRS_APR); do \
+           (ls $$dir/ap[ru].h $$dir/ap[ru]_*.h >> $$tmp 2>/dev/null); \
+       done; \
+       sort -u $$tmp > $@; \
+       rm -f $$tmp
 
-$(TARGET_EXPORTS):
-       $(AWK) -f $(top_srcdir)/srclib/apr/build/make_export.awk \
-               $(top_srcdir)/include/*.h \
-               $(top_srcdir)/os/$(OS_DIR)/*.h > $@
+exports.c: export_files
+       $(AWK) -f $(top_srcdir)/build/make_exports.awk `cat $?` > $@
 
-exports.c: $(EXPORT_FILES)
-       (cat $(EXPORT_FILES) | $(top_srcdir)/build/buildexports.sh $(top_srcdir)) > $@
-
-export_vars.h:
-       $(AWK) -f $(top_srcdir)/build/make_var_export.awk \
-               $(top_srcdir)/include/*.h \
-               $(top_srcdir)/os/$(OS_DIR)/*.h \
-               $(top_srcdir)/srclib/apr/include/*.h \
-               $(top_srcdir)/srclib/apr-util/include/*.h > $@
-
-# wtf does this have to be explicit????
-exports.lo: exports.c
+export_vars.h: export_files
+       $(AWK) -f $(top_srcdir)/build/make_var_export.awk `cat $?` > $@
 
 # Rule to make def file for OS/2 core dll
 ApacheCoreOS2.def: exports.c export_vars.h $(top_srcdir)/os/$(OS_DIR)/core_header.def
@@ -73,8 +78,8 @@ ApacheCoreOS2.def: exports.c export_vars.h $(top_srcdir)/os/$(OS_DIR)/core_heade
 
 # Rule to make exp file for AIX DSOs
 httpd.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' >> $@
+       @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_" | grep -v apr_ | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@
+       $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.h | grep -v apr_ | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@