Rewrite automake's data installation rules, because they suck.

Specifically, they didn't handle installing data from both srcdir and builddir.
We have the tutorial in the srcdir, and build the manual in the builddir.

Also, stop rebuilding the manual for each make target in the doc directory, and
every time any of those targets get called.  This change now makes the manual
never rebuild once built; we plan to fix that later, by rewriting the makefiles
to avoid recursive make, and then making the manual depend on the source files.

Commit by Jamey Sharp and Josh Triplett.
This commit is contained in:
Josh Triplett 2006-11-23 02:11:02 -08:00
parent af3a15838f
commit 30c768b322

View File

@ -4,29 +4,39 @@ tutorial/index.html \
tutorial/xcb.css \ tutorial/xcb.css \
xcb.doxygen.in xcb.doxygen.in
htmlDATA_INSTALL = cp -pR docdirs = $(srcdir)/tutorial
html_DATA = tutorial/
uninstall-htmlDATA:
@$(NORMAL_UNINSTALL)
@list='$(html_DATA)'; for p in $$list; do \
f=$(am__strip_dir) \
echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
done
rmdir "$(DESTDIR)$(htmldir)/" || true
if BUILD_DOCS if BUILD_DOCS
docdirs += manual
# rule to build documentation and copy necessary files # rule to build documentation and copy necessary files
manual: clean-local manual:
doxygen xcb.doxygen doxygen xcb.doxygen
# rules to clean # rules to clean
clean-local: clean-local:
rm -rf manual/ rm -rf manual/
html_DATA += manual/
endif endif
all-local: $(docdirs)
# rule to install the html documentation and tutorial in $(htmldir)
install-data-local:
@if ! test -d "$(DESTDIR)$(htmldir)"; then \
echo "$(mkinstalldirs) '$(DESTDIR)$(htmldir)'"; \
$(mkinstalldirs) '$(DESTDIR)$(htmldir)'; \
fi
@for d in $(docdirs); do \
echo "cp -pR $$d '$(DESTDIR)$(htmldir)/'"; \
cp -pR $$d '$(DESTDIR)$(htmldir)/'; \
done
uninstall-local:
@for d in $(docdirs); do \
d=`basename $$d`; \
echo "test ! -d '$(DESTDIR)$(htmldir)/'$$d || { find '$(DESTDIR)$(htmldir)/'$$d -type d ! -perm -200 -exec chmod u+w '{}' ';' && rm -rf '$(DESTDIR)$(htmldir)/'$$d; }"; \
test ! -d '$(DESTDIR)$(htmldir)/'$$d || { find '$(DESTDIR)$(htmldir)/'$$d -type d ! -perm -200 -exec chmod u+w '{}' ';' && rm -rf '$(DESTDIR)$(htmldir)/'$$d; }; \
done
rmdir "$(DESTDIR)$(htmldir)/" || true