
# quick stab at a Makefile
# danbri@w3.org


#XSLT=xsltproc 
#note that we later pass args to XSLT and this is engine-specific commandline
#syntax. 
#for eg., this is xsltproc's way of doing things:
#	$(XSLT) --stringparam group no fopl.html.xsl po-fopl.xml > po-fopl.txt
#

XSLT=sabcmd

all:	po-all ifx-all

clean:	po-clean ifx-clean


##################### PURCHASE ORDER EXAMPLE ###############################

po-all: 	po-fopl po-rdf po-java

po-check:  po-checkrdf

po-psvi.xml: po.xml po.xsd infoset-r.dtd
	xsv -r alt po.xml po.xsd | cat infoset-r.dtd - > po-psvi.xml

po-mapped.xml: po-psvi.xml infoset-r.xsl
	$(XSLT) infoset-r.xsl po-psvi.xml  > po-mapped.xml


po-clean:
	rm -f po-mapped.xml po-psvi.xml
	rm -f po-mapped.xml po.java
	rm -f po-mapped.xml po-rdf.nt
	rm -f po-mapped.xml po-fopl.xml po-fopl.html po-fopl.txt
		

po-checkrdf: po-rdf
	rdfdump --ntriples file:po-rdf.nt



#### Generate Java src

#saxon po-mapped.xml javaInit.xsl > po.java

po-java:	po.java

po.java:	javaInit.xsl po-mapped.xml
	$(XSLT) javaInit.xsl po-mapped.xml > po.java



#### Generate logical assertions 

po-fopl:	po-fopl.xml po-fopl.txt po-fopl.html

po-fopl.xml: logicOut.xsl po-mapped.xml
	$(XSLT)  logicOut.xsl po-mapped.xml > po-fopl.xml

po-fopl.html:	po-fopl.xml fopl.html.xsl
	$(XSLT) fopl.html.xsl po-fopl.xml group=no > po-fopl.html

po-fopl.txt:	po-fopl.xml fopl.txt.xsl
	$(XSLT) fopl.html.xsl po-fopl.xml group=no > po-fopl.txt



#### Generate RDF graphs (as NTriples)

po-rdf:	po-rdf.nt

po-rdf.nt:	rdfOut.xsl po-mapped.xml
	$(XSLT)  rdfOut.xsl po-mapped.xml > po-rdf.nt






##################################################################################
#
# 		IFX EXAMPLE


ifx-all: 	ifx-fopl ifx-rdf ifx-java

ifx-check:  ifx-checkrdf

ifx-clean:
	rm -f ifx-mapped.xml ifx-psvi.xml
	rm -f ifx-mapped.xml ifx.java
	rm -f ifx-mapped.xml ifx-rdf.nt
	rm -f ifx-mapped.xml ifx-fopl.xml ifx-fopl.html ifx-fopl.txt
		

ifx-checkrdf: ifx-rdf
	rdfdump --ntriples file:ifx-rdf.nt

ifx-psvi.xml: ifx.xml ifx.xsd infoset-r.dtd
	xsv -r alt ifx.xml ifx.xsd | cat infoset-r.dtd - > ifx-psvi.xml

ifx-mapped.xml: ifx-psvi.xml infoset-r.xsl
	$(XSLT) infoset-r.xsl ifx-psvi.xml  > ifx-mapped.xml




#### Generate Java src

ifx-java:	ifx.java

ifx.java:	javaInit.xsl ifx-mapped.xml
	$(XSLT) javaInit.xsl ifx-mapped.xml > ifx.java



#### Generate logical assertions 

ifx-fopl:	ifx-fopl.xml ifx-fopl.txt ifx-fopl.html

ifx-fopl.xml: logicOut.xsl ifx-mapped.xml
	$(XSLT)  logicOut.xsl ifx-mapped.xml > ifx-fopl.xml

ifx-fopl.html:	ifx-fopl.xml fopl.html.xsl
	$(XSLT) fopl.html.xsl ifx-fopl.xml group=no > ifx-fopl.html

ifx-fopl.txt:	ifx-fopl.xml fopl.txt.xsl
	$(XSLT) fopl.html.xsl ifx-fopl.xml group=no > ifx-fopl.txt



#### Generate RDF graphs (as NTriples)

ifx-rdf:	ifx-rdf.nt

ifx-rdf.nt:	rdfOut.xsl ifx-mapped.xml
	$(XSLT)  rdfOut.xsl ifx-mapped.xml > ifx-rdf.nt

