2 # This makefile does a "smoketest" of stylesheets for various
3 # output formats in the DocBook XSL Stylesheets release package.
4 # It doesn't actually check the output -- it's just useful for
5 # confirming whether each XSLT transformation actually executes
6 # successfully without any errors.
8 # To use it, run "make check" or just "make"
13 TESTFILE=tests/refentry.007.xml
14 TESTFILE_NS=tests/refentry.007.ns.xml
16 NORMAL_STYLES=fo/docbook.xsl html/docbook.xsl xhtml/docbook.xsl
17 NORMAL_PROFILE_STYLES=fo/profile-docbook.xsl html/profile-docbook.xsl xhtml/profile-docbook.xsl
18 CHUNK_STYLES=html/chunk.xsl html/onechunk.xsl xhtml/chunk.xsl xhtml/onechunk.xsl
19 HELP_STYLES=htmlhelp/htmlhelp.xsl javahelp/javahelp.xsl eclipse/eclipse.xsl
20 MULTIFILE_STYLES=$(CHUNK_STYLES) $(HELP_STYLES)
21 CHUNK_PROFILE_STYLES=html/profile-chunk.xsl html/profile-onechunk.xsl xhtml/profile-chunk.xsl xhtml/profile-onechunk.xsl
22 HELP_PROFILE_STYLES=htmlhelp/profile-htmlhelp.xsl eclipse/profile-eclipse.xsl javahelp/profile-javahelp.xsl
23 MULTIFILE_PROFILE_STYLES=$(CHUNK_PROFILE_STYLES) $(HELP_PROFILE_STYLES)
25 MAN_STYLE=manpages/docbook.xsl
26 MAN_PROFILE_STYLE=manpages/profile-docbook.xsl
28 TWO_PROFILE_STYLE=profiling/profile.xsl
30 ROUNDTRIP_STYLES=roundtrip/dbk2ooo.xsl roundtrip/dbk2pages.xsl roundtrip/dbk2wordml.xsl
31 SLIDES_STYLES=slides/html/default.xsl slides/xhtml/default.xsl slides/fo/plain.xsl
32 WEBSITE_STYLES=website/website.xsl
33 WEBSITE_CHUNK_STYLES=website/chunk-website.xsl
35 # chunked output gets written to TMP_OUTPUT_DIR
36 TMP_OUTPUT_DIR=/tmp/smoketest-output/
37 # if you don't want TMP_OUTPUT_DIR and its contents deleted, unset
38 # SMOKETEST_CLEAN_TARGET; e.g. "make check SMOKETEST_CLEAN_TARGET=''"
39 SMOKETEST_CLEAN_TARGET=smoketest-clean
41 check: tests smoketest-make-tmp-dir smoketest-normal smoketest-normal-profile smoketest-chunk smoketest-chunk-profile smoketest-man smoketest-man-profile smoketest-two-profile $(SMOKETEST_CLEAN_TARGET)
47 smoketest-make-tmp-dir:
48 $(RM) -r $(TMP_OUTPUT_DIR)
49 mkdir '$(TMP_OUTPUT_DIR)'
52 for stylesheet in $(NORMAL_STYLES); do \
53 echo "$(XSLT) $(TESTFILE) $$stylesheet > /dev/null"; \
54 $(XSLT) $(TESTFILE) $$stylesheet > /dev/null; \
55 echo "$(XSLT) $(TESTFILE_NS) $$stylesheet > /dev/null"; \
56 $(XSLT) $(TESTFILE_NS) $$stylesheet > /dev/null; \
59 smoketest-normal-profile:
60 for stylesheet in $(NORMAL_PROFILE_STYLES); do \
61 echo "$(XSLT) $(TESTFILE) $$stylesheet > /dev/null"; \
62 $(XSLT) $(TESTFILE) $$stylesheet > /dev/null; \
63 echo "$(XSLT) $(TESTFILE_NS) $$stylesheet > /dev/null"; \
64 $(XSLT) $(TESTFILE_NS) $$stylesheet > /dev/null; \
68 for stylesheet in $(MULTIFILE_STYLES) ; do \
69 echo "$(XSLT) $(TESTFILE) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR)" ; \
70 $(XSLT) $(TESTFILE) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR) ; \
71 echo "$(XSLT) $(TESTFILE_NS) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR)" ; \
72 $(XSLT) $(TESTFILE_NS) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR) ; \
75 smoketest-chunk-profile:
76 for stylesheet in $(MULTIFILE_PROFILE_STYLES) ; do \
77 echo "$(XSLT) $(TESTFILE) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR)" ; \
78 $(XSLT) $(TESTFILE) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR) ; \
79 echo "$(XSLT) $(TESTFILE_NS) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR)" ; \
80 $(XSLT) $(TESTFILE_NS) $$stylesheet manifest.in.base.dir=1 base.dir=$(TMP_OUTPUT_DIR) ; \
84 $(XSLT) $(TESTFILE) $(MAN_STYLE) man.output.in.separate.dir=1 man.output.base.dir=$(TMP_OUTPUT_DIR) ; \
85 $(XSLT) $(TESTFILE_NS) $(MAN_STYLE) man.output.in.separate.dir=1 man.output.base.dir=$(TMP_OUTPUT_DIR) ;
87 smoketest-man-profile:
88 $(XSLT) $(TESTFILE) $(MAN_PROFILE_STYLE) man.output.in.separate.dir=1 man.output.base.dir=$(TMP_OUTPUT_DIR) ; \
89 $(XSLT) $(TESTFILE_NS) $(MAN_PROFILE_STYLE) man.output.in.separate.dir=1 man.output.base.dir=$(TMP_OUTPUT_DIR) ;
91 smoketest-two-profile:
92 $(XSLT) $(TESTFILE_NS) $(TWO_PROFILE_STYLE) > /dev/null ;
95 $(RM) -r $(TMP_OUTPUT_DIR)