From: Michael Smith Date: Mon, 3 Mar 2008 09:20:29 +0000 (+0000) Subject: various changes and additions to support making with asciidoc as X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=139afce125c95224e96be0bf848d8362a8df9be0;p=docbook-dsssl various changes and additions to support making with asciidoc as an input format --- diff --git a/xsl/tools/make/Makefile.DocBook b/xsl/tools/make/Makefile.DocBook index 80f41e76c..72caaed9c 100644 --- a/xsl/tools/make/Makefile.DocBook +++ b/xsl/tools/make/Makefile.DocBook @@ -30,7 +30,7 @@ # # That would generate just HTML (unchunked) and plain-text output. # -DOCBOOK_OUTPUT_FORMATS ?= man chunk txt pdf +DOCBOOK_OUTPUT_FORMATS ?= xml man man-pdf chunk txt pdf # If you want XHTML output instead of HTML, set HTML_OR_XHTML to # 'xhtml' or just specify 'xhtml" in DOCBOOK_OUTPUT_FORMATS. @@ -40,6 +40,10 @@ else HTML_OR_XHTML ?= xhtml endif +# if your source is in asciidoc instead of DocBook, set +# ASCII_OR_DOCBOOK to "ascii" +ASCII_OR_DOCBOOK ?= docbook + # ----------------------------------------------------------------- # *** TOOLS and other DEPENDENCIES *** # ----------------------------------------------------------------- @@ -102,6 +106,15 @@ MAN_FLAGS = PS2PDF = ps2pdf PS2PDF_FLAGS = +# asciidoc is used to generate DocBook XML from asciidoc source +ASCIIDOC=asciidoc +ASCIIDOCFLAGS= + +# asciidoc source seems to have DOS line endings, so we use +# DOS2UNIX to be able to grep them correctly +DOS2UNIX=dos2unix +DOS2UNIXFLAGS= + # The "col" command is needed for stripping backspaces and # underscores from man(1) output to get pure plain-text COL = col @@ -175,10 +188,14 @@ DOCBOOK_FILE_EXTENSION = .xml # the values of the following are used for determing what needs # to be built and/or cleaned up +ifeq ($(ASCII_OR_DOCBOOK),docbook) SOURCE_FILES_DBK = $(wildcard *$(DOCBOOK_FILE_EXTENSION)) +else +SOURCE_FILES_DBK = $(foreach base,$(basename $(wildcard *.txt)),$(base)$(DOCBOOK_FILE_EXTENSION)) +endif FILES_FO = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).fo) -FILES_TXT = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).txt) +FILES_TXT = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).out.txt) FILES_PDF = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).pdf) FILES_LOG = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).log) FILES_OUT = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).out) @@ -190,8 +207,8 @@ LISTS_HTML = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).$(HTML_MANIF LISTS_MAN = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).$(MAN_MANIFEST_EXT)) FILES_CHNK = $(shell for manifest in $(LISTS_HTML); do if [ -f "$$manifest" ]; then cat $$manifest; fi done) FILES_MAN = $(shell for manifest in $(LISTS_MAN); do if [ -f "$$manifest" ]; then cat $$manifest; fi done) -FILES_MANP = $(foreach base,$(FILES_MAN),$(base).pdf) -FILES_MANT = $(foreach base,$(FILES_MAN),$(base).txt) +FILES_MANP = $(foreach base,$(FILES_MAN),$(base).man.pdf) +FILES_MANT = $(foreach base,$(FILES_MAN),$(base).out.txt) DIRS_MAN = $(shell for file in $(FILES_MAN); do dirname $$file; done | uniq) # ----------------------------------------------------------------- @@ -366,6 +383,8 @@ MAN_CUSTOM := 1 || $$LINECOUNT2 > 1 ]]; then \ + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d book -b docbook $<; \ + else \ + $(ASCIIDOC) $(ASCIIDOCFLAGS) -b docbook $<; \ + fi # ----------------------------------------------------------------- # pattern rule for making (X)HTML and plain-text output @@ -397,7 +460,7 @@ debug: %.html: %$(DOCBOOK_FILE_EXTENSION) @echo '$(HTML_CUSTOM)' | $(XSLT) $(XSLT_FLAGS) $(HTML_PARAMS) - $< > $@ -%.txt: %.html +%.out.txt: %.html $(TXT_MAKER) $(TXT_MAKER_FLAGS) ./$< \ | sed "s/^\(\s\+[0-9]\+\. \)file:\/\/.\+$$/\\1(local)/g" \ | egrep -v '^ file:///.+$$' \ @@ -505,31 +568,31 @@ endif # ----------------------------------------------------------------- # pattern rules for making Postscript/PDF output from man pages # ----------------------------------------------------------------- -%.1.ps: %.1 +%.1.man.ps: %.1 $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ -%.2.ps: %.2 +%.2.man.ps: %.2 $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ -%.3.ps: %.3 +%.3.man.ps: %.3 $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ -%.4.ps: %.4 +%.4.man.ps: %.4 $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ -%.5.ps: %.5 +%.5.man.ps: %.5 $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ -%.6.ps: %.6 +%.6.man.ps: %.6 $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ -%.7.ps: %.7 +%.7.man.ps: %.7 $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ -%.8.ps: %.8 +%.8.man.ps: %.8 $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ -%.9.ps: %.9 +%.9.man.ps: %.9 $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ # ----------------------------------------------------------------- @@ -541,31 +604,31 @@ endif # ----------------------------------------------------------------- # pattern rules for making plain-text output from man pages # ----------------------------------------------------------------- -%.1.txt: %.1 +%.1.out.txt: %.1 $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ -%.2.txt: %.2 +%.2.out.txt: %.2 $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ -%.3.txt: %.3 +%.3.out.txt: %.3 $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ -%.4.txt: %.4 +%.4.out.txt: %.4 $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ -%.5.txt: %.5 +%.5.out.txt: %.5 $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ -%.6.txt: %.6 +%.6.out.txt: %.6 $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ -%.7.txt: %.7 +%.7.out.txt: %.7 $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ -%.8.txt: %.8 +%.8.out.txt: %.8 $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ -%.9.txt: %.9 +%.9.out.txt: %.9 $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ # ----------------------------------------------------------------- @@ -630,3 +693,6 @@ endif ifneq ($(LISTS_HTML),) $(RM) $(LISTS_HTML) endif +ifneq ($(ASCII_OR_DOCBOOK),docbook) + $(RM) -i $(SOURCE_FILES_DBK) +endif