2009-05-30 12:38:51 +02:00
MAN1_TXT = \
$( filter-out $( addsuffix .txt, $( ARTICLES) $( SP_ARTICLES) ) , \
$( wildcard perf-*.txt) ) \
perf.txt
MAN5_TXT =
MAN7_TXT =
MAN_TXT = $( MAN1_TXT) $( MAN5_TXT) $( MAN7_TXT)
MAN_XML = $( patsubst %.txt,%.xml,$( MAN_TXT) )
MAN_HTML = $( patsubst %.txt,%.html,$( MAN_TXT) )
DOC_HTML = $( MAN_HTML)
ARTICLES =
# with their own formatting rules.
SP_ARTICLES =
API_DOCS = $( patsubst %.txt,%,$( filter-out technical/api-index-skel.txt technical/api-index.txt, $( wildcard technical/api-*.txt) ) )
SP_ARTICLES += $( API_DOCS)
SP_ARTICLES += technical/api-index
DOC_HTML += $( patsubst %,%.html,$( ARTICLES) $( SP_ARTICLES) )
DOC_MAN1 = $( patsubst %.txt,%.1,$( MAN1_TXT) )
DOC_MAN5 = $( patsubst %.txt,%.5,$( MAN5_TXT) )
DOC_MAN7 = $( patsubst %.txt,%.7,$( MAN7_TXT) )
2010-03-11 13:57:00 +01:00
# Make the path relative to DESTDIR, not prefix
i f n d e f D E S T D I R
2009-05-30 12:38:51 +02:00
prefix ?= $( HOME)
2010-03-11 13:57:00 +01:00
e n d i f
2009-05-30 12:38:51 +02:00
bindir ?= $( prefix) /bin
htmldir ?= $( prefix) /share/doc/perf-doc
pdfdir ?= $( prefix) /share/doc/perf-doc
mandir ?= $( prefix) /share/man
man1dir = $( mandir) /man1
man5dir = $( mandir) /man5
man7dir = $( mandir) /man7
ASCIIDOC = asciidoc
2009-08-18 12:41:25 -04:00
ASCIIDOC_EXTRA = --unsafe
2009-05-30 12:38:51 +02:00
MANPAGE_XSL = manpage-normal.xsl
XMLTO_EXTRA =
INSTALL ?= install
RM ?= rm -f
DOC_REF = origin/man
HTML_REF = origin/html
infodir ?= $( prefix) /share/info
MAKEINFO = makeinfo
INSTALL_INFO = install-info
DOCBOOK2X_TEXI = docbook2x-texi
DBLATEX = dblatex
i f n d e f P E R L _ P A T H
PERL_PATH = /usr/bin/perl
e n d i f
- i n c l u d e . . / c o n f i g . m a k . a u t o g e n
- i n c l u d e . . / c o n f i g . m a k
#
# For asciidoc ...
# -7.1.2, no extra settings are needed.
# 8.0-, set ASCIIDOC8.
#
#
# For docbook-xsl ...
# -1.68.1, set ASCIIDOC_NO_ROFF? (based on changelog from 1.73.0)
# 1.69.0, no extra settings are needed?
# 1.69.1-1.71.0, set DOCBOOK_SUPPRESS_SP?
# 1.71.1, no extra settings are needed?
# 1.72.0, set DOCBOOK_XSL_172.
# 1.73.0-, set ASCIIDOC_NO_ROFF
#
#
# If you had been using DOCBOOK_XSL_172 in an attempt to get rid
# of 'the ".ft C" problem' in your generated manpages, and you
# instead ended up with weird characters around callouts, try
# using ASCIIDOC_NO_ROFF instead (it works fine with ASCIIDOC8).
#
i f d e f A S C I I D O C 8
ASCIIDOC_EXTRA += -a asciidoc7compatible
e n d i f
i f d e f D O C B O O K _ X S L _ 1 7 2
ASCIIDOC_EXTRA += -a perf-asciidoc-no-roff
MANPAGE_XSL = manpage-1.72.xsl
e l s e
ifdef ASCIIDOC_NO_ROFF
# docbook-xsl after 1.72 needs the regular XSL, but will not
# pass-thru raw roff codes from asciidoc.conf, so turn them off.
ASCIIDOC_EXTRA += -a perf-asciidoc-no-roff
endif
e n d i f
i f d e f M A N _ B O L D _ L I T E R A L
XMLTO_EXTRA += -m manpage-bold-literal.xsl
e n d i f
i f d e f D O C B O O K _ S U P P R E S S _ S P
XMLTO_EXTRA += -m manpage-suppress-sp.xsl
e n d i f
SHELL_PATH ?= $( SHELL)
# Shell quote;
SHELL_PATH_SQ = $( subst ',' \' ' ,$( SHELL_PATH) )
#
# Please note that there is a minor bug in asciidoc.
# The version after 6.0.3 _will_ include the patch found here:
# http://marc.theaimsgroup.com/?l=perf&m=111558757202243&w=2
#
# Until that version is released you may have to apply the patch
# yourself - yes, all 6 characters of it!
#
QUIET_SUBDIR0 = +$( MAKE) -C # space to separate -C and subdir
QUIET_SUBDIR1 =
i f n e q ( $( findstring $ ( MAKEFLAGS ) ,w ) , w )
PRINT_DIR = --no-print-directory
e l s e # "make -w"
NO_SUBDIR = :
e n d i f
i f n e q ( $( findstring $ ( MAKEFLAGS ) ,s ) , s )
i f n d e f V
QUIET_ASCIIDOC = @echo ' ' ASCIIDOC $@ ;
QUIET_XMLTO = @echo ' ' XMLTO $@ ;
QUIET_DB2TEXI = @echo ' ' DB2TEXI $@ ;
QUIET_MAKEINFO = @echo ' ' MAKEINFO $@ ;
QUIET_DBLATEX = @echo ' ' DBLATEX $@ ;
QUIET_XSLTPROC = @echo ' ' XSLTPROC $@ ;
QUIET_GEN = @echo ' ' GEN $@ ;
QUIET_STDERR = 2> /dev/null
QUIET_SUBDIR0 = +@subdir=
QUIET_SUBDIR1 = ; $( NO_SUBDIR) echo ' ' SUBDIR $$ subdir; \
$( MAKE) $( PRINT_DIR) -C $$ subdir
export V
e n d i f
e n d i f
all : html man
html : $( DOC_HTML )
$(DOC_HTML) $(DOC_MAN1) $(DOC_MAN5) $(DOC_MAN7) : asciidoc .conf
man : man 1 man 5 man 7
man1 : $( DOC_MAN 1)
man5 : $( DOC_MAN 5)
man7 : $( DOC_MAN 7)
info : perf .info perfman .info
pdf : user -manual .pdf
install : install -man
install-man : man
$( INSTALL) -d -m 755 $( DESTDIR) $( man1dir)
# $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
# $(INSTALL) -d -m 755 $(DESTDIR)$(man7dir)
$( INSTALL) -m 644 $( DOC_MAN1) $( DESTDIR) $( man1dir)
# $(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir)
# $(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)
install-info : info
$( INSTALL) -d -m 755 $( DESTDIR) $( infodir)
$( INSTALL) -m 644 perf.info perfman.info $( DESTDIR) $( infodir)
if test -r $( DESTDIR) $( infodir) /dir; then \
$( INSTALL_INFO) --info-dir= $( DESTDIR) $( infodir) perf.info ; \
$( INSTALL_INFO) --info-dir= $( DESTDIR) $( infodir) perfman.info ; \
else \
echo " No directory found in $( DESTDIR) $( infodir) " >& 2 ; \
fi
install-pdf : pdf
$( INSTALL) -d -m 755 $( DESTDIR) $( pdfdir)
$( INSTALL) -m 644 user-manual.pdf $( DESTDIR) $( pdfdir)
2011-02-09 17:11:00 -08:00
#install-html: html
# '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(DESTDIR)$(htmldir)
2009-05-30 12:38:51 +02:00
../PERF-VERSION-FILE : .FORCE -PERF -VERSION -FILE
$( QUIET_SUBDIR0) ../ $( QUIET_SUBDIR1) PERF-VERSION-FILE
- i n c l u d e . . / P E R F - V E R S I O N - F I L E
#
# Determine "include::" file references in asciidoc files.
#
doc.dep : $( wildcard *.txt ) build -docdep .perl
$( QUIET_GEN) $( RM) $@ + $@ && \
$( PERL_PATH) ./build-docdep.perl >$@ + $( QUIET_STDERR) && \
mv $@ + $@
- i n c l u d e d o c . d e p
cmds_txt = cmds-ancillaryinterrogators.txt \
cmds-ancillarymanipulators.txt \
cmds-mainporcelain.txt \
cmds-plumbinginterrogators.txt \
cmds-plumbingmanipulators.txt \
cmds-synchingrepositories.txt \
cmds-synchelpers.txt \
cmds-purehelpers.txt \
cmds-foreignscminterface.txt
$(cmds_txt) : cmd -list .made
cmd-list.made : cmd -list .perl ../command -list .txt $( MAN 1_TXT )
$( QUIET_GEN) $( RM) $@ && \
$( PERL_PATH) ./cmd-list.perl ../command-list.txt $( QUIET_STDERR) && \
date >$@
clean :
$( RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7
$( RM) *.texi *.texi+ *.texi++ perf.info perfman.info
$( RM) howto-index.txt howto/*.html doc.dep
$( RM) technical/api-*.html technical/api-index.txt
$( RM) $( cmds_txt) *.made
$(MAN_HTML) : %.html : %.txt
$( QUIET_ASCIIDOC) $( RM) $@ + $@ && \
$( ASCIIDOC) -b xhtml11 -d manpage -f asciidoc.conf \
$( ASCIIDOC_EXTRA) -aperf_version= $( PERF_VERSION) -o $@ + $< && \
mv $@ + $@
%.1 %.5 %.7 : %.xml
$( QUIET_XMLTO) $( RM) $@ && \
xmlto -m $( MANPAGE_XSL) $( XMLTO_EXTRA) man $<
%.xml : %.txt
$( QUIET_ASCIIDOC) $( RM) $@ + $@ && \
$( ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
$( ASCIIDOC_EXTRA) -aperf_version= $( PERF_VERSION) -o $@ + $< && \
mv $@ + $@
XSLT = docbook.xsl
XSLTOPTS = --xinclude --stringparam html.stylesheet docbook-xsl.css
user-manual.html : user -manual .xml
$( QUIET_XSLTPROC) xsltproc $( XSLTOPTS) -o $@ $( XSLT) $<
perf.info : user -manual .texi
$( QUIET_MAKEINFO) $( MAKEINFO) --no-split -o $@ user-manual.texi
user-manual.texi : user -manual .xml
$( QUIET_DB2TEXI) $( RM) $@ + $@ && \
$( DOCBOOK2X_TEXI) user-manual.xml --encoding= UTF-8 --to-stdout >$@ ++ && \
$( PERL_PATH) fix-texi.perl <$@ ++ >$@ + && \
rm $@ ++ && \
mv $@ + $@
user-manual.pdf : user -manual .xml
$( QUIET_DBLATEX) $( RM) $@ + $@ && \
$( DBLATEX) -o $@ + -p /etc/asciidoc/dblatex/asciidoc-dblatex.xsl -s /etc/asciidoc/dblatex/asciidoc-dblatex.sty $< && \
mv $@ + $@
perfman.texi : $( MAN_XML ) cat -texi .perl
$( QUIET_DB2TEXI) $( RM) $@ + $@ && \
( $( foreach xml,$( MAN_XML) ,$( DOCBOOK2X_TEXI) --encoding= UTF-8 \
--to-stdout $( xml) && ) true ) > $@ ++ && \
$( PERL_PATH) cat-texi.perl $@ <$@ ++ >$@ + && \
rm $@ ++ && \
mv $@ + $@
perfman.info : perfman .texi
$( QUIET_MAKEINFO) $( MAKEINFO) --no-split --no-validate $* .texi
$(patsubst %.txt,%.texi,$(MAN_TXT)) : %.texi : %.xml
$( QUIET_DB2TEXI) $( RM) $@ + $@ && \
$( DOCBOOK2X_TEXI) --to-stdout $* .xml >$@ + && \
mv $@ + $@
howto-index.txt : howto -index .sh $( wildcard howto /*.txt )
$( QUIET_GEN) $( RM) $@ + $@ && \
'$(SHELL_PATH_SQ)' ./howto-index.sh $( wildcard howto/*.txt) >$@ + && \
mv $@ + $@
$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt
$( QUIET_ASCIIDOC) $( ASCIIDOC) -b xhtml11 $* .txt
WEBDOC_DEST = /pub/software/tools/perf/docs
$(patsubst %.txt,%.html,$(wildcard howto/*.txt)) : %.html : %.txt
$( QUIET_ASCIIDOC) $( RM) $@ + $@ && \
sed -e '1,/^$$/d' $< | $( ASCIIDOC) -b xhtml11 - >$@ + && \
mv $@ + $@
2011-02-09 17:11:00 -08:00
# UNIMPLEMENTED
#install-webdoc : html
# '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
2009-05-30 12:38:51 +02:00
2011-02-09 17:11:00 -08:00
# quick-install: quick-install-man
2009-05-30 12:38:51 +02:00
2011-02-09 17:11:00 -08:00
# quick-install-man:
# '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(DOC_REF) $(DESTDIR)$(mandir)
2009-05-30 12:38:51 +02:00
2011-02-09 17:11:00 -08:00
#quick-install-html:
# '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REF) $(DESTDIR)$(htmldir)
2009-05-30 12:38:51 +02:00
.PHONY : .FORCE -PERF -VERSION -FILE