X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=server%2FMakefile.in;h=3c96c4061bee3433f3b784102d45218b272d92be;hb=7d5bef8273f482dee4d3b82c101f07db78c2f7bb;hp=7ef08a7a4265677618f488f6a6e2366b9cda914c;hpb=ed40fffee0e29e167d546b3293784186ae3a18a3;p=apache diff --git a/server/Makefile.in b/server/Makefile.in index 7ef08a7a42..3c96c4061b 100644 --- a/server/Makefile.in +++ b/server/Makefile.in @@ -1,8 +1,7 @@ -CLEAN_TARGETS = gen_test_char test_char.h gen_uri_delims uri_delims.h \ - 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,17 +10,18 @@ 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 util_time.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 provider.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 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) @@ -30,31 +30,45 @@ test_char.h: gen_test_char util.lo: test_char.h -EXPORT_FILES = $(top_srcdir)/include/*.h \ - $(top_srcdir)/os/$(OS_DIR)/*.h \ - $(top_srcdir)/srclib/apr/include/*.h \ - $(top_srcdir)/srclib/apr-util/include/*.h \ - $(top_srcdir)/modules/http/*.h +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 exports.c; then \ - headers="`find $(EXPORT_FILES) -newer exports.c`" ; \ - if test -n "$$headers"; then \ - echo Found newer headers. Will rebuild exports.c. ; \ - echo rm -f exports.c ; \ - rm -f exports.c ; \ - fi \ + 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 -# full path required to keep BSD make happy -$(top_srcdir)/server/exports.c: - $(AWK) -f $(top_srcdir)/build/make_exports.awk $(EXPORT_FILES) > $@ +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 -export_vars.h: - $(AWK) -f $(top_srcdir)/build/make_var_export.awk $(EXPORT_FILES) > $@ +exports.c: export_files + $(AWK) -f $(top_srcdir)/build/make_exports.awk `cat $?` > $@ -# 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