RN rnmake  3.0.0
Rules.doc.mk
Go to the documentation of this file.
1 ################################################################################
2 #
3 # Rules.doc.mk
4 #
5 ifdef RNMAKE_DOXY
6 /*!
7 \file
8 
9 \brief Make package documentation.
10 
11 This file is automatically included by \ref Rules.mk when one or more of the
12 documentation make goals are specified.
13 
14 \pkgsynopsis
15 RN Make System
16 
17 \pkgfile{Rules.doc.mk}
18 
19 \pkgauthor{Robin Knight,robin.knight@roadnarrows.com}
20 
21 \pkgcopyright{2005-2018,RoadNarrows LLC,http://www.roadnarrows.com}
22 
23 \license{MIT}
24 
25 \EulaBegin
26 \EulaEnd
27 
28 \cond RNMAKE_DOXY
29  */
30 endif
31 #
32 ################################################################################
33 
34 _RULES_DOC_MK = 1
35 
36 # -------------------------------------------------------------------------
37 # Target: documents
38 # Desc: Make documentation.
39 .PHONY: documents
40 documents: pkgbanner echo-documents docs-clean docs-src-gen docs-pub-gen \
41  $(EXTRA_TGT_DOC)
42  $(footer)
43 
44 .PHONY: echo-documents
45 echo-documents:
46  $(call printEchoTgtGoalDesc,Making documentation)
47 
48 DOXY_VER=1.8.11
49 
50 # documentation generator from source files
51 ifndef HTML_HEADER
52 HTML_HEADER = $(RNMAKE_ROOT)/doxy/$(DOXY_VER)/rn_doxy_header.html
53 endif
54 
55 ifndef HTML_FOOTER
56 HTML_FOOTER = $(RNMAKE_ROOT)/doxy/$(DOXY_VER)/rn_doxy_footer.html
57 endif
58 
59 ifndef HTML_STYLESHEET
60 HTML_STYLESHEET = $(RNMAKE_ROOT)/doxy/$(DOXY_VER)/rn_doxy.css
61 endif
62 
63 ifndef DOXY_IMAGES
64 DOXY_IMAGES = $(RNMAKE_ROOT)/doxy/rn_images
65 endif
66 
67 ifndef RN_DOXY_CONF_FILE
68 RN_DOXY_CONF_PATH = $(RNMAKE_ROOT)/doxy
69 RN_DOXY_CONF_FILE = $(RN_DOXY_CONF_PATH)/rn_doxy.conf
70 endif
71 
72 docs-clean:
73  $(printTgtGoal)
74  $(RM) $(DISTDIR_DOC)
75 
76 # generate doxygen source documetiona
77 docs-src-gen:
78  $(printTgtGoal)
79  @if [ "$(RNMAKE_DOXY_CONF_FILE)" ]; \
80  then \
81  echo "Making doxygen source documentation"; \
82  test -d $(DISTDIR_DOC) || $(MKDIR) $(DISTDIR_DOC); \
83  test -d $(DISTDIR_DOC_SRC_IMG) || $(MKDIR) $(DISTDIR_DOC_SRC_IMG); \
84  $(CP) -r $(DOXY_IMAGES)/* $(DISTDIR_DOC_SRC_IMG)/.; \
85  $(CP) -r $(HTML_STYLESHEET) $(DISTDIR_DOC_SRC)/.; \
86  (cat $(RNMAKE_DOXY_CONF_FILE); \
87  echo "PROJECT_NUMBER=$(RNMAKE_PKG_VERSION_DOTTED)"; \
88  echo "HTML_HEADER=$(HTML_HEADER)"; \
89  echo "HTML_FOOTER=$(HTML_FOOTER)"; \
90  echo "OUTPUT_DIRECTORY=$(DISTDIR_DOC)"; \
91  echo "HTML_OUTPUT=$(DIST_SRCDOC)"; \
92  echo "PROJECT_LOGO=$(DISTDIR_DOC_SRC_IMG)/RNLogo.png"; \
93  echo "@INCLUDE_PATH=$(RN_DOXY_CONF_PATH)"; \
94  echo "@INCLUDE=$(RN_DOXY_CONF_FILE)"; \
95  ) | doxygen - >$(RNMAKE_PKG_ROOT)/doxy.out.log 2>$(RNMAKE_PKG_ROOT)/doxy.err.log; \
96  fi
97  $(footer)
98 
99 # This utility scrip is no longer used after doxygen 1.7. DEPRECATED
100 # $(RNMAKE_ROOT)/utils/doxyindex.sh \
101 # -t "$(RNMAKE_PKG) v$(RNMAKE_PKG_VERSION_DOTTED)" \
102 # -h $(HTML_HEADER) \
103 # >$(DISTDIR_DOC)/$(DIST_SRCDOC)/index.html; \
104 
105 # generate published documentation
106 docs-pub-gen:
107  $(printTgtGoal)
108  @pubdstdir="$(DISTDIR_DOC)/papers"; \
109  pubsrcdir="$(RNMAKE_PKG_ROOT)/docs/published"; \
110  unset flist; \
111  test -d $${pubsrcdir} && flist=$$(ls $${pubsrcdir}); \
112  if [ "$${flist}" != "" ]; \
113  then \
114  test -d $${pubdstdir} || $(MKDIR) $${pubdstdir}; \
115  $(CP) -r $${pubsrcdir}/* $${pubdstdir}/. 2>/dev/null; \
116  fi; \
117  pubsrcdir="$(RNMAKE_PKG_ROOT)/3rdparty/published"; \
118  unset flist; \
119  test -d $${pubsrcdir} && flist=$$(ls $${pubsrcdir}); \
120  if [ "$${flist}" != "" ]; \
121  then \
122  test -d $${pubdstdir} || $(MKDIR) $${pubdstdir}; \
123  $(CP) -r $${pubsrcdir}/* $${pubdstdir}/. 2>/dev/null; \
124  fi
125  $(footer)
126 
127 ifdef RNMAKE_DOXY
128 /*! \endcond RNMAKE_DOXY */
129 endif