forked from stdlib-js/stdlib
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocumentationjs.mk
More file actions
133 lines (101 loc) · 3.88 KB
/
documentationjs.mk
File metadata and controls
133 lines (101 loc) · 3.88 KB
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#/
# @license Apache-2.0
#
# Copyright (c) 2017 The Stdlib Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#/
# VARIABLES #
# Define the path of the documentation.js executable:
DOCUMENTATIONJS ?= $(BIN_DIR)/documentation
# Define the path to JSDoc type definitions:
DOCUMENTATIONJS_TYPEDEF ?= $(TOOLS_DIR)/docs/jsdoc/typedefs/*.js
# Define the output directory for documentation.js:
DOCUMENTATIONJS_OUT ?= $(SRC_DOCS_DIR)/documentationjs
# Define the output directory for documentation.js JSON:
DOCUMENTATIONJS_JSON_OUT ?= $(DOCUMENTATIONJS_OUT)/json
# Define the output filepath for documentation.js JSON:
DOCUMENTATIONJS_JSON ?= $(DOCUMENTATIONJS_JSON_OUT)/documentationjs.json
# Define the output directory for documentation.js HTML documentation:
DOCUMENTATIONJS_HTML_OUT ?= $(DOCUMENTATIONJS_OUT)/static
# Define the output filepath for HTML documentation:
DOCUMENTATIONJS_HTML ?= $(DOCUMENTATIONJS_HTML_OUT)/index.html
# Define command-line options to be used when invoking the documentation.js executable to generate HTML documentation:
DOCUMENTATIONJS_HTML_FLAGS ?= \
--format html \
--output $(DOCUMENTATIONJS_HTML_OUT)
# Define command-line options to be used when invoking the documentation.js executable to generate JSON:
DOCUMENTATIONJS_JSON_FLAGS ?= --format json
# TARGETS #
# Generate HTML documentation.
#
# This target generates source HTML documentation from [JSDoc][1]-style comments using [documentation.js][2].
#
# To install documentation.js:
#
# ```bash
# $ npm install documentation
# ```
#
# [1]: https://jsdoc.app/
# [2]: https://github.com/documentationjs/documentation
documentationjs-html: $(NODE_MODULES)
$(QUIET) $(DELETE) $(DELETE_FLAGS) $(DOCUMENTATIONJS_HTML_OUT)
$(QUIET) $(MKDIR_RECURSIVE) $(DOCUMENTATIONJS_HTML_OUT)
$(QUIET) $(DOCUMENTATIONJS) $(DOCUMENTATIONJS_HTML_FLAGS) $(DOCUMENTATIONJS_TYPEDEF) $(SOURCES)
.PHONY: documentationjs-html
# Generate JSDoc JSON.
#
# This target generates JSDoc JSON from [JSDoc][1]-style comments.
#
# To install documentation.js:
#
# ```bash
# $ npm install documentation
# ```
#
# [1]: https://jsdoc.app/
# [2]: https://github.com/documentationjs/documentation
documentationjs-json: $(NODE_MODULES)
$(QUIET) $(DELETE) $(DELETE_FLAGS) $(DOCUMENTATIONJS_JSON)
$(QUIET) $(MKDIR_RECURSIVE) $(DOCUMENTATIONJS_JSON_OUT)
$(QUIET) $(DOCUMENTATIONJS) $(DOCUMENTATIONJS_JSON_FLAGS) $(DOCUMENTATIONJS_TYPEDEF) $(SOURCES) > $(DOCUMENTATIONJS_JSON)
.PHONY: documentationjs-json
# View HTML documentation.
#
# This target opens documentation.js HTML documentation in a local web browser.
view-documentationjs-html:
$(QUIET) $(OPEN) $(DOCUMENTATIONJS_HTML)
.PHONY: view-documentationjs-html
# Remove a documentation.js output directory.
#
# This target cleans up a documentation.js output directory by removing it entirely.
clean-documentationjs:
$(QUIET) $(DELETE) $(DELETE_FLAGS) $(DOCUMENTATIONJS_OUT)
.PHONY: clean-documentationjs
# Rebuild HTML documentation.
#
# This target removes any current documentation and regenerates source HTML documentation from [JSDoc][1]-style comments using [documentation.js][2].
#
# To install documentation.js:
#
# ```bash
# $ npm install documentation
# ```
#
# [1]: https://jsdoc.app/
# [2]: https://github.com/documentationjs/documentation
rebuild-documentationjs-html:
$(QUIET) $(MAKE) -f $(this_file) clean-documentationjs
$(QUIET) $(MAKE) -f $(this_file) documentationjs-html
.PHONY: rebuild-documentationjs-html