CLEAN_TARGETS = gen_test_char test_char.h \
ApacheCoreOS2.def httpd.exp export_files \
SUBDIRS = mpm
LTLIBRARY_NAME = libmain.la
LTLIBRARY_SOURCES = \
LTLIBRARY_DEPENDENCIES = test_char.h
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
ifdef CC_FOR_BUILD
gen_test_char: gen_test_char.c
$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $<
else
gen_test_char_OBJECTS = gen_test_char.lo
gen_test_char: $(gen_test_char_OBJECTS)
$(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
endif
test_char.h: gen_test_char
./gen_test_char > test_char.h
EXPORT_DIRS = $(top_srcdir)/include $(top_srcdir)/os/$(OS_DIR)
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 \
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:
( for dir in $(EXPORT_DIRS); do \
ls $$dir/*.h ; \
done; \
for dir in $(EXPORT_DIRS_APR); do \
done; \
) | sed -e s,//,/,g | sort -u > $@
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 $?` > $@
# Rule to make def file for OS/2 core dll
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
@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' >> $@
# developer stuff
# (we really don't expect end users to use these targets!)
#
bison -pap_expr_yy --defines=$(builddir)/util_expr_parse.h \
-o $(builddir)/util_expr_parse.c $(srcdir)/util_expr_parse.y
flex -Pap_expr_yy -o $(builddir)/util_expr_scan.c $(srcdir)/util_expr_scan.l
set -e ; \
builddir_uc=$$(echo "$(builddir)"|tr a-z/.- A-Z___ ) ; \
sed -e "s|\"$(builddir)/|\"|g" -e "s|$$builddir_uc||g" \
< $(builddir)/$$f > \
$(builddir)/$$f.$$$$ && \
mv $(builddir)/$$f.$$$$ $(builddir)/$$f ; \
done
# work around flex bug
perl -0777 -p -i -e 's,\n(void|int) ap_expr_yy[gs]et_column[^\n]+\)\n.*?\n\},,gs' \
$(builddir)/util_expr_scan.c