• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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