1548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen######################################################################## 2548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Conditional rules, depending on tool availability 3548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen######################################################################## 4548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 5548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_FILES = 6548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_STAMPS = 7548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_UPLOAD = 8548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 9548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_INSTALL_TARGETS = 10548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_UNINSTALL_TARGETS = 11548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 12548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_CLEAN_TARGETS = 13548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 14548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_TARBALLS = 15548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 16548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# FIXME: Depending on the source files would be sufficient, but only 17548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# maintainable with a completely non-recursive build. 18548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Depending on libexif.la works at least. 19548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen$(top_builddir)/libexif/libexif.la: 20548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen cd $(top_builddir)/libexif && $(MAKE) libexif.la 21548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 22548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenif BUILD_DOCS 23548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenif HAVE_DOXYGEN 24548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 25548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_UPLOAD += $(HTML_APIDOC_DIR).uploaded 26548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 27548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_STAMPS += $(HTML_APIDOC_DIR).stamp 28548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen$(HTML_APIDOC_DIR).stamp: Doxyfile $(top_builddir)/libexif/libexif.la 29548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen $(DOXYGEN) $< 30548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen echo > $@ 31548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 32548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_TARBALLS += $(HTML_APIDOC_DIR).tar.gz 33548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen$(HTML_APIDOC_DIR).tar.gz: $(HTML_APIDOC_DIR).stamp 34548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen (cd $(DOXYGEN_OUTPUT_DIR) && $(AMTAR) chof - $(HTML_APIDOC_DIR) | GZIP=--best gzip -c) > $@ 35548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 36548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenif ENABLE_INTERNAL_DOCS 37548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_UPLOAD += $(HTML_APIDOC_INTERNALS_DIR).uploaded 38548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 39548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_STAMPS += $(HTML_APIDOC_INTERNALS_DIR).stamp 40548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen$(HTML_APIDOC_INTERNALS_DIR).stamp: Doxyfile-internals $(top_builddir)/libexif/libexif.la 41548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen $(DOXYGEN) $< 42548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen echo > $@ 43548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 44548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_TARBALLS += $(HTML_APIDOC_INTERNALS_DIR).tar.gz 45548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen$(HTML_APIDOC_INTERNALS_DIR).tar.gz: $(HTML_APIDOC_INTERNALS_DIR).stamp 46548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen (cd $(DOXYGEN_OUTPUT_DIR) && $(AMTAR) chof - $(HTML_APIDOC_INTERNALS_DIR) | GZIP=--best gzip -c) > $@ 47548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 48548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_INSTALL_TARGETS += install-apidocs-internals 49548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelisseninstall-apidocs-internals: $(HTML_APIDOC_INTERNALS_DIR).stamp 50548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen mkdir -p "$(DESTDIR)$(docdir)" 51548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen find "$(DOXYGEN_OUTPUT_DIR)/$(HTML_APIDOC_INTERNALS_DIR)" \ 52548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen \( -type d -exec chmod 0755 {} \; \) -or \ 53548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen \( -type f -exec chmod 0644 {} \; \) 54548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen (unset CDPATH; cd "$(DOXYGEN_OUTPUT_DIR)" && tar cpf - "$(HTML_APIDOC_INTERNALS_DIR)") \ 55548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen | (cd "$(DESTDIR)$(docdir)" && tar xpf -) 56548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 57548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_UNINSTALL_TARGETS += uninstall-apidocs-internals 58548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenuninstall-apidocs-internals: 59548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen rm -rf "$(DESTDIR)$(docdir)/$(HTML_APIDOC_INTERNALS_DIR)" 60548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 61548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenendif 62548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 63548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_INSTALL_TARGETS += install-apidocs 64548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelisseninstall-apidocs: $(HTML_APIDOC_DIR).stamp 65548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen mkdir -p "$(DESTDIR)$(docdir)" 66548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen find "$(DOXYGEN_OUTPUT_DIR)/$(HTML_APIDOC_DIR)" \ 67548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen \( -type d -exec chmod 0755 {} \; \) -or \ 68548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen \( -type f -exec chmod 0644 {} \; \) 69548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen (unset CDPATH; cd "$(DOXYGEN_OUTPUT_DIR)" && tar cpf - "$(HTML_APIDOC_DIR)") \ 70548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen | (cd "$(DESTDIR)$(docdir)" && tar xpf -) 71548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 72548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_UNINSTALL_TARGETS += uninstall-apidocs 73548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenuninstall-apidocs: 74548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen rm -rf "$(DESTDIR)$(docdir)/$(HTML_APIDOC_DIR)" 75548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 76548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenDOXYGEN_CLEAN_TARGETS += clean-apidocs 77548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenclean-apidocs: 78548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen rm -rf $(DOXYGEN_OUTPUT_DIR) 79548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen rm -f $(HTML_APIDOC_DIR).tar.gz $(HTML_APIDOC_INTERNALS_DIR).tar.gz 80548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 81548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen$(DOXYGEN_UPLOAD): $(DOXYGEN_STAMPS) 82548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen find $(DOXYGEN_OUTPUT_DIR) \( -type d -exec chmod a+rx,go-w,g+s {} \; \) \ 83548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen -or \( -type f -exec chmod a+r {} \; \) 84548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen rsync -avz --progress $(DOXYGEN_OUTPUT_DIR)/$(HTML_APIDOC_DIR)/ sf:/home/users/h/hu/hun/libexif/htdocs/api/ 85548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenif ENABLE_INTERNAL_DOCS 86548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen rsync -avz --progress $(DOXYGEN_OUTPUT_DIR)/$(HTML_APIDOC_INTERNALS_DIR)/ sf:/home/users/h/hu/hun/libexif/htdocs/internals/ 87548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenendif 88548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 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 {} \; \)" 89548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 90548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenendif # HAVE_DOXYGEN 91548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenendif # BUILD_DOCS 92548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 93548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 94548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen######################################################################## 95548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Common part 96548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen######################################################################## 97548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 98548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenEXTRA_DIST = Doxyfile.in Doxyfile-internals.in footer.html README.apidocs $(HTML_APIDOC_DIR).tar.gz 99548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 100548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissendoc_DATA = $(DOXYGEN_FILES) 101548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 102548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenall-local: $(DOXYGEN_STAMPS) 103548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 104548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelisseninstall-data-local: $(DOXYGEN_INSTALL_TARGETS) 105548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 106548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenuninstall-local: $(DOXYGEN_UNINSTALL_TARGETS) 107548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 108548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenclean-local: $(DOXYGEN_CLEAN_TARGETS) 109548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 110548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenupload: $(DOXYGEN_UPLOAD) 111548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 112548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenCLEANFILES = $(DOXYGEN_FILES) $(DOXYGEN_STAMPS) 113548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 114