summaryrefslogtreecommitdiffstats
path: root/server/Makefile.in
blob: bca9b6b15174102fb2c2ebb1991da6e9e8e7a75d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
CLEAN_TARGETS = gen_test_char test_char.h gen_uri_delims uri_delims.h \
	ApacheCoreOS2.def
DISTCLEAN_TARGETS = httpd.exp
EXTRACLEAN_TARGETS = export_files exports.c export_vars.h

SUBDIRS = mpm

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 util_time.c \
	connection.c listen.c \
	mpm_common.c util_charset.c util_debug.c util_xml.c \
	util_filter.c $(top_builddir)/server/exports.c buildmark.c \
	scoreboard.c error_bucket.c protocol.c core.c request.c provider.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: $(gen_test_char_OBJECTS)
	$(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)

test_char.h: gen_test_char
	./gen_test_char > test_char.h

util.lo: test_char.h

EXPORT_DIRS = $(top_srcdir)/include $(top_srcdir)/os/$(OS_DIR) $(APR_INCLUDEDIR) $(APU_INCLUDEDIR) $(top_srcdir)/modules/http

delete-exports: export_files
	@if test -f exports.c; then \
	    files=`cat $?`; \
	    headers="`find $$files -newer exports.c`"; \
	    if test -n "$$headers"; then \
	        echo Found newer headers. Will rebuild exports.c.; \
	        echo rm -f exports.c exports_files; \
	        rm -f exports.c export_files; \
	    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; \
	sort -u $$tmp > $@; \
	rm -f $$tmp

# full path required to keep BSD make happy
$(top_builddir)/server/exports.c: export_files
	$(AWK) -f $(top_srcdir)/build/make_exports.awk `cat $?` > $@

export_vars.h: export_files
	$(AWK) -f $(top_srcdir)/build/make_var_export.awk `cat $?` > $@

# wtf does this have to be explicit????
exports.lo: exports.c

# 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
	cat $(top_srcdir)/os/$(OS_DIR)/core_header.def > $@
	$(CPP) $< $(ALL_CPPFLAGS) $(ALL_INCLUDES) | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$$/  "\1"/' >> $@
	$(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.h | grep "^[a-z]" | sed -e 's/^\(.*\)$$/  "\1"/' >> $@

# 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_" | grep -v apr_ | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@
	$(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.h | grep -v apr_ | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@