# $Id: Makefile,v 1.1 2007/03/01 22:01:53 connolly Exp $
W=../../..
PD=$(W)/2001/02pd

include $(PD)/XSLTPROC.mak
include $(PD)/GVDOT.mak # $(DOT), $(PS2PDF)

PYTHON=python
SWAP=$(W)/2000/10/swap
CWM=$(SWAP)/cwm.py

.SUFFIXES: .xgraph .dot

.xgraph.dot:
	PYTHONPATH=\$PYTHONPATH:$(SWAP)/.. $(PYTHON) $(SWAP)/rdf2dot.py $< >$@


####################
# Normative-only view
spec_lean.html: spec.html normonly.xsl
	$(XSLTPROC) -o $@ normonly.xsl spec.html

##################
# Mechanical Rules
test-rules: grddl-rule-test-result.n3
prove-rules: grddl-rule-test-pf.txt

grddl-rule-tests.n3: grddl-rule-tests-in.n3
	$(PYTHON) $(CWM) grddl-rule-tests-in.n3 owlAx.n3 \
		--think --purge --n3=d>$@

GRDDLVOCAB=$(W)/2003/g/data-view.rdf

grddl-rule-test-result.n3: grddl-rule-tests.n3 grddl-rules3.n3 $(GRDDLVOCAB) grddl-rule-goal.n3 owlAx.n3
	$(PYTHON) $(CWM) grddl-rule-tests.n3 $(GRDDLVOCAB) grddl-rules3.n3 owlAx.n3 \
		--think  --n3=d>$@
#@@		--think  --filter=grddl-rule-goal.n3 --n3=d>$@

grddl-rule-test-pf.txt: grddl-rule-test-pf.n3
	$(PYTHON) $(SWAP)/check.py --report grddl-rule-test-pf.n3 >$@


grddl-rule-test-pf.n3: grddl-rule-tests.n3 grddl-rules3.n3 grddl-rule-goal.n3 $(GRDDLVOCAB) 
	$(PYTHON) $(CWM) grddl-rule-tests.n3 grddl-rules3.n3 $(GRDDLVOCAB) owlAx.n3 \
		--think  --filter=grddl-rule-goal.n3 --why=g --n3=d >$@

grddl-rules3.n3: spec.html spec_rules.html txrulesn3.xsl
	$(XSLTPROC) --novalid --output $@ txrulesn3.xsl spec.html

#DAWG=$(W)/2001/sw/DataAccess
#grddl-rules2.n3: grddl-rules.xml $(DAWG)/mathmlRules.xsl
#	$(XSLTPROC) --novalid --output $@ $(DAWG)/mathmlRules.xsl grddl-rules.xml

#grddl-rules.xml: spec.html txrules.xsl
#	$(XSLTPROC) --novalid --output $@ txrules.xsl spec.html

####################
# Reference Auditing
spec_fixrefs.html: spec.html fixrefs.xsl
	$(XSLTPROC) -o $@ fixrefs.xsl spec.html


##########
# Diagrams

diagrams: figMeta figGlean figMultiTxform figTitleAuthor \
	figGleanNsDoc figGleanPO figGleanProfile

figMeta: figMeta.svg figMeta.png

figMeta.xgraph: figMeta.n3 txformDiagram.n3
	$(PYTHON) $(CWM) figMeta.n3 txformDiagram.n3 --think --data >$@

figGlean: figGlean.svg figGlean.png
figGlean.xgraph: figGlean.n3 txformDiagram.n3
	$(PYTHON) $(CWM) figGlean.n3 txformDiagram.n3 --think --data >$@


fighCalendar: fighCalendar.svg fighCalendar.png
fighCalendar.xgraph: fighCalendar.n3 txformDiagram.n3
	$(PYTHON) $(CWM) fighCalendar.n3 txformDiagram.n3 --think --data >$@


figMultiTxform: figMultiTxform.svg figMultiTxform.png
figMultiTxform.xgraph: figMultiTxform.n3 txformDiagram.n3
	$(PYTHON) $(CWM) figMultiTxform.n3 txformDiagram.n3 --think --data >$@

figTitleAuthor: figTitleAuthor.svg figTitleAuthor.png
figTitleAuthor.xgraph: figTitleAuthor.n3 txformDiagram.n3
	$(PYTHON) $(CWM) figTitleAuthor.n3 txformDiagram.n3 --think --data >$@

figGleanProfile: figGleanProfile.svg figGleanProfile.png
figGleanProfile.xgraph: figGleanProfile.n3 txformDiagram.n3
	$(PYTHON) $(CWM) figGleanProfile.n3 txformDiagram.n3 --think --data >$@

figGleanNsDoc: figGleanNsDoc.svg figGleanNsDoc.png
figGleanNsDoc.xgraph: figGleanNsDoc.n3 txformDiagram.n3
	$(PYTHON) $(CWM) figGleanNsDoc.n3 txformDiagram.n3 --think --data >$@

figGleanPO: figGleanPO.svg figGleanPO.png
figGleanPO.xgraph: figGleanPO.n3 txformDiagram.n3
	$(PYTHON) $(CWM) figGleanPO.n3 txformDiagram.n3 --think --data >$@

