VPATH=..
PARAM=

.SUFFIX: .txt .xsl .html .xml

TEXT=elemtest.txt schemaelemtest.txt sequences.txt forexpr.txt instanceof.txt \
     castas.txt castableas.txt castableas2.txt valuecomp.txt types.txt types3.txt \
     collation.txt matches.txt funcres.txt ecount.txt funcex.txt funcex2.txt sequences2.txt \
     formatdate.txt charmap2.txt extfunc.txt

HTML=nodecomp.html regexex.html nextmatch.html charmap1-out1.html charmap1-out2.html \
     group-1-results.html group-2-results.html group-3-results.html group-4-results.html extfunc.html usewhen.html \
     data2xml-1.html data2xml-2.html data2xml-3.html data2xml-4.html \
     data2xml-5.html data2xml.html writerecipe.html pipeline.html

all: $(TEXT) $(HTML)

%.txt:%.xsl myRecipes.xml
	saxon -8a -val ../myRecipes.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

%.html:%.xsl myRecipes.xml
	saxon -8a -val ../myRecipes.xml $< $@ $(PARAM)

castableas2.txt: castableas.xsl myRecipes.xml
	saxon -8a -val ../myRecipes.xml $< $@ servings=50 $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

types.txt: types.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

types3.txt: types3.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

collation.txt: collation.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

matches.txt: matches.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

funcres.txt: funcres.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

ecount.txt: ecount.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

sequences.txt: sequences.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

sequences2.txt: sequences2.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

regexex.html: regexex.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

funcex.txt: funcex.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

funcex2.txt: funcex2.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

formatdate.txt: formatdate.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html

group-1-results.html: group-1-data.xml group-1-code.xsl
	saxon -8a $^ /tmp/out.xml
	saxon /tmp/out.xml ../colorize.xsl $@ title="Grouping Results"

group-2-results.html: group-2-data.xml group-2-code.xsl
	saxon -8a $^ /tmp/out.xml
	saxon /tmp/out.xml ../colorize.xsl $@ title="Grouping Results"

group-3-results.html: group-3-data.xml group-3-code.xsl
	saxon -8a $^ /tmp/out.xml
	saxon /tmp/out.xml ../colorize.xsl $@ title="Grouping Results"

group-4-results.html: group-4-data.xml group-4-code.xsl
	saxon -8a $^ /tmp/out.xml
	saxon /tmp/out.xml ../colorize.xsl $@ title="Grouping Results"

charmap1-out1.html: charmap1-out1.xml ../colorize.xsl
	saxon $< ../colorize.xsl $@ title="Character Mapping 1"

charmap1-out2.html: charmap1-out2.xml ../colorize.xsl
	saxon $< ../colorize.xsl $@ title="Character Mapping 2"
	cp charmap1-out2.html.SAVE charmap1-out2.html

charmap2.txt: charmap2.xsl
	saxon -8a ../null.xml $< $@ $(PARAM)
	cat ../txt.preamble.html $@ ../txt.postamble.html > `basename $@ .txt`.html
	cp charmap2.html.SAVE charmap2.html

extfunc.txt: extfunc.xsl
	CLASSPATH=../../../GCDistance/dist/GCDistance.jar saxon $< $< $@

extfunc.html: extfunc.txt
	cat ../txt.preamble.html $< ../txt.postamble.html > $@

usewhen.txt: usewhen.xsl
	saxon $< $< $@

usewhen.html: usewhen.txt
	cat ../txt.preamble.html $< ../txt.postamble.html > $@

data2xml-1.html: data2xml-1.txt
	cat ../txt.preamble.html $< ../txt.postamble.html > $@

data2xml-1.txt: data2xml-1.xml
	sed "s/</\&lt;/g" < $< > $@

data2xml-1.xml: data2xml-1.xsl
	saxon $< $< $@

data2xml-2.html: data2xml-2.txt
	cat ../txt.preamble.html $< ../txt.postamble.html > $@

data2xml-2.txt: data2xml-2.xml
	sed "s/</\&lt;/g" < $< > $@

data2xml-2.xml: data2xml-2.xsl
	saxon $< $< $@

data2xml-3.html: data2xml-3.txt
	cat ../txt.preamble.html $< ../txt.postamble.html > $@

data2xml-3.txt: data2xml-3.xml
	sed "s/</\&lt;/g" < $< > $@

data2xml-3.xml: data2xml-3.xsl
	saxon $< $< $@

data2xml-4.html: data2xml-4.txt
	cat ../txt.preamble.html $< ../txt.postamble.html > $@

data2xml-4.txt: data2xml-4.xml
	sed "s/</\&lt;/g" < $< > $@

data2xml-4.xml: data2xml-4.xsl
	saxon $< $< $@

data2xml-5.html: data2xml-5.txt
	cat ../txt.preamble.html $< ../txt.postamble.html > $@

data2xml-5.txt: data2xml-5.xml
	sed "s/</\&lt;/g" < $< > $@

data2xml-5.xml: data2xml-5.xsl
	saxon $< $< $@

data2xml.html: data2xml.txt
	cat ../txt.preamble.html $< ../txt.postamble.html > $@

data2xml.txt: data2xml.xml
	sed "s/</\&lt;/g" < $< > $@

data2xml.xml: data2xml.xsl
	saxon $< $< $@

pipeline.txt: pipeline.xml
	sed "s/</\&lt;/g" < $< > $@

pipeline.html: pipeline.txt
	cat ../txt.preamble.html $< ../txt.postamble.html > $@

writerecipe.txt: writerecipe.txt.SAVE
	cp $< $@

writerecipe.html: writerecipe.txt
	cat ../txt.preamble.html $< ../txt.postamble.html > $@

clean:
	rm -f *.html *.txt
