blob: b51f6f0d5662f5832554288c0b436afe6fe976cd [file] [log] [blame]
##
## Makefile.apxs -- Build procedure for mod_fcgid Apache module
##
## Do not use the .apxs makefile, run ./configure.apxs and build from 'Makefile'
##
# top_builddir and top_srcdir are misnomers, because build/*.mk scripts
# expect each of them to be the parent of the build directory, and fail
# to trust the installbuilddir.
exp_installbuilddir=$(shell $(APXS) -q exp_installbuilddir)
top_srcdir=$(installbuilddir)/..
top_builddir=$(installbuilddir)/..
fcgid_builddir=.
fcgid_srcdir=.
builddir=.
srcdir=.
awk=.
SUBDIRS = modules/fcgid
CLEAN_SUBDIRS =
TARGETS =
INSTALL_TARGETS = install-conf install-manual
## no such targets yet; install-include
DISTCLEAN_TARGETS = config.apxs.log modules/fcgid/fcgid_config.h
EXTRACLEAN_TARGETS =
include $(exp_installbuilddir)/rules.mk
x-local-distclean:
rm -rf docs/manual/build docs/manual/style
# Dang nabbit, these are stripped! Reconstitute them;
rel_libexecdir=`echo $(exp_libexecdir) | sed -e "s#^$(prefix)/##;"`
rel_sysconfdir=`echo $(exp_sysconfdir) | sed -e "s#^$(prefix)/##;"`
rel_logfiledir=`echo $(exp_logfiledir) | sed -e "s#^$(prefix)/##;"`
httpd_conffile=$(exp_sysconfdir)/$(progname).conf
httpd_origconffile=$(exp_sysconfdir)/original/$(progname).conf
install-conf:
@echo Installing configuration files
@$(MKINSTALLDIRS) $(DESTDIR)$(exp_sysconfdir) \
$(DESTDIR)$(exp_sysconfdir)/original
for i in $(DESTDIR)$(httpd_conffile) $(DESTDIR)$(httpd_origconffile); do \
if test -f $$i; then \
($(awk) -f $(fcgid_srcdir)/build/addloadexample.awk \
-v MODULE=fcgid -v DSO=.so -v LIBPATH=$(rel_libexecdir) \
< $$i > $$i.new && \
mv $$i $$i.bak && mv $$i.new $$i \
) || true; \
fi; \
done
# Todo - add this flag to awk above, if/when this Include is distributed
# -v EXAMPLECONF=$(rel_sysconfdir)/extra/httpd-fcgid.conf
install-conf-unused:
@$(MKINSTALLDIRS) $(DESTDIR)$(exp_sysconfdir)/extra \
$(DESTDIR)$(exp_sysconfdir)/original/extra
@cd $(fcgid_srcdir)/docs/conf; \
for j in $(fcgid_srcdir)/docs/conf; do \
cd $$j ; \
for i in extra/httpd-fcgid.conf; do \
if test -f $$i; then \
sed -e '/^\#@@LoadFcgidModules@@/d;' \
-e 's#@exp_runtimedir@#$(exp_runtimedir)#;' \
-e 's#@exp_sysconfdir@#$(exp_sysconfdir)#;' \
-e 's#@rel_sysconfdir@#$(rel_sysconfdir)#;' \
-e 's#@rel_logfiledir@#$(rel_logfiledir)#;' \
< $$i > $(DESTDIR)$(exp_sysconfdir)/original/$$i; \
chmod 0644 $(DESTDIR)$(exp_sysconfdir)/original/$$i; \
if test ! -f $(DESTDIR)$(exp_sysconfdir)/$$i; then \
cp $(DESTDIR)$(exp_sysconfdir)/original/$$i \
$(DESTDIR)$(exp_sysconfdir)/$$i; \
chmod 0644 $(DESTDIR)$(exp_sysconfdir)/$$i; \
fi; \
fi; \
done ; \
done
svnroot=http://svn.apache.org/repos/asf/httpd
manualdir=$(fcgid_srcdir)/docs/manual
# Note; by default, make generate-docs rebuilds the local pages
# To regenerate the installed pages (after using make install to
# drop in the fcgid content), simply
#
# make manualdir=/path/to/manual generate-docs
#
generate-docs:
@if test ! -d $(manualdir)/build; then \
cd $(manualdir); \
svn export $(svnroot)/docs-build/trunk build; \
fi
@if test ! -d $(manualdir)/style; then \
cd $(manualdir); \
svn export $(svnroot)/httpd/trunk/docs/manual/style; \
fi
cd $(manualdir)/build; \
./build.sh all
generate-dox:
cd $(fcgid_srcdir); \
doxygen $(fcgid_srcdir)/docs/doxygen-fcgid.conf
install-manual:
@echo Installing online manual
@test -d $(DESTDIR)$(exp_manualdir) \
|| $(MKINSTALLDIRS) $(DESTDIR)$(exp_manualdir)
@if test "x$(RSYNC)" != "x" && test -x $(RSYNC) ; then \
$(RSYNC) --exclude .svn -rlpt --numeric-ids \
$(fcgid_srcdir)/docs/manual/ $(DESTDIR)$(exp_manualdir)/; \
else \
cp -rp $(fcgid_srcdir)/docs/manual/* $(DESTDIR)$(exp_manualdir)/ && \
find $(DESTDIR)$(exp_manualdir) -name ".svn" -type d -print \
| xargs rm -rf 2>/dev/null || true; \
fi
install-include-unused:
@echo Installing header files
@$(MKINSTALLDIRS) $(DESTDIR)$(exp_includedir) && \
cp $(fcgid_srcdir)/include/mod_fcgid.h $(DESTDIR)$(exp_includedir)/ && \
chmod 0644 $(DESTDIR)$(exp_includedir)/mod_fcgid.h
.PHONY: generate-dox generate-docs