diff options
author | Miruna Paun <Miruna.Paun@enea.com> | 2017-04-14 17:58:15 +0200 |
---|---|---|
committer | Miruna Paun <Miruna.Paun@enea.com> | 2017-04-14 17:58:15 +0200 |
commit | cd4739e1d25fcd2f37bbb687cc1427d488eb6ee5 (patch) | |
tree | f3021de09b88150b2bdecc4509bc9ed726a56851 /doc/Makefile | |
download | el_releases-virtualization-cd4739e1d25fcd2f37bbb687cc1427d488eb6ee5.tar.gz |
First draft of Virt profile to master branch
LXCR-7536 Updating to the CR that contains info
about this new profile documentation as a whole.
Signed-off-by: Miruna Paun <Miruna.Paun@enea.com>
Diffstat (limited to 'doc/Makefile')
-rw-r--r-- | doc/Makefile | 374 |
1 files changed, 374 insertions, 0 deletions
diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000..2149730 --- /dev/null +++ b/doc/Makefile | |||
@@ -0,0 +1,374 @@ | |||
1 | #2017-04-13 Created first version of virtualization profile | ||
2 | |||
3 | #Path to this subsystem's root directory | ||
4 | SUBSYSROOT := $(shell pwd) | ||
5 | |||
6 | # NOTE: MANIFESTHASH in manifest_conf.mk needs to be the final release tag before a release | ||
7 | # The manifest_conf.mk defines MANIFESTHASH and MANIFESTURL and PROFILE_NAME(on front+footers) | ||
8 | include manifest_conf.mk | ||
9 | MANIFESTDIR := $(shell echo "$(MANIFESTURL)" | sed 's/.*\///;s/\.git//') | ||
10 | |||
11 | # Further down we extract the list of target manifest file names from the manifest itself | ||
12 | |||
13 | |||
14 | |||
15 | # ***************** Generic docbuild.git auto-clone + s_docbuild symlink *** | ||
16 | # This also defines TMPCLONEROOT which optionally can be nondefault using BOOK_GLOBALCLONEROOT=yes or a path | ||
17 | include init.mk | ||
18 | |||
19 | TMPCLONEROOT_MANIFEST := $(TMPCLONEROOT)/manifest | ||
20 | |||
21 | |||
22 | # ******************* AutoGenerated chapter from template and target READMEs ******* | ||
23 | BUILDBOOT_XML := book-enea-linux-release-info/doc/build_boot_generated.xml | ||
24 | BUILDBOOT_TEMPLATE := book-enea-linux-release-info/doc/build_boot_template.xml | ||
25 | |||
26 | PKGDIFF_GEN_XML := book-enea-linux-release-info/doc/pkgdiff_generated.xml | ||
27 | JIRA_ISSUES_GEN_XML := book-enea-linux-release-info/doc/jiraissues_generated.xml | ||
28 | |||
29 | MACHINE_LIST_XML := book-enea-linux-release-info/doc/machine_list_generated.xml | ||
30 | |||
31 | ELTF_PARAMS_TEMPLATE := book-enea-linux-release-info/doc/eltf_params_template.xml | ||
32 | ELTF_PARAMS_UPDATED := book-enea-linux-release-info/doc/eltf_params_updated.xml | ||
33 | |||
34 | |||
35 | |||
36 | # ----------------------------------------------------- | ||
37 | #Path to DocBook make files and templates | ||
38 | DOCBOOKMAKE = $(SUBSYSROOT)/s_docbuild/docmake | ||
39 | DOCBOOKTEMPLATE = $(SUBSYSROOT)/s_docbuild/template | ||
40 | |||
41 | #Path to the OLINK database including leading part of file name (will add -$(FORMAT).db) | ||
42 | DOCBOOKOLINKDB_BASE = $(SUBSYSROOT)/s_docbuild/olinkdb/olink-targetdb-master | ||
43 | |||
44 | DOCBOOK_OLINKS ?= yes | ||
45 | DOCBOOK_FO_USEFOP ?= yes | ||
46 | DOCBOOK_TO_BOOKDIR ?= yes | ||
47 | DOCBOOK_CLEANTMP ?= yes | ||
48 | |||
49 | #Components (books) in this subsystem. Now use all books found here | ||
50 | # COMPONENTS := book-enea-linux-release-info book-enea-linux-open-source | ||
51 | # COMPONENTS += book-enea-linux-eclipse-open-source (as of 13.04.2017 this is not needed) | ||
52 | COMPONENTS := $(shell ls -d book-enea* ) | ||
53 | |||
54 | # -------------------------------------------------------------- | ||
55 | ifeq ($(VERBOSE),yes) | ||
56 | VERB := | ||
57 | else | ||
58 | VERB := @ | ||
59 | endif | ||
60 | MAKEFLAGS += --no-print-directory | ||
61 | MAKEFLAGS += --directory $(SUBSYSROOT) | ||
62 | MAKEFLAGS += --no-builtin-rules --no-builting-variables | ||
63 | |||
64 | # Skip xml validation to make it possible to include xml files with unresolved links | ||
65 | VALIDATE = no | ||
66 | |||
67 | # BL_LABEL is either given on make command line or using BOOK_VER which have defaults below or a timestamp | ||
68 | |||
69 | # ****************************************************************** | ||
70 | |||
71 | # Export all parameters including those on the command line | ||
72 | export | ||
73 | |||
74 | .PHONY: doc books docusage init initbuild initmanifest initpardoc initbuildboot dist | ||
75 | |||
76 | |||
77 | docusage: | ||
78 | @echo 'make docusage #Shows this help text' | ||
79 | @echo ' DOCBOOK_TOOLS_VERSIONS=yes #Displays./testeltfver.sh DocBook tools versions in this machine' | ||
80 | @echo 'make doc #Builds doc. ALSO automatically does all inits if needed' | ||
81 | @echo 'make dist BOOK_DIST_DIR=xx/doc #Builds doc as above and copies results to BOOK_DIST_DIR' | ||
82 | @echo ' # Does not work with DOCBOOK_TO_BOOKDIR or BOOK_BUILD_DIR' | ||
83 | # @echo ' BOOK_DIST_ECLIPSE=yes #Currently EclipseHelp formated doc will not be in BOOK_DIST_DIR' | ||
84 | @echo ' # unless BOOK_DIST_ECLIPSE is set to yes' | ||
85 | @echo 'make init #Init all needed init* below' | ||
86 | @echo 'make initbuild #Init s_docbuild Docbook build system and central files' | ||
87 | @echo 'make initmanifest #Init s_manifest by cloning, to detect which targets are included' | ||
88 | @echo 'make initpardoc #Init s_docsrc_common with extracted parameters/' | ||
89 | @echo 'make initbuildboot #Init build_boot chapter from READMEs and template in release info' | ||
90 | @echo 'make initissues #Init known issues section from Jira' | ||
91 | @echo 'make eltf #Test - displays all ELTF_xxx variables that ELTF shall replace' | ||
92 | @echo ' MANIFESTHASH=xxxxx #Option for all inits above to use nondefault manifest version' | ||
93 | @echo ' #It shall either be ref/tags/<tagvalue> or a hashvalue' | ||
94 | @echo ' #Configured tag or hashvalue $(MANIFESTHASH)' | ||
95 | @echo ' #Configured MANIFESTURL $(MANIFESTURL)' | ||
96 | @echo ' #Configured PROFILE_NAME $(PROFILE_NAME)' | ||
97 | @echo ' DOCBOOK_CLEANTMP=no #Option to keep temp files in doc/ and tmp/' | ||
98 | @echo ' BOOK_GLOBALCLONEROOT=yes #Option for all init above to clone all outside the doc directory' | ||
99 | @echo ' BOOK_GLOBALCLONEROOT=otherpath #Option for all init above to clone all to given path' | ||
100 | @echo 'make clean #Clean results and all s_*, but not any external clones' | ||
101 | @echo '' | ||
102 | @echo 'Optional parameters for make doc:' | ||
103 | @echo ' COMP=<book-directory> #Component (book) to build. Book component names are book-*' | ||
104 | @echo ' #Default component/s:' | ||
105 | @echo ' $(COMPONENTS)' | ||
106 | @echo ' FORMAT=<format> #One of: pdf, html, or eclipse (Default all are built)' | ||
107 | @echo ' BL_LABEL=<baseline> #Becomes footer in book (default: from poky enea.conf MAJORMINOR' | ||
108 | @echo ' # and with profile name taken from the manifest repo name)' | ||
109 | @echo ' DOCBOOK_TO_BOOKDIR=no #(default yes) Avoid moving result to book directory' | ||
110 | @echo ' # and avoid erasing common doc and tmp directories' | ||
111 | @echo ' BOOKFORCE=yes #Force rebuilding (ignore dependency on file times or BL_LABEL)' | ||
112 | @echo ' # Dependency only works if common doc directory is kept' | ||
113 | @echo ' BOOKCONDITION="xx;yy;.." #Include XML elements with condition any of xx or yy' | ||
114 | @echo ' # (if rebuilding, BOOKFORCE=yes may be needed)' | ||
115 | @echo ' # Empty=only default. none=none, all=everything.' | ||
116 | @echo ' BOOKDEFAULTCONDITION #Default conditions, if no BOOKCONDITION. Used in book-*/swcomp.mk' | ||
117 | @echo ' SHOW_COMMENTS=yes #For proofread. Unhide <remark>..</remark> comments Only PDF' | ||
118 | @echo ' BOOKVERBOSE=yes #Verbose info building books' | ||
119 | @echo ' DOCBOOK_OLINKS=no #Avoid the olink database in Makefile (in book not using it)' | ||
120 | @echo ' DOCBOOK_OLINK_TARGETDB=only #Build a target db for this book (for links into it)' | ||
121 | @echo ' DOCBOOK_OLINK_TARGETDB=yes #Build a target db AND build the book' | ||
122 | @echo ' #Master olinkdb defined in this Makefile, one per generated format, is:' | ||
123 | @echo ' $(DOCBOOKOLINKDB_BASE)_*.db' | ||
124 | @echo ' Typical examples:' | ||
125 | @echo ' make doc Creates all books, all formats' | ||
126 | @echo ' make doc COMP=book-xxxx FORMAT=html' | ||
127 | @echo ' make doc COMP=book-xxxx FORMAT=pdf' | ||
128 | @echo ' make doc BL_LABEL="Version 1.2.3" Creates all with version in footers and front' | ||
129 | @echo '' | ||
130 | @echo ' Requires docbook-xsl-1.76.1 or later, docbook-xml 4.2, svg1.1, fop-1.0 + fop-hyph.jar' | ||
131 | @echo ' fop + the separate fop-hyph can be found together in package "libfop-java"' | ||
132 | @echo ' otherwise fetch fop-hyph.jar and place in same place as fop.jar' | ||
133 | @echo ' Requires libxml2-2.7.8 or later, libxslt-1.1.26 or later' | ||
134 | @echo ' Requires java machine to run fop (creating PDF). jar for optional FORMAT=eclipse' | ||
135 | @echo ' Without jar, the optional EclipseHelp format can not be built' | ||
136 | @echo ' tools_book_standalone.mk => libxml2, libxslt, and fop (and to catalog-el.xml)' | ||
137 | @echo ' catalog-el.xml => svg, docbook-xml, docbook-xsl' | ||
138 | ifeq ($(DOCBOOK_TOOLS_VERSIONS),yes) | ||
139 | $(VERB)$(MAKE) -f $(DOCBOOKMAKE)/tools_book_standalone.mk book_tools_versions | ||
140 | endif | ||
141 | |||
142 | # We rely on make doing these in order left to right | ||
143 | init: initbuild initcommon initmanifest initpardoc initbuildboot initpkgdiff initissues | ||
144 | pullall: pullbuild | ||
145 | |||
146 | # If no COMP, iterate over books-* in COMPONENTS with make doc | ||
147 | ifeq ($(COMP),) | ||
148 | doc: | ||
149 | ifneq ($(filter book-%, $(COMPONENTS)),) | ||
150 | $(VERB)for comp in $(filter book-%, $(COMPONENTS)); do \ | ||
151 | $(MAKE) doc COMP=$$comp; \ | ||
152 | done | ||
153 | endif | ||
154 | |||
155 | else | ||
156 | include $(SUBSYSROOT)/$(COMP)/swcomp.mk | ||
157 | |||
158 | doc: books | ||
159 | @# | ||
160 | endif | ||
161 | |||
162 | dist: doc | ||
163 | @echo "Copying resulting built documents to $(BOOK_DIST_DIR)" | ||
164 | $(VERB)if [ "$(BOOK_DIST_DIR)" = "" ]; then echo "ERROR: Missing BOOK_DIST_DIR parameter, typically shall be xxx/doc"; exit 10; fi | ||
165 | $(VERB)if [ ! -d "`dirname $(BOOK_DIST_DIR)`" ]; then echo "ERROR: Missing parent for BOOK_DIST_DIR"; exit 10; fi | ||
166 | $(VERB)if [ -f "$(BOOK_DIST_DIR)/Makefile" ]; then echo "ERROR: Wrong BOOK_DIST_DIR, contains a Makefile?"; exit 10; fi | ||
167 | $(VERB)if [ ! -d "$(BOOK_DIST_DIR)" ]; then mkdir -p "$(BOOK_DIST_DIR)" ; fi | ||
168 | $(VERB)for book in $(COMPONENTS); do \ | ||
169 | if ls -d $$book/book*.pdf >/dev/null 2>&1; then cp --preserve=timestamps $$book/book*.pdf "$(BOOK_DIST_DIR)" ; fi ; \ | ||
170 | if ls -d $$book/html >/dev/null 2>&1; then cp -r --preserve=timestamps $$book/html "$(BOOK_DIST_DIR)" ; fi ; \ | ||
171 | if [ "$(BOOK_DIST_ECLIPSE)" = "yes" ]; then \ | ||
172 | if ls -d $$book/eclipse >/dev/null 2>&1; then cp -r --preserve=timestamps $$book/eclipse "$(BOOK_DIST_DIR)" ; fi ; \ | ||
173 | fi ; \ | ||
174 | done | ||
175 | |||
176 | # Default FORMATs | ||
177 | ifeq ($(FORMAT),) | ||
178 | FORMAT=html pdf eclipse | ||
179 | endif | ||
180 | |||
181 | |||
182 | books: init | ||
183 | # BOOKPACKAGES is defined in all book-*/swcomp.mk | ||
184 | $(VERB)DISTRO_VERSION=`egrep '"EneaLinux_REL_VER"><phrase>' $(ELTF_PARAMS_UPDATED) | sed 's/.*<phrase>//;s/<\/phrase>.*//'` ; \ | ||
185 | BOOKVER="Profile $(PROFILE_NAME)-$$DISTRO_VERSION" ; \ | ||
186 | for book in $(BOOKPACKAGES); do \ | ||
187 | for format in $(FORMAT); do \ | ||
188 | $(MAKE) -f $(DOCBOOKMAKE)/make_docbook_standalone.mk BOOK=$$book FORMAT=$$format BOOK_VER="$$BOOKVER" books || exit 10; \ | ||
189 | done ; \ | ||
190 | done | ||
191 | ifeq ($(DOCBOOK_TO_BOOKDIR),yes) | ||
192 | $(VERB)rm -rf doc tmp | ||
193 | else | ||
194 | ifeq ($(DOCBOOK_CLEANTMP),yes) | ||
195 | # keep only doc/pdf/book-*.pdf doc/eclipse/plugins/com.enea.doc.book-* but delete doc/eclipse/plugins/com.enea.doc.book-*/done* | ||
196 | $(VERB)rm -rf tmp 2>/dev/null ; rm -rf doc/pdf/book-*/ ; rm -rf doc/eclipse/plugins/com.enea.doc.book-*/done* 2>/dev/null | ||
197 | endif | ||
198 | endif | ||
199 | |||
200 | # cleaninit cleans ALL tmpcommon and all s_* | ||
201 | clean: cleaninit cleanbuildboot cleanpkgdiff cleanissues cleanmanifest | ||
202 | @echo "Cleaning build results and temporary files" | ||
203 | $(VERB)rm -rf doc tmp 2>/dev/null | ||
204 | ifneq ($(filter book-%, $(COMPONENTS)),) | ||
205 | $(VERB)for comp in $(filter book-%, $(COMPONENTS)); do \ | ||
206 | rm -rf $$comp/book*.pdf $$comp/html $$comp/eclipse 2>/dev/null; \ | ||
207 | done | ||
208 | $(VERB)rm -rf doc tmp 2>/dev/null | ||
209 | endif | ||
210 | |||
211 | |||
212 | # ****************************************************************** | ||
213 | # ****************** SUPPORT FOR TARGETS *************************** | ||
214 | initmanifest: s_manifest | ||
215 | |||
216 | |||
217 | # ----------------------------------------- | ||
218 | # We only clone the manifest to be able to autodetect which targets are in it | ||
219 | # git clone requires only the tag string e.g. EL6, not the entire ref/tags/EL6 that repo requires | ||
220 | # git clone -b hashvalue is not supported. We must first clone, then git checkout hashvalue | ||
221 | # These steps work also for a tag so we could use the same stepwise code | ||
222 | |||
223 | s_manifest: $(TMPCLONEROOT_MANIFEST) | ||
224 | $(VERB)rm s_manifest 2>/dev/null; ln -s $(TMPCLONEROOT_MANIFEST) s_manifest | ||
225 | |||
226 | cleanmanifest: | ||
227 | @echo "Cleaning generated manifest files" | ||
228 | $(VERB)rm -f $(MACHINE_LIST_XML) 2>/dev/null | ||
229 | $(VERB)rm -rf "$(TMPCLONEROOT_MANIFEST)" s_manifest 2>/dev/null | ||
230 | |||
231 | $(TMPCLONEROOT_MANIFEST): | ||
232 | $(VERB)if [ ! -d "$(TMPCLONEROOT)" ] ; then mkdir -p "$(TMPCLONEROOT)" ; fi | ||
233 | $(VERB)if [ ! -d "$(TMPCLONEROOT_MANIFEST)" ]; then mkdir -p "$(TMPCLONEROOT_MANIFEST)" ; fi | ||
234 | $(VERB) MBRANCH=`echo "$(MANIFESTHASH)" | sed 's/.*\///'`; \ | ||
235 | echo "**** Cloning manifest version $$MBRANCH of $(MANIFESTURL) in $(TMPCLONEROOT_MANIFEST)" ; \ | ||
236 | cd "$(TMPCLONEROOT_MANIFEST)"; git clone $(MANIFESTURL) ; cd $(MANIFESTDIR) ; git checkout $(MANIFESTHASH) | ||
237 | $(VERB)if [ ! -d "$(TMPCLONEROOT_MANIFEST)/$(MANIFESTDIR)" ]; then echo "ERROR: Missing $(TMPCLONEROOT_MANIFEST)/$(MANIFESTDIR)"; exit 10 ; fi ; \ | ||
238 | TARGETDEFAULTXMLS=`cd $(TMPCLONEROOT_MANIFEST)/$(MANIFESTDIR); ls -1 */default.xml 2>/dev/null` ; \ | ||
239 | TARGET_LIST=`echo "$$TARGETDEFAULTXMLS" | sed 's/\/default.xml//;s/^/# export MACHINE=/'` ; \ | ||
240 | echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" >$(MACHINE_LIST_XML) ; \ | ||
241 | echo "<!DOCTYPE para PUBLIC \"-//OASIS//DTD DocBook XML V4.2//EN\"" >>$(MACHINE_LIST_XML) ; \ | ||
242 | echo "\"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd\">" >>$(MACHINE_LIST_XML) ; \ | ||
243 | echo "<para id=\"machine-list\">" >>$(MACHINE_LIST_XML) ; \ | ||
244 | echo "<programlisting># Set MACHINE to ONE of the targets in this release!" >>$(MACHINE_LIST_XML) ; \ | ||
245 | echo "$$TARGET_LIST</programlisting>" >>$(MACHINE_LIST_XML) ; \ | ||
246 | echo "</para>" >>$(MACHINE_LIST_XML) | ||
247 | |||
248 | |||
249 | # **************************************************************************** | ||
250 | # ******************** SUPPORT FOR dynamic pardoc with added parameters ****** | ||
251 | # pardoc-distro can contain MAJOR.MINOR-xxxxx keeping -xxxx when replacing MINOR.MINOR from enea.conf | ||
252 | |||
253 | PATH_DOCSRC_COMMON = $(SUBSYSROOT)/s_docsrc_common | ||
254 | NAME_DOCSRC_COMMON = docsrc_common | ||
255 | TMPCLONEROOT_DOCSRC_COMMON := $(TMPCLONEROOT)/$(NAME_DOCSRC_COMMON) | ||
256 | TMPPARDOC := $(TMPCLONEROOT_DOCSRC_COMMON)/pardoc-distro.xml | ||
257 | |||
258 | initpardoc: s_docsrc_common | ||
259 | |||
260 | cleanpardoc: | ||
261 | @echo "Cleaning dynamic parameters" | ||
262 | $(VERB)rm -rf $(TMPCLONEROOT_DOCSRC_COMMON) ; rm s_docsrc_common | ||
263 | |||
264 | |||
265 | s_docsrc_common: $(TMPCLONEROOT_DOCSRC_COMMON) | ||
266 | $(VERB)rm s_docsrc_common 2>/dev/null; ln -s $(TMPCLONEROOT_DOCSRC_COMMON) s_docsrc_common | ||
267 | |||
268 | $(TMPCLONEROOT_DOCSRC_COMMON): | ||
269 | $(VERB)if [ ! -d "$(TMPCLONEROOT)" ] ; then mkdir -p "$(TMPCLONEROOT)" ; fi | ||
270 | $(VERB)if [ ! -d $(TMPCLONEROOT_DOCSRC_COMMON) ]; then mkdir -p $(TMPCLONEROOT_DOCSRC_COMMON) ; fi | ||
271 | @echo "**** Copy docsrc_common/ files to $(TMPCLONEROOT_DOCSRC_COMMON)" | ||
272 | $(VERB)cat docsrc_common/pardoc-distro.xml >$(TMPPARDOC) | ||
273 | |||
274 | # **************************************************************************** | ||
275 | # ***** Create XML chapter with build/boot commands from all README files in manifest | ||
276 | |||
277 | initbuildboot: $(BUILDBOOT_XML) | ||
278 | |||
279 | cleanbuildboot: | ||
280 | @echo "Cleaning generated build-boot command document file" | ||
281 | $(VERB)rm -f $(BUILDBOOT_XML) 2>/dev/null | ||
282 | |||
283 | |||
284 | $(BUILDBOOT_XML): $(BUILDBOOT_TEMPLATE) | ||
285 | @echo "**** Creating $(BUILDBOOT_XML) from READMEs" | ||
286 | $(VERB)INITBB_CMD=initbuildboot.sh ; \ | ||
287 | if [ -f "$$INITBB_CMD" ]; then \ | ||
288 | sh "$$INITBB_CMD" -xml $(BUILDBOOT_XML) -template $(BUILDBOOT_TEMPLATE) -readmebasedir s_manifest/$(MANIFESTDIR); \ | ||
289 | else \ | ||
290 | echo "ERROR: Missing $$INITBB_CMD, can not create $(BUILDBOOT_XML)"; exit 10; \ | ||
291 | fi | ||
292 | |||
293 | # **************************************************************************** | ||
294 | # ***** Create Package DIFF XML section | ||
295 | |||
296 | initpkgdiff: $(PKGDIFF_GEN_XML) | ||
297 | |||
298 | cleanpkgdiff: | ||
299 | @echo "Cleaning generated package diff document file" | ||
300 | $(VERB)rm -f $(PKGDIFF_GEN_XML) 2>/dev/null | ||
301 | |||
302 | $(PKGDIFF_GEN_XML): | ||
303 | $(VERB)PREVIOUS_BL=`egrep '"prev_baseline"' docsrc_common/pardoc-distro.xml | sed 's/^.*<phrase>//;s/<\/phrase>.*$$//'` ; \ | ||
304 | echo "**** Generating $(PKGDIFF_GEN_XML) compared to $$PREVIOUS_BL, using gen_pkgdiff.py" ; \ | ||
305 | python gen_pkgdiff.py >$(PKGDIFF_GEN_XML) | ||
306 | |||
307 | |||
308 | # **************************************************************************** | ||
309 | # ***** Create Jira Issues XML section for the known bugs chapter | ||
310 | |||
311 | .PHONY: $(JIRA_ISSUES_GEN_XML) | ||
312 | # We want new issue list to be generated also at build, not only at init | ||
313 | |||
314 | initissues: $(JIRA_ISSUES_GEN_XML) | ||
315 | |||
316 | |||
317 | cleanissues: | ||
318 | @echo "Cleaning generated known issues document file" | ||
319 | $(VERB)rm -f $(JIRA_ISSUES_GEN_XML) 2>/dev/null | ||
320 | |||
321 | $(JIRA_ISSUES_GEN_XML): | ||
322 | @echo "**** Generating $(JIRA_ISSUES_GEN_XML), fetching from Jira using gen_known_issues.py" | ||
323 | $(VERB)python gen_known_issues.py >$(JIRA_ISSUES_GEN_XML) | ||
324 | |||
325 | # **************************************************************************** | ||
326 | |||
327 | # | ||
328 | # All ELTF_ variables names only has upper case, underline and digits | ||
329 | eltf: | ||
330 | @echo "# make eltf extracts and displays all ELTF_ variables found here" | ||
331 | @echo "# in $(SUBSYSROOT)/$(ELTF_PARAMS_TEMPLATE)" | ||
332 | @echo "# Replace all variables, creating a new eltf*updated.xml file from the eltf*template.xml" | ||
333 | @echo "#" | ||
334 | @echo "# Only replace + push the result file $(ELTF_PARAMS_UPDATED), IF IT WILL BE CHANGED." | ||
335 | @echo "#" | ||
336 | @echo "# IMPORTANT: See eltf_params_updated_template_how_to_use.txt for requirements and details!" | ||
337 | @echo "# Below is only a summary!" | ||
338 | @echo "#" | ||
339 | @echo "# ELTF_ variables must be UNIQUE, e.g. a variable must not be a part of another variable" | ||
340 | @echo "#" | ||
341 | @echo "# ELTF_PL_* and ELTF_T_PL_* shall have the format for programlisting and are often multiline - see below." | ||
342 | @echo "#" | ||
343 | @echo "# ELTF_*_URL and ELTF_*_TXTURL are the URL part and TXT part of ulink; those shall be exactly identical," | ||
344 | @echo "# unless the URL is very very long." | ||
345 | @echo "#" | ||
346 | @echo "# ELTF_T_* are target (MACHINE) variables in one subsection, replace with machine specific strings." | ||
347 | @echo "#" | ||
348 | @echo "# Append more target subsections to *updated.xml, if more than one target is in a release!" | ||
349 | @echo "# Replace the line <!-- ELTFADD_MORE_TARGET_SECTIONS_BELOW_IF_NEEDED --> with appended" | ||
350 | @echo "# complete target section elements copied before the variables are replaced." | ||
351 | @echo "# In each target section, replace the ELTF_T* variables with machine dependent strings" | ||
352 | @echo "# Append final lines seen after <!-- ELTFADD_MORE_TARGET_SECTIONS_BELOW_IF_NEEDED -->" | ||
353 | @echo "# but that would often only be two final </section> </section> lines" | ||
354 | @echo "#" | ||
355 | @echo "# ELTF_ Variables: Replace each variable with a string, for ELTF_*PL* it can be multiline" | ||
356 | @echo "# DO NOT use any leading or trailing spaces and DO NOT use TABs" | ||
357 | @echo "#" | ||
358 | @echo "# ELTF_ Everywhere: Only 7-bit ASCII inside the string replacing a variable. Translate characters" | ||
359 | @echo "# like & < > to & < > etc." | ||
360 | @echo "# unless real XML shall be inserted like when entire sections are appended." | ||
361 | @echo "#" | ||
362 | @echo "# ELTF_ programlisting, variables with PL in the name: Max line length < 80 char." | ||
363 | @echo "# Use backslash + indent-leading-spaces for continuation lines." | ||
364 | @echo "# Multiline. No trailing spaces on any line inside the programlisting." | ||
365 | @echo "#" | ||
366 | @echo "# The following variables shall be replaced with suitable contents (egrep from the template):" | ||
367 | @echo "# Again: See details in eltf_params_updated_template_how_to_use.txt" | ||
368 | @echo "# including also examples of contents of each variable!" | ||
369 | @echo "#" | ||
370 | $(VERB)( egrep 'ELTF_[A-Z_0-9][A-Z_0-9]*' $(ELTF_PARAMS_TEMPLATE) 2>/dev/null | sed 's/ELTF_/\nELTF_/g' | egrep 'ELTF_[A-Z_0-9][A-Z_0-9]*' | sed 's/\(ELTF_[A-Z_0-9][A-Z_0-9]*\).*/\1/' ) | sort | ||
371 | @echo "# The make eltf also here extracts any left-over ELTF variables from $(ELTF_PARAMS_UPDATED)" | ||
372 | @echo "# It should not be any left here:" | ||
373 | $(VERB)( egrep 'ELTF_[A-Z_0-9][A-Z_0-9]*' $(ELTF_PARAMS_UPDATED) 2>/dev/null | sed 's/ELTF_/\nELTF_/g' | egrep 'ELTF_[A-Z_0-9][A-Z_0-9]*' | sed 's/\(ELTF_[A-Z_0-9][A-Z_0-9]*\).*/\1/' ) | sort | ||
374 | @echo "# If you see any left-over above, something is wrong" | ||