1#-*-makefile-*-   ; force emacs to enter makefile-mode
2
3# %CopyrightBegin%
4#
5# Copyright Ericsson AB 1997-2018. All Rights Reserved.
6#
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11#     http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18#
19# %CopyrightEnd%
20
21include $(ERL_TOP)/make/target.mk
22include $(ERL_TOP)/make/$(TARGET)/otp.mk
23
24# ----------------------------------------------------
25# Application version
26# ----------------------------------------------------
27include ../../vsn.mk
28VSN = $(SNMP_VSN)
29APPLICATION=snmp
30
31# ----------------------------------------------------
32# Release directory specification
33# ----------------------------------------------------
34RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN)
35
36# ----------------------------------------------------
37# Target Specs
38# ----------------------------------------------------
39
40MIBSDIR = ../../mibs
41include files.mk
42
43# ----------------------------------------------------
44
45HTML_APP_FILES  = $(XML_APPLICATION_FILES:%.xml=$(HTMLDIR)/%.html)
46XML_PART_FILE2 = $(XML_PART_FILES) notes_history.xml
47HTML_PART_FILES = \
48	../html/notes_history.html \
49	$(XML_PART_FILES:%.xml=$(HTMLDIR)/%.html)
50
51HTML_FILES = \
52	$(HTML_APP_FILES) \
53	$(HTML_PART_FILES)
54
55XML_ERRS = $(XML_FILES:%.xml=%.latex.xmls_errs) \
56            $(XML_FILES:%.xml=%.html.xmls_errs)
57
58XML_OUTPUT = $(XML_FILES:%.xml=%.latex.xmls_output) \
59              $(XML_FILES:%.xml=%.html.xmls_output)
60
61INFO_FILE = ../../info
62
63#HTML_REF1_FILES = $(XML_REF1_FILES:%.xml=$(HTMLDIR)/%.html)
64HTML_REF3_FILES = $(XML_REF3_FILES:%.xml=$(HTMLDIR)/%.html)
65HTML_REF6_FILES = $(XML_REF6_FILES:%.xml=$(HTMLDIR)/%.html)
66HTML_CHAP_FILES = $(XML_CHAPTER_FILES:%.xml=$(HTMLDIR)/%.html)
67
68EXTRA_FILES = \
69        $(DEFAULT_HTML_FILES)  \
70        $(HTML_REF1_FILES)     \
71        $(HTML_REF3_FILES)     \
72        $(HTML_REF6_FILES)     \
73        $(HTML_CHAP_FILES)
74
75
76MAN7DIR = $(DOCDIR)/man7
77
78MAN1_FILES = $(MAN1DIR)/snmpc.1
79MAN3_FILES = $(XML_REF3_FILES:%.xml=$(MAN3DIR)/%.3)
80MAN6_FILES = $(XML_REF6_FILES:%_app.xml=$(MAN6DIR)/%.6)
81MAN7_FILES = $(MIB_FILES:$(MIBSDIR)/%.mib=$(MAN7DIR)/%.7)
82
83HTML_REF_MAN_FILE = $(HTMLDIR)/index.html
84
85TOP_PDF_FILE = $(PDFDIR)/$(APPLICATION)-$(VSN).pdf
86
87GIF_TARGETS = $(GIF_FILES:%=$(HTMLDIR)/%)
88
89
90# ----------------------------------------------------
91# FLAGS
92# ----------------------------------------------------
93XML_FLAGS +=
94DVIPS_FLAGS +=
95
96# ----------------------------------------------------
97# Targets
98# ----------------------------------------------------
99$(HTMLDIR)/%.gif: %.gif			# Copy them to ../html
100	$(INSTALL_DATA) $< $@
101
102docs: pdf html man
103
104ldocs: local_docs
105
106$(TOP_PDF_FILE): $(XML_FILES)
107
108pdf: $(TOP_PDF_FILE)
109
110html: gifs $(HTML_REF_MAN_FILE)
111
112clean clean_docs: clean_html clean_man clean_pdf
113	rm -f errs core *~
114
115man: man1 man3 man6 man7
116
117man1: $(MAN1_FILES)
118
119man3: $(MAN3_FILES)
120
121man6: $(MAN6_FILES)
122
123man7: $(MAN7_FILES)
124
125gifs: $(GIF_TARGETS)
126
127debug opt:
128
129clean_pdf:
130	@echo "cleaning pdf:"
131	rm -f $(TOP_PDF_FILE) $(TOP_PDF_FILE:%.pdf=%.fo)
132
133clean_man:
134	@echo "cleaning man:"
135	rm -f $(MAN1DIR)/*
136	rm -f $(MAN3DIR)/*
137	rm -f $(MAN6DIR)/*
138	rm -f $(MAN7DIR)/*
139
140clean_html:
141	@echo "cleaning html:"
142	rm -rf $(HTMLDIR)/*
143	rm -rf $(XMLDIR)
144
145$(MAN7DIR)/%.7: $(MIBSDIR)/%.mib
146	@echo "processing $*"
147	@echo ".TH $* 7  \"SNMP\" \"Erlang/OTP\" \"MIB\"" > $@
148	@echo ".nf" >> $@
149	@cat $< >> $@
150	@echo ".fi" >> $@
151	@echo "" >> $@
152
153
154# ----------------------------------------------------
155# Release Target
156# ----------------------------------------------------
157
158$(MAN1DIR)/snmpc.1: snmpc_cmd.xml
159	date=`date +"%B %e %Y"`; \
160        xsltproc --output "$@" --stringparam company "Ericsson AB" --stringparam docgen "$(DOCGEN)" --stringparam gendate "$$date" --stringparam appname "$(APPLICATION)" --stringparam appver "$(VSN)" --xinclude -path $(DOCGEN)/priv/dtd  -path $(DOCGEN)/priv/dtd_man_entities $(DOCGEN)/priv/xsl/db_man.xsl $<
161
162include $(ERL_TOP)/make/otp_release_targets.mk
163
164release_docs_spec: docs
165	$(INSTALL_DIR) "$(RELSYSDIR)/doc/pdf"
166	$(INSTALL_DATA) $(TOP_PDF_FILE) "$(RELSYSDIR)/doc/pdf"
167	$(INSTALL_DIR) "$(RELSYSDIR)/doc/html"
168	$(INSTALL_DATA) $(HTMLDIR)/* \
169		"$(RELSYSDIR)/doc/html"
170	$(INSTALL_DATA) $(INFO_FILE) "$(RELSYSDIR)"
171	$(INSTALL_DIR) "$(RELEASE_PATH)/man/man1"
172	$(INSTALL_DATA) $(MAN1DIR)/* "$(RELEASE_PATH)/man/man1"
173	$(INSTALL_DIR) "$(RELEASE_PATH)/man/man3"
174	$(INSTALL_DATA) $(MAN3DIR)/* "$(RELEASE_PATH)/man/man3"
175	$(INSTALL_DIR) "$(RELEASE_PATH)/man/man6"
176	$(INSTALL_DATA) $(MAN6DIR)/* "$(RELEASE_PATH)/man/man6"
177	$(INSTALL_DIR) "$(RELEASE_PATH)/man/man7"
178	$(INSTALL_DATA) $(MAN7DIR)/* "$(RELEASE_PATH)/man/man7"
179
180release_spec:
181
182info: info_xml info_man info_html
183	@echo "MAN1DIR: $(MAN1DIR)"
184	@echo "MAN3DIR: $(MAN3DIR)"
185	@echo "MAN6DIR: $(MAN6DIR)"
186	@echo "MAN7DIR: $(MAN7DIR)"
187
188info_man:
189	@echo "man files:"
190	@echo "MAN1_FILES = $(MAN1_FILES)"
191	@echo "MAN3_FILES = $(MAN3_FILES)"
192	@echo "MAN6_FILES = $(MAN6_FILES)"
193	@echo "MAN7_FILES = $(MAN7_FILES)"
194	@echo ""
195	@echo "MIB_FILES  = $(MIB_FILES)"
196
197info_xml:
198	@echo "xml files:"
199#	@echo "XML_REF1_FILES        = $(XML_REF1_FILES)"
200	@echo "XML_REF3_FILES        = $(XML_REF3_FILES)"
201	@echo "XML_REF6_FILES        = $(XML_REF6_FILES)"
202	@echo "XML_PART_FILES        = $(XML_PART_FILES)"
203	@echo "XML_CHAPTER_FILES     = $(XML_CHAPTER_FILES)"
204	@echo "XML_APPLICATION_FILES = $(XML_APPLICATION_FILES)"
205	@echo ""
206	@echo "BOOK_FILES             = $(BOOK_FILES)"
207	@echo ""
208	@echo "XML_FILES  = $(XML_FILES)"
209	@echo "XML_ERRS   = $(XML_ERRS)"
210	@echo "XML_OUTPUT = $(XML_OUTPUT)"
211
212info_html:
213	@echo "html files:"
214	@echo "DOCDIR = $(DOCDIR)"
215	@echo "HTML_REF_MAN_FILE = $(HTML_REF_MAN_FILE)"
216	@echo ""
217	@echo "HTMLDIR = $(HTMLDIR)"
218	@echo "HTML_APP_FILES  = $(HTML_APP_FILES)"
219	@echo "HTML_PART_FILES = $(HTML_PART_FILES)"
220	@echo "HTML_FILES  = $(HTML_FILES)"
221	@echo ""
222	@echo "EXTRA_FILES = $(EXTRA_FILES)"
223	@echo ""
224	@echo "DEFAULT_HTML_FILES = $(DEFAULT_HTML_FILES)"
225	@echo ""
226#	@echo "HTML_REF1_FILES = $(HTML_REF1_FILES)"
227	@echo "HTML_REF3_FILES = $(HTML_REF3_FILES)"
228	@echo "HTML_REF6_FILES = $(HTML_REF6_FILES)"
229	@echo "HTML_CHAP_FILES = $(HTML_CHAP_FILES)"
230