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