summaryrefslogtreecommitdiff
path: root/doxygen.am
blob: 5c5d164fae63289c92da300e6d18c5b855c89b21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Doxygen documentation will not be generated with default configuration,
# unless '--enable-doxygen-doc' is configured.
# The following targets are all about doxygen:
# make                # 'make doxygen' would be auto executed
# make doxygen        # generating doxygen documentation
# make doxygen-doc    # same as 'make doxygen'
# make clean          # clean docs generated by doxygen
# make install        # install doxygen documentation
# make uninstall      # uninstall doxygen documentation

if ENABLE_DOXYGEN

# Add all needed rules defined in ax_prog_doxygen.m4
@DX_RULES@

# Use 'make clean' to clean docs generated by doxygen.
clean-local:
	-rm -rf $(DX_CLEANFILES)

if ENABLE_DOXYGEN_MAN
man3_MAN_DIR = @DX_DOCDIR@/man/man3

# add "libevent_" prefix for man pages
#
# XXX: we cannot clean old man pages here since
# doxygen-rename-man-pages will be called twice:
# - for make
# - for make install
# (cmake works differently)
#
# Once this will be solved add the following to the target:
#
#     -rm -fr $(man3_MAN_DIR)/libevent_*
doxygen-rename-man-pages: doxygen-doc
	echo "Rename man pages in $(man3_MAN_DIR)"
	@for p in $(man3_MAN_DIR)/*; do \
	  p=`basename $$p`; \
	  p_strip=$${p/libevent_/}; \
	  if [ ! "$$p_strip" = "$$p" ]; then continue; fi; \
	  mv '$(man3_MAN_DIR)/'$$p '$(man3_MAN_DIR)/'libevent_$$p; \
	done

# integrate doxygen with automake targets
man3_MANS = $(man3_MAN_DIR)/*
$(man3_MANS): doxygen-doc doxygen-rename-man-pages
endif ENABLE_DOXYGEN_MAN

# Docs will be installed. It may be one or more docs supported
# by doxygen, but does not include 'man'.
docdirs = $(DX_INSTALL_DOCS)

# Rules for installing docs generated by doxygen into $(htmldir),
# The typical value of $(htmldir) is '/usr/local/share/doc/$(PACKAGE)'
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

# Rules for uninstalling docs generated by doxygen from $(htmldir)
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

doxygen: doxygen-doc
all: doxygen

endif ENABLE_DOXYGEN