4
# Copyright Ericsson AB 1999-2010. All Rights Reserved.
6
# The contents of this file are subject to the Erlang Public License,
7
# Version 1.1, (the "License"); you may not use this file except in
8
# compliance with the License. You should have received a copy of the
9
# Erlang Public License along with this software. If not, it can be
10
# retrieved online at http://www.erlang.org/.
12
# Software distributed under the License is distributed on an "AS IS"
13
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
# the License for the specific language governing rights and limitations
20
include $(ERL_TOP)/make/target.mk
21
include $(ERL_TOP)/make/$(TARGET)/otp.mk
23
# ----------------------------------------------------
25
# ----------------------------------------------------
26
include $(ERL_TOP)/erts/vsn.mk
28
APPLICATION=otp-system-documentation
30
# ----------------------------------------------------
31
# Release directory specification
32
# ----------------------------------------------------
33
RELSYSDIR = $(RELEASE_PATH)/doc
37
INFO_FILES = ../../README ../../COPYRIGHT PR.template
41
TOP_HTML_GEN_FILES = \
42
$(HTMLDIR)/incompatible.html \
43
$(HTMLDIR)/highlights.html
48
include ../installation_guide/xmlfiles.mk
49
include ../system_principles/xmlfiles.mk
50
include ../embedded/xmlfiles.mk
51
include ../getting_started/xmlfiles.mk
52
include ../reference_manual/xmlfiles.mk
53
include ../programming_examples/xmlfiles.mk
54
include ../efficiency_guide/xmlfiles.mk
55
include ../tutorial/xmlfiles.mk
56
include ../design_principles/xmlfiles.mk
57
include ../oam/xmlfiles.mk
60
$(INST_GUIDE_CHAPTER_FILES:%=../installation_guide/%) \
61
$(SYSTEM_PRINCIPLES_CHAPTER_FILES:%=../system_principles/%) \
62
$(EMBEDDED_CHAPTER_FILES:%=../embedded/%) \
63
$(GETTING_STARTED_CHAPTER_FILES:%=../getting_started/%) \
64
$(REF_MAN_CHAPTER_FILES:%=../reference_manual/%) \
65
$(PROG_EX_CHAPTER_FILES:%=../programming_examples/%) \
66
$(EFF_GUIDE_CHAPTER_FILES:%=../efficiency_guide/%) \
67
$(TUTORIAL_CHAPTER_FILES:%=../tutorial/%) \
68
$(DESIGN_PRINCIPLES_CHAPTER_FILES:%=../design_principles/%) \
69
$(OAM_CHAPTER_FILES:%=../oam/%) \
70
../installation_guide/part.xml \
71
../system_principles/part.xml \
72
../embedded/part.xml \
73
../getting_started/part.xml \
74
../reference_manual/part.xml \
75
../programming_examples/part.xml \
76
../efficiency_guide/part.xml \
77
../tutorial/part.xml \
78
../design_principles/part.xml \
86
TOP_PDF_FILE = $(PDFDIR)/$(APPLICATION)-$(VSN).pdf
89
#--------------------------------------------------------------------------
90
# We generate the index page from the installed system. This make
91
# it important that this is done last. The file index.html.src
92
# is used as a template for the resulting page.
96
INDEX_SCRIPT = $(EBIN)/erl_html_tools.$(EMULATOR)
97
INDEX_SRC = src/erl_html_tools.erl
99
$(HTMLDIR)/index.html \
100
$(HTMLDIR)/applications.html
102
JAVASCRIPT = $(HTMLDIR)/js/erlresolvelinks.js
103
JAVASCRIPT_BUILD_SCRIPT = $(EBIN)/erlresolvelinks.$(EMULATOR)
104
JAVASCRIPT_BUILD_SCRIPT_SRC = src/erlresolvelinks.erl
106
MAN_INDEX_SCRIPT = $(EBIN)/otp_man_index.$(EMULATOR)
107
MAN_INDEX_SRC = src/otp_man_index.erl
108
MAN_INDEX = $(HTMLDIR)/man_index.html
110
GLOSSARY = $(HTMLDIR)/glossary.html
111
GLOSSARY_SRC = $(ERL_TOP)/system/internal_tools/doctools/src/glossary.erl
112
GLOSSARY_SCRIPT = $(EBIN)/glossary.$(EMULATOR)
115
templates/index.html.src \
116
templates/applications.html.src
118
#--------------------------------------------------------------------------
120
$(INDEX_SCRIPT): $(INDEX_SRC)
121
$(ERLC) -o$(EBIN) +warn_unused_vars $<
123
# We don't list toc_*.html as targets because we don't know
124
$(HTMLDIR)/index.html + $(HTMLDIR)/applications.html: $(INDEX_SCRIPT)
125
echo "Generating index $@"
126
# Check if we are building the index from source or an installed release
127
if test "$$RELEASE_ROOT" = "" ; then \
128
$(ERL) -noshell -pa $(EBIN) -s erl_html_tools top_index src $(ERL_TOP) \
129
$(HTMLDIR) $(SYSTEM_VSN) -s erlang halt ;\
131
$(ERL) -noshell -pa $(EBIN) -s erl_html_tools top_index rel $(RELEASE_ROOT) \
132
$(HTMLDIR) $(SYSTEM_VSN) -s erlang halt ;\
136
#--------------------------------------------------------------------------
138
$(JAVASCRIPT_BUILD_SCRIPT): $(JAVASCRIPT_BUILD_SCRIPT_SRC)
139
$(ERLC) -o$(EBIN) +warn_unused_vars $<
141
$(JAVASCRIPT): $(JAVASCRIPT_BUILD_SCRIPT)
142
erl -noshell -pa $(EBIN) -s erlresolvelinks make -s erlang halt
143
$(INSTALL_DIR) $(HTMLDIR)/js
144
$(INSTALL_DATA) erlresolvelinks.js $(JAVASCRIPT)
146
#--------------------------------------------------------------------------
148
$(MAN_INDEX_SCRIPT): $(MAN_INDEX_SRC)
149
$(ERLC) -o$(EBIN) +warn_unused_vars $<
151
$(MAN_INDEX): $(MAN_INDEX_SCRIPT)
152
# Check if we are building the index from source or an installed release
153
if test "$$RELEASE_ROOT" = "" ; then \
154
$(ERL) -noshell -pa $(EBIN) -s otp_man_index gen src $(ERL_TOP) $@ \
157
$(ERL) -noshell -pa $(EBIN) -s otp_man_index gen rel $(RELEASE_ROOT) $@ \
162
#--------------------------------------------------------------------------
164
$(HTMLDIR)/highlights.html: highlights.xml
165
date=`date +"%B %e %Y"`; \
166
$(XSLTPROC) --output $(@) --stringparam docgen "$(DOCGEN)" --stringparam topdocdir "$(TOPDOCDIR)" \
167
--stringparam pdfdir "$(PDFREFDIR)" --stringparam gendate "$$date" --stringparam appname "$(APPLICATION)" \
168
--stringparam appver "$(VSN)" -path $(DOCGEN)/priv/docbuilder_dtd -path $(DOCGEN)/priv/dtd_html_entities \
169
$(DOCGEN)/priv/xsl/db_html.xsl $<
172
$(HTMLDIR)/incompatible.html: incompatible.xml
173
date=`date +"%B %e %Y"`; \
174
$(XSLTPROC) --output $(@) --stringparam docgen "$(DOCGEN)" --stringparam topdocdir "$(TOPDOCDIR)" \
175
--stringparam pdfdir "$(PDFREFDIR)" --stringparam gendate "$$date" --stringparam appname "$(APPLICATION)" \
176
--stringparam appver "$(VSN)" -path $(DOCGEN)/priv/docbuilder_dtd -path $(DOCGEN)/priv/dtd_html_entities \
177
$(DOCGEN)/priv/xsl/db_html.xsl $<
179
#--------------------------------------------------------------------------
181
$(GLOSSARY_SCRIPT): $(GLOSSARY_SRC)
182
$(ERLC) -o$(EBIN) $(GLOSSARY_SRC)
184
$(GLOSSARY): $(GLOSSARY_SCRIPT)
185
$(ERL) -noshell -pa $(EBIN) \
186
-s glossary make ../definitions/term.defs -s erlang halt > \
189
#--------------------------------------------------------------------------
191
PR.template: PR.template.src $(ERL_TOP)/erts/vsn.mk
192
sed -e 's;%VSN%;$(VSN);' \
193
-e 's;%SYSTEM_VSN%;$(SYSTEM_VSN);' \
196
# ----------------------------------------------------
198
# ----------------------------------------------------
202
# ----------------------------------------------------
204
# ----------------------------------------------------
207
docs: pdf html $(INFO_FILES)
209
local_docs: PDFREFDIR=../pdf
211
$(TOP_PDF_FILE): $(XML_FILES)
215
html: $(INDEX_FILES) $(TOP_HTML_FILES) \
216
$(MAN_INDEX) $(JAVASCRIPT)
223
rm -f $(INDEX_FILES) $(TOP_HTML_FILES) $(MAN_INDEX)
224
rm -f $(TOP_PDF_FILE) $(TOP_PDF_FILE:%.pdf=%.fo)
225
rm -f $(INDEX_SCRIPT) $(GLOSSARY_SCRIPT) \
226
$(JAVASCRIPT_BUILD_SCRIPT)
227
rm -f erl_crash.dump errs core *~
229
# ----------------------------------------------------
231
# ----------------------------------------------------
232
include $(ERL_TOP)/make/otp_release_targets.mk
235
release_docs_spec: docs
236
$(INSTALL_DIR) $(RELEASE_PATH)
237
$(INSTALL_DATA) $(INFO_FILES) $(RELEASE_PATH)
238
$(INSTALL_DIR) $(RELSYSDIR)
239
$(INSTALL_DIR) $(RELSYSDIR)/pdf
241
$(TOP_PDF_FILE) $(RELSYSDIR)/pdf
242
$(INSTALL_DATA) $(TOP_HTML_FILES) $(RELSYSDIR)
243
$(INSTALL_DIR) $(RELSYSDIR)/js
245
$(JAVASCRIPT) $(RELSYSDIR)/js
246
$(INSTALL_DATA) $(INDEX_FILES) $(MAN_INDEX) $(TOP_HTML_FILES) $(RELSYSDIR)
247
$(INSTALL_DIR) $(RELSYSDIR)/docbuild
248
$(INSTALL_DATA) $(INDEX_SCRIPT) $(MAN_INDEX_SCRIPT) $(JAVASCRIPT_BUILD_SCRIPT) \
249
$(INDEX_SRC) $(MAN_INDEX_SRC) $(JAVASCRIPT_BUILD_SCRIPT_SRC) \
250
$(TEMPLATES) $(RELSYSDIR)/docbuild