# vim: set ts=8 sts=8 sw=8 ft=make: .POSIX: # Suffix rules .SUFFIXES: .SUFFIXES: \ .c .C .cc .cxx .cpp .o .so .bin \ .txt .adoc .asciidoc .docbook \ .md .mkd .markdown \ .html .tex .pdf # Defaults CP= cp RM= rm ASCIIDOC= asciidoc A2X= a2x MARKDOWN= markdown DBLATEX= dblatex PANDOC= pandoc # Eqivalent extensions .C.cpp: $(CP) "$<" "$@" .cc.cpp: $(CP) "$<" "$@" .cxx.cpp: $(CP) "$<" "$@" .txt.asciidoc: $(CP) "$<" "$@" .adoc.asciidoc: $(CP) "$<" "$@" .markdown.md: $(CP) "$<" "$@" .mkd.md: $(CP) "$<" "$@" .c.o: $(CC) -c $(CPPFLAGS) $(CFLAGS) "$<" -o "$@" .c.bin: $(CC) $(CPPFLAGS) $(CFLAGS) "$<" -o "$@" $(LDFLAGS) .cpp.o: $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) "$<" -o "$@" .cpp.bin: $(CXX) $(CPPFLAGS) $(CXXFLAGS) "$<" -o "$@" $(LDFLAGS) .md.html: $(MARKDOWN) $(MARKDOWN_FLAGS) < "$<" > "$@" USE_A2X= no ASCIIDOC_HTML_COMMAND= $(ASCIIDOC_HTML_COMMAND_$(USE_A2X)) ASCIIDOC_HTML_COMMAND_yes= \ $(A2X) -L -f xhtml $(A2X_FLAGS) "$<" ASCIIDOC_HTML_COMMAND_no= \ $(ASCIIDOC) $(ASCIIDOC_FLAGS) -o "$@" "$<" ASCIIDOC_HTML_COMMAND_true= $(ASCIIDOC_HTML_COMMAND_yes) ASCIIDOC_HTML_COMMAND_false= $(ASCIIDOC_HTML_COMMAND_no) ASCIIDOC_HTML_COMMAND_1= $(ASCIIDOC_HTML_COMMAND_yes) ASCIIDOC_HTML_COMMAND_0= $(ASCIIDOC_HTML_COMMAND_no) .asciidoc.html: $(ASCIIDOC_HTML_COMMAND) ASCIIDOC_PDF_FONT= AR PL UMing TW ASCIIDOC_PDF_COMMAND= $(ASCIIDOC_PDF_COMMAND_$(USE_A2X)) ASCIIDOC_PDF_COMMAND_yes= \ ( echo '<?xml version="1.0" encoding="iso-8859-1"?>'; \ echo '<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">'; \ echo ' <xsl:param name="xetex.font">'; \ echo ' <xsl:text>\usepackage{fontspec}'; \ echo ' </xsl:text>'; \ echo ' <xsl:text>\usepackage{xeCJK}'; \ echo ' </xsl:text>'; \ echo ' <xsl:text>\setCJKmainfont{$(ASCIIDOC_PDF_FONT)}'; \ echo ' </xsl:text>'; \ echo ' <xsl:text>\XeTeXlinebreaklocale "zh"'; \ echo ' </xsl:text>'; \ echo ' </xsl:param>'; \ echo '</xsl:stylesheet>'; ) > "$<-chinese.xsl" && \ $(A2X) -L -f pdf --dblatex-opts="-b xetex -P doc.publisher.show=0 -p $<-chinese.xsl $(DBLATEX_FLAGS)" $(A2X_FLAGS) "$<" && \ $(RM) "$<-chinese.xsl" ASCIIDOC_PDF_COMMAND_no= \ ( echo '\usepackage{fontspec}'; \ echo '\usepackage{xeCJK}'; \ echo '\setCJKmainfont{$(ASCIIDOC_PDF_FONT)}'; \ echo '\XeTeXlinebreaklocale "zh"'; ) > "$<-chinese.tex" && \ $(ASCIIDOC) -b docbook $(ASCIIDOC_FLAGS) -o "$<.docbook" "$<" && \ $(PANDOC) -f docbook -t latex --latex-engine=xelatex \ -H "$<-chinese.tex" $(PANDOC_FLAGS) -o "$@" "$<.docbook" && \ $(RM) "$<-chinese.tex" "$<.docbook" ASCIIDOC_PDF_COMMAND_true= $(ASCIIDOC_PDF_COMMAND_yes) ASCIIDOC_PDF_COMMAND_false= $(ASCIIDOC_PDF_COMMAND_no) ASCIIDOC_PDF_COMMAND_1= $(ASCIIDOC_PDF_COMMAND_yes) ASCIIDOC_PDF_COMMAND_0= $(ASCIIDOC_PDF_COMMAND_no) .asciidoc.pdf: $(ASCIIDOC_PDF_COMMAND) .asciidoc.tex: $(ASCIIDOC_PDF_COMMAND)