Files
poky/bitbake/doc/Makefile
Richard Purdie 392de9d568 bitbake: doc: Rename user-manual -> bitbake-user-manual
This manual gets combined with other manuals and in that context, it helps
a lot if its seen as the Bitbake User Manual. Renames are a pain but
this is worthwhile so that other docs can correctly be combined with this
one. This also clarifies things like google search results which is helpful.

(Bitbake rev: 452a62ae0c2793e281d6769fd3e45500a74898d6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:03:18 +01:00

2.9 KiB

This is a single Makefile to handle all generated BitBake documents.

The Makefile needs to live in the documentation directory and all figures used

in any manuals must be .PNG files and live in the individual book's figures

directory.

The Makefile has these targets:

pdf: generates a PDF version of a manual.

html: generates an HTML version of a manual.

tarball: creates a tarball for the doc files.

validate: validates

clean: removes files

The Makefile generates an HTML and PDF version of every document. The

variable DOC indicates the folder name for a given manual.

To build a manual, you must invoke 'make' with the DOC argument.

Examples:

make DOC=bitbake-user-manual

make pdf DOC=bitbake-user-manual

The first example generates the HTML and PDF versions of the User Manual.

The second example generates the HTML version only of the User Manual.

ifeq ($(DOC),bitbake-user-manual) XSLTOPTS = --stringparam html.stylesheet bitbake-user-manual-style.css
--stringparam chapter.autolabel 1
--stringparam section.autolabel 1
--stringparam section.label.includes.component.label 1
--xinclude ALLPREQ = html pdf tarball TARFILES = bitbake-user-manual-style.css bitbake-user-manual.html bitbake-user-manual.pdf figures/bitbake-title.png MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf FIGURES = figures STYLESHEET = $(DOC)/*.css

endif

These URI should be rewritten by your distribution's xml catalog to

match your localy installed XSL stylesheets.

XSL_BASE_URI = http://docbook.sourceforge.net/release/xsl/current XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl

all: $(ALLPREQ)

pdf: ifeq ($(DOC),bitbake-user-manual) @echo " " @echo "********** Building."$(DOC) @echo " " cd $(DOC); ../tools/docbook-to-pdf $(DOC).xml ../template; cd .. endif

html: ifeq ($(DOC),bitbake-user-manual)

See http://www.sagehill.net/docbookxsl/HtmlOutput.html

@echo " "
@echo "******** Building "$(DOC)
@echo " "
cd $(DOC); xsltproc $(XSLTOPTS) -o $(DOC).html $(DOC)-customization.xsl $(DOC).xml; cd ..

endif

tarball: html @echo " " @echo "******** Creating Tarball of document files" @echo " " cd $(DOC); tar -cvzf $(DOC).tgz $(TARFILES); cd ..

validate: cd $(DOC); xmllint --postvalid --xinclude --noout $(DOC).xml; cd ..

publish: @if test -f $(DOC)/$(DOC).html;
then
echo " ";
echo "******** Publishing "$(DOC)".html";
echo " ";
scp -r $(MANUALS) $(STYLESHEET) docs.yp:/var/www/www.yoctoproject.org-docs/$(VER)/$(DOC);
cd $(DOC); scp -r $(FIGURES) docs.yp:/var/www/www.yoctoproject.org-docs/$(VER)/$(DOC);
else
echo " ";
echo $(DOC)".html missing. Generate the file first then try again.";
echo " ";
fi

clean: rm -rf $(MANUALS); rm $(DOC)/$(DOC).tgz;