1######################################################################## 2# Conditional rules, depending on tool availability 3# Copyright (C) 2005-2007 Hans Ulrich Niedermann <gp@n-dimensional.de>, et. al. 4# SPDX-License-Identifier: LGPL-2.0-or-later 5######################################################################## 6 7DOXYGEN_FILES = 8DOXYGEN_STAMPS = 9DOXYGEN_UPLOAD = 10 11DOXYGEN_INSTALL_TARGETS = 12DOXYGEN_UNINSTALL_TARGETS = 13 14DOXYGEN_CLEAN_TARGETS = 15 16DOXYGEN_TARBALLS = 17 18# FIXME: Depending on the source files would be sufficient, but only 19# maintainable with a completely non-recursive build. 20# Depending on libexif.la works at least. 21$(top_builddir)/libexif/libexif.la: 22 cd $(top_builddir)/libexif && $(MAKE) libexif.la 23 24if BUILD_DOCS 25if HAVE_DOXYGEN 26 27DOXYGEN_UPLOAD += $(HTML_APIDOC_DIR).uploaded 28 29DOXYGEN_STAMPS += $(HTML_APIDOC_DIR).stamp 30$(HTML_APIDOC_DIR).stamp: Doxyfile $(top_builddir)/libexif/libexif.la 31 $(DOXYGEN) $< 32 echo > $@ 33 34DOXYGEN_TARBALLS += $(HTML_APIDOC_DIR).tar.gz 35$(HTML_APIDOC_DIR).tar.gz: $(HTML_APIDOC_DIR).stamp 36 (cd $(DOXYGEN_OUTPUT_DIR) && $(AMTAR) chof - $(HTML_APIDOC_DIR) | GZIP=--best gzip -c) > $@ 37 38if ENABLE_INTERNAL_DOCS 39DOXYGEN_UPLOAD += $(HTML_APIDOC_INTERNALS_DIR).uploaded 40 41DOXYGEN_STAMPS += $(HTML_APIDOC_INTERNALS_DIR).stamp 42$(HTML_APIDOC_INTERNALS_DIR).stamp: Doxyfile-internals $(top_builddir)/libexif/libexif.la 43 $(DOXYGEN) $< 44 echo > $@ 45 46DOXYGEN_TARBALLS += $(HTML_APIDOC_INTERNALS_DIR).tar.gz 47$(HTML_APIDOC_INTERNALS_DIR).tar.gz: $(HTML_APIDOC_INTERNALS_DIR).stamp 48 (cd $(DOXYGEN_OUTPUT_DIR) && $(AMTAR) chof - $(HTML_APIDOC_INTERNALS_DIR) | GZIP=--best gzip -c) > $@ 49 50DOXYGEN_INSTALL_TARGETS += install-apidocs-internals 51install-apidocs-internals: $(HTML_APIDOC_INTERNALS_DIR).stamp 52 mkdir -p "$(DESTDIR)$(docdir)" 53 find "$(DOXYGEN_OUTPUT_DIR)/$(HTML_APIDOC_INTERNALS_DIR)" \ 54 \( -type d -exec chmod 0755 {} \; \) -or \ 55 \( -type f -exec chmod 0644 {} \; \) 56 (unset CDPATH; cd "$(DOXYGEN_OUTPUT_DIR)" && tar cpf - "$(HTML_APIDOC_INTERNALS_DIR)") \ 57 | (cd "$(DESTDIR)$(docdir)" && tar xpf -) 58 59DOXYGEN_UNINSTALL_TARGETS += uninstall-apidocs-internals 60uninstall-apidocs-internals: 61 rm -rf "$(DESTDIR)$(docdir)/$(HTML_APIDOC_INTERNALS_DIR)" 62 63endif 64 65DOXYGEN_INSTALL_TARGETS += install-apidocs 66install-apidocs: $(HTML_APIDOC_DIR).stamp 67 mkdir -p "$(DESTDIR)$(docdir)" 68 find "$(DOXYGEN_OUTPUT_DIR)/$(HTML_APIDOC_DIR)" \ 69 \( -type d -exec chmod 0755 {} \; \) -or \ 70 \( -type f -exec chmod 0644 {} \; \) 71 (unset CDPATH; cd "$(DOXYGEN_OUTPUT_DIR)" && tar cpf - "$(HTML_APIDOC_DIR)") \ 72 | (cd "$(DESTDIR)$(docdir)" && tar xpf -) 73 74DOXYGEN_UNINSTALL_TARGETS += uninstall-apidocs 75uninstall-apidocs: 76 rm -rf "$(DESTDIR)$(docdir)/$(HTML_APIDOC_DIR)" 77 78DOXYGEN_CLEAN_TARGETS += clean-apidocs 79clean-apidocs: 80 rm -rf $(DOXYGEN_OUTPUT_DIR) 81 rm -f $(HTML_APIDOC_DIR).tar.gz $(HTML_APIDOC_INTERNALS_DIR).tar.gz 82 83$(DOXYGEN_UPLOAD): $(DOXYGEN_STAMPS) 84 find $(DOXYGEN_OUTPUT_DIR) \( -type d -exec chmod a+rx,go-w,g+s {} \; \) \ 85 -or \( -type f -exec chmod a+r {} \; \) 86 rsync -avz --progress $(DOXYGEN_OUTPUT_DIR)/$(HTML_APIDOC_DIR)/ sf:/home/users/h/hu/hun/libexif/htdocs/api/ 87if ENABLE_INTERNAL_DOCS 88 rsync -avz --progress $(DOXYGEN_OUTPUT_DIR)/$(HTML_APIDOC_INTERNALS_DIR)/ sf:/home/users/h/hu/hun/libexif/htdocs/internals/ 89endif 90 ssh "sf" "find /home/groups/l/li/libexif/htdocs/internals /home/groups/l/li/libexif/htdocs/api \( -type d -exec chgrp libexif {} \; -exec chmod g+rwxs,a+rx {} \; \) -or \( -type f -exec chgrp libexif {} \; -exec chmod g+rw {} \; \( -name '*.html' -or -name '*.png' -or -name '*.php' -or -name '*.jpg' -or -name '*.css' -name '*.dot' -name '*.map' \) -exec chmod a+r {} \; \)" 91 92endif # HAVE_DOXYGEN 93endif # BUILD_DOCS 94 95 96######################################################################## 97# Common part 98######################################################################## 99 100EXTRA_DIST = Doxyfile.in Doxyfile-internals.in footer.html README.apidocs $(HTML_APIDOC_DIR).tar.gz 101 102doc_DATA = $(DOXYGEN_FILES) 103 104all-local: $(DOXYGEN_STAMPS) 105 106install-data-local: $(DOXYGEN_INSTALL_TARGETS) 107 108uninstall-local: $(DOXYGEN_UNINSTALL_TARGETS) 109 110clean-local: $(DOXYGEN_CLEAN_TARGETS) 111 112upload: $(DOXYGEN_UPLOAD) 113 114CLEANFILES = $(DOXYGEN_FILES) $(DOXYGEN_STAMPS) 115 116