X-Git-Url: http://git.samba.org/samba.git/?a=blobdiff_plain;f=docs-xml%2FMakefile;h=40aa16108bde24733eba140006cdee5398b778a3;hb=82e0ba22ce51659d9c455c477d217bc8bbaf71b3;hp=70ffdc13bb5fb066da711bc874a4614bd5e5e700;hpb=20796bcf57a7f5e1921dc12e0568221f985fe4f2;p=gd%2Fsamba-autobuild%2F.git diff --git a/docs-xml/Makefile b/docs-xml/Makefile index 70ffdc13bb5..40aa16108bd 100644 --- a/docs-xml/Makefile +++ b/docs-xml/Makefile @@ -9,11 +9,10 @@ include Makefile.settings # Docs to build MAIN_DOCS = $(patsubst %/index.xml,%,$(wildcard */index.xml)) MANPAGES3 = $(wildcard $(MANPAGEDIR3)/*.?.xml) -export TEXINPUTS=xslt/latex:.: # Lists of files to process -LATEX_FIGURES = xslt/figures/caution.pdf xslt/figures/important.pdf xslt/figures/note.pdf xslt/figures/tip.pdf xslt/figures/warning.pdf MANPAGES_PLUCKER = $(patsubst $(MANPAGEDIR3)/%.xml,$(PLUCKERDIR)/%.pdb,$(MANPAGES3)) +DBLATEX_OPTIONS = -p xslt/latex.xsl -i xslt/latex DATETIME := $(shell date +%Y%m%d%H%M%S) @@ -23,11 +22,9 @@ endif ifndef OUTPUTDIR Makefile.settings: configure - @echo Makefile.settings not present, trying to run configure... ./configure configure: configure.ac - @echo configure not present, trying to regenerate it... autoreconf endif @@ -36,18 +33,18 @@ help: @echo " release - Build the docs needed for a Samba release" @echo " all - Build all docs that can be build using the utilities found by configure" @echo " everything - Build all of the above" - @echo " pdf,tex,dvi,ps,manpages3,txt,pearson,fo,htmlhelp - Build specific output format" + @echo " pdf,tex,ps,manpages3,txt,pearson,htmlhelp - Build specific output format" @echo " html - Build multi-file HTML versions" @echo " html-single - Build single-file HTML versions" @echo " htmlman3 - Build HTML version of manpages" @echo " undocumented - Output list of undocumented smb.conf options" @echo " samples - Extract examples" -$(DOCBOOKDIR)/Samba3-ByExample.xml: $(filter-out Samba3-ByExample/index.xml,$(wildcard Samba3-ByExample/*.xml)) -$(DOCBOOKDIR)/Samba3-HOWTO.xml: $(filter-out Samba3-HOWTO/index.xml,$(wildcard Samba3-HOWTO/*.xml)) Samba3-HOWTO-attributions.xml +$(PDFDIR)/Samba3-ByExample.pdf $(PSDIR)/Samba3-ByExample.ps $(DOCBOOKDIR)/Samba3-ByExample.xml Samba3-ByExample.tex: $(wildcard Samba3-ByExample/*.xml) +$(PDFDIR)/Samba3-HOWTO.pdf $(PSDIR)/Samba3-HOWTO.ps Samba3-HOWTO.tex $(DOCBOOKDIR)/Samba3-HOWTO.xml: $(wildcard Samba3-HOWTO/*.xml) Samba3-HOWTO-attributions.xml Samba3-HOWTO/manpages.xml: $(MANPAGEDIR3)/smb.conf.5.xml -$(DOCBOOKDIR)/Samba3-Developers-Guide.xml: $(filter-out Samba3-Developers-Guide/index.xml,$(wildcard Samba3-Developers-Guide/*.xml)) Samba3-Developers-Guide-attributions.xml -$(DOCBOOKDIR)/Samba4-HOWTO.xml: $(filter-out Samba4-HOWTO/index.xml,$(wildcard Samba4-HOWTO/*.xml)) Samba4-HOWTO-attributions.xml +$(PDFDIR)/Samba3-Developers-Guide.pdf $(PSDIR)/Samba3-Developers-Guide.ps $(DOCBOOKDIR)/Samba3-Developers-Guide.xml Samba3-Developers-Guide.tex: $(wildcard Samba3-Developers-Guide/*.xml) Samba3-Developers-Guide-attributions.xml +$(PDFDIR)/Samba4-HOWTO.pdf $(PSDIR)/Samba4-HOWTO.ps Samba4-HOWTO.tex $(DOCBOOKDIR)/Samba4-HOWTO.xml: $(filter-out Samba4-HOWTO/index.xml,$(wildcard Samba4-HOWTO/*.xml)) Samba4-HOWTO-attributions.xml # Pseudo targets all:: $(TARGETS) @@ -56,24 +53,17 @@ release:: manpages3 htmlman3 html pdf clean:: @echo "Cleaning up..." rm -rf $(OUTPUTDIR)/* $(DOCBOOKDIR) - rm -f $(patsubst %.svg,%.png,$(foreach DOC,$(MAIN_DOCS),$($(DOC)-images-latex-dia))) \ - $(patsubst %.svg,%.pdf,$(foreach DOC,$(MAIN_DOCS),$($(DOC)-images-latex-svg))) \ - $(patsubst %.svg,%.eps,$(foreach DOC,$(MAIN_DOCS),$($(DOC)-images-latex-svg))) - rm -f *-attributions.xml *.d *.tpt *.tex *.loc *.toc *.lof *.glo *.idx *.aux - rm -f *-images-html* - rm -f *-images-latex-* latexfigures - rm -f xslt/figures/*pdf + rm -f $(patsubst %.svg,%.png,$(wildcard */images/*.svg)) \ + $(patsubst %.svg,%.eps,$(wildcard */images/*.svg)) \ + $(patsubst %.png,%.eps,$(wildcard */images/*.png)) + rm -f *-attributions.xml rm -f $(SMBDOTCONFDOC)/parameters.*.xml - rm -f $(addsuffix .*,$(MAIN_DOCS)) + rm -f build/catalog.xml # Output format targets pdf:: $(patsubst %,$(PDFDIR)/%.pdf,$(MAIN_DOCS)) -dvi:: $(patsubst %,$(DVIDIR)/%.dvi,$(MAIN_DOCS)) ps:: $(patsubst %,$(PSDIR)/%.ps,$(MAIN_DOCS)) txt:: $(patsubst %,$(TXTDIR)/%.txt,$(MAIN_DOCS)) -txt-chunks:: $(addsuffix -txt-chunks,$(MAIN_DOCS)) -fo:: $(patsubst %,$(FODIR)/%.fo,$(MAIN_DOCS)) -fo-pdf:: $(patsubst %,$(FOPDFDIR)/%.pdf,$(MAIN_DOCS)) tex:: $(addsuffix .tex,$(MAIN_DOCS)) texi:: $(patsubst %,$(TEXINFODIR)/%.texi,$(MAIN_DOCS)) texiinfo:: $(patsubst %,$(TEXINFODIR)/%.info,$(MAIN_DOCS)) @@ -114,7 +104,7 @@ $(HTMLDIR)/index.html: htmldocs.html @mkdir -p $(@D) cp $< $@ -$(HTMLDIR)/%/index.html: $(DOCBOOKDIR)/%.xml $(HTMLDIR)/%/samba.css xslt/html-chunk.xsl %-images-html-chunks +$(HTMLDIR)/%/index.html: $(DOCBOOKDIR)/%.xml $(HTMLDIR)/%/samba.css xslt/html-chunk.xsl @mkdir -p $(@D) $(XSLTPROC) --stringparam base.dir "$(HTMLDIR)/$*/" xslt/html-chunk.xsl $< @@ -123,7 +113,16 @@ $(OUTPUTDIR)/%/samba.css: xslt/html/samba.css @mkdir -p $(@D) cp $< $@ -$(patsubst %,$(HTMLDIR)/%.html,$(MAIN_DOCS)): $(HTMLDIR)/%.html: %-images-html-single +$(patsubst %,$(HTMLDIR)/%.html,$(MAIN_DOCS)): $(HTMLDIR)/%.html: %-images-png + +define IMAGES_TEMPLATE +$(1)-images-png:: $$(patsubst %.svg,%.png,$$(wildcard $(1)/images/*.svg)) ; +$(1)-images-eps:: $$(patsubst %.svg,%.eps,$$(wildcard $(1)/images/*.svg)) ; +$(1)-images-eps:: $$(patsubst %.png,%.eps,$$(wildcard $(1)/images/*.png)) ; + +endef + +$(eval $(foreach DOC, $(MAIN_DOCS),$(call IMAGES_TEMPLATE,$(DOC)))) $(HTMLDIR)/%.html: $(DOCBOOKDIR)/%.xml $(HTMLDIR)/samba.css xslt/html.xsl $(XSLTPROC) --output $@ xslt/html.xsl $< @@ -143,103 +142,26 @@ $(TXTDIR)/%.txt: $(HTMLDIR)/%.html %.tex: %/index.xml xslt/latex.xsl @echo "Generating $@..." @mkdir -p $(@D) - @$(XSLTPROC) $(DB2LATEX_ARGS) --stringparam latex.imagebasedir "$*/" --xinclude --output $@ xslt/latex.xsl $< - -latexfigures:: $(LATEX_FIGURES) - -$(PDFDIR)/%.pdf: %.pdf - @mkdir -p $(@D) - cp $< $@ + @$(DBLATEX) $(DBLATEX_OPTIONS) -t tex -o $@ $< -%.idx: %.tex latexfigures - -$(PDFLATEX) $< - -%.ind: %.idx - $(MAKEINDEX) $< - -# Dependency files -%.d: $(DOCBOOKDIR)/%.xml xslt/generate-dependencies.xsl - @echo "Generating dependency file for $*" - @$(XSLTPROC) --novalid \ - --stringparam txtbasedir "$(TXTDIR)/$*/" \ - --stringparam target "$*" \ - -o $@ xslt/generate-dependencies.xsl $< - @echo "$*-images-latex-svg = \$$(wildcard \$$(addsuffix .svg, \$$($*-images-latex)))" >> $@ - @echo "$*-images-latex-eps: \$$(addsuffix .eps, \$$($*-images-latex))" >> $@ - @echo "$*-images-latex-pdf: \$$(patsubst %.svg, %.pdf, \$$($*-images-latex-svg))" >> $@ - @echo "$*-images-latex-png: \$$(filter-out \$$(patsubst %.svg,%.png,\$$($*-images-latex-svg)), \$$(addsuffix .png, \$$($*-images-latex)))" >> $@ - - @echo >> $@ - @echo "\$$(HTMLDIR)/%: $*/%" >> $@ - @echo " @mkdir -p \$$(@D)" >> $@ - @echo " @cp \$$< \$$@" >> $@ - @echo >> $@ - @echo "\$$(HTMLDIR)/$*/%: $*/%" >> $@ - @echo " @mkdir -p \$$(@D)" >> $@ - @echo " @cp \$$< \$$@" >> $@ - @echo >> $@ - @echo "\$$(HTMLHELPDIR)/$*/%: $*/%" >> $@ - @echo " @mkdir -p \$$(@D)" >> $@ - @echo " @cp \$$< \$$@" >> $@ - @echo >> $@ - @echo "$*-images-html-single: \$$(addprefix \$$(HTMLDIR)/, \$$($*-images-html))" >> $@ - @echo "$*-images-html-chunks: \$$(addprefix \$$(HTMLDIR)/$*/, \$$($*-images-html))" >> $@ - @echo "$*-images-htmlhelp: \$$(addprefix \$$(HTMLHELPDIR)/$*/, \$$($*-images-html))" >> $@ - -ifdef OUTPUTDIR -ifneq ($(MAKECMDGOALS),clobber) --include $(addsuffix .d,$(MAIN_DOCS)) -endif -endif +# Adobe PDF files +$(PDFDIR)/%.pdf: %/index.xml $(PDFDIR) xslt/latex.xsl %-images-png + $(DBLATEX) $(DBLATEX_OPTIONS) -I $*/images -t pdf -o $@ $< -# Adobe PDF files -%.pdf: %.tex %.ind latexfigures %-images-latex-png %-images-latex-pdf - -$(PDFLATEX) $< - -$(PDFLATEX) $< - -$(PDFLATEX) $< - -$(PDFLATEX) $< - $(THUMBPDF) --quiet $*.pdf - -$(PDFLATEX) $< - -# DVI files -$(DVIDIR)/%.dvi: %.dvi - @mkdir -p $(@D) - cp $< $@ - -%.dvi: %.tex %.idx %-images-latex-eps - -$(LATEX) $< +# PostScript files +$(PSDIR)/%.ps: %/index.xml $(PSDIR) xslt/latex.xsl %-images-eps + $(DBLATEX) $(DBLATEX_OPTIONS) -I $*/images -t ps -o $@ $< %.eps: %.svg - $(INKSCAPE) -z -f $< --export-eps=$@ + $(INKSCAPE) -z -f $(abspath $<) --export-eps=$(abspath $@) %.png: %.svg - $(INKSCAPE) -z -f $< --export-png=$@ - -#%.pdf: %.svg -# $(INKSCAPE) -z -f $< --export-pdf=$@ - -%.pdf: %.eps - $(EPSTOPDF) $< + $(INKSCAPE) -z -f $(abspath $<) --export-png=$(abspath $@) %.eps: %.png $(PNGTOPNM) $< | $(PNMTOPS) > $@ -# PostScript files -$(PSDIR)/%.ps: $(DVIDIR)/%.dvi - @mkdir -p $(@D) - $(DVIPS) -o $@ $< - -# Fo -$(FODIR)/%.fo: $(DOCBOOKDIR)/%.xml - @mkdir -p $(@D) - $(XSLTPROC) --output $@ xslt/fo.xsl $< - -# PDF thru Fo -$(FOPDFDIR)/%.pdf: $(FODIR)/%.fo - @mkdir -p $(@D) - JAVA_OPTS=-Xmx250m $(FOP) -q -d $< -pdf $@ - -$(HTMLHELPDIR)/%: $(DOCBOOKDIR)/%.xml %-images-htmlhelp +$(HTMLHELPDIR)/%: $(DOCBOOKDIR)/%.xml %-images-png $(XSLTPROC) --stringparam htmlhelp.chm $*.chm \ --stringparam manifest.in.base.dir "$@/" \ --stringparam base.dir "$@/" \ @@ -259,7 +181,15 @@ $(TEXINFODIR)/%.info: $(TEXINFODIR)/%.texi $(MAKEINFO) --no-validate --force -o $@ "$<" # Manpages -$(MANPAGEDIR3)/smb.conf.5.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/parameters.service.xml $(SMBDOTCONFDOC)/parameters.global.xml +$(MANPAGEDIR3)/smb.conf.5.xml: parameters + +# The phony parameters target exists in order to always create the +# the parameters xml files. Otherwise, when parameters.*.xml does not exist +# yet, the parameters are not generated when smb.conf.5.xml is newer than +# any smbdotconf/*/*.xml file ... +.PHONY: parameters + +parameters: $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/parameters.service.xml $(SMBDOTCONFDOC)/parameters.global.xml $(SMBDOTCONFDOC)/parameters.all.xml: $(wildcard $(SMBDOTCONFDOC)/*/*.xml) $(SMBDOTCONFDOC)/generate-file-list.sh $(SMBDOTCONFDOC)/generate-file-list.sh $(SMBDOTCONFDOC) > $@ @@ -272,6 +202,9 @@ $(SMBDOTCONFDOC)/parameters.service.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(S @echo "Generating list of share-mode smb.conf options" $(XSLTPROC) --xinclude --param smb.context "'S'" --output $(SMBDOTCONFDOC)/parameters.service.xml $(SMBDOTCONFDOC)/generate-context.xsl $< +$(OUTPUTDIR): + test -d $@ || mkdir $@ + $(OUTPUTDIR)/%: $(DOCBOOKDIR)/%.xml xslt/man.xsl @mkdir -p $(@D) $(XSLTPROC) --output $@ xslt/man.xsl $< @@ -302,7 +235,7 @@ undocumented: $(SMBDOTCONFDOC)/parameters.all.xml scripts/find_missing_doc.pl sc $(PERL) scripts/find_missing_manpages.pl $(SRCDIR) samples: $(DOCBOOKDIR)/Samba3-HOWTO.xml xslt/extract-examples.xsl scripts/indent-smb.conf.pl - @mkdir -p $(EXAMPLESDIR) + @mkdir -p examples $(XSLTPROC) --xinclude xslt/extract-examples.xsl $< > /dev/null 2> examples/README for I in examples/*.conf; do { ./scripts/indent-smb.conf.pl < $$I > $$I.tmp; mv $$I.tmp $$I; } done @@ -315,18 +248,15 @@ archive: pdf # XSL scripts xslt/html.xsl: xslt/html-common.xsl xslt/html-chunk.xsl: xslt/html-common.xsl -xslt/latex.xsl: -xslt/expand-sambadoc.xsl: -xslt/generate-attributions.xsl: -xslt/man.xsl: -xslt/pearson.xsl: distclean clobber:: clean - rm Makefile.settings config.status config.log configure - rm -rf autom4te.cache + rm -f Makefile.settings config.status config.log +realdistclean:: distclean + rm -f configure + rm -rf autom4te.cache + rm -rf output # Always keep intermediate files if we can .SECONDARY: -.PHONY: clean clobber archive release everything all latexfigures - +.PHONY: clean clobber archive release everything all