# $Id: Makefile,v 1.6 2002/11/06 18:48:02 connolly Exp $

# Notation3 makefile rules from
# http://www.w3.org/2001/02pd/Makefile
#	1.5 2001/02/26 19:55:00 
# and http://www.w3.org/2000/10/atrip/Makefile
#	1.3 2000/11/07 15:29:56 

PYTHON=python
WGET=wget
PERL=perl

WTOP=..
SWAP=$(WTOP)/2000/10/swap
CWM=$(SWAP)/cwm.py
PD=$(WTOP)/2001/02pd

include $(PD)/XSLTPROC.mak

.SUFFIXES: .n3 .rdf

.n3.rdf:
	$(PYTHON) $(CWM) -n3 $< -bySubject -rdf > $@



all: schemes.rdf schemes.html

schemes.rdf: schemes.n3 ,regCache.rdf scheme-registry-rules.n3 $(SWAP)/test/sameThing.n3 $(SWAP)/test/forgetDups.n3
	$(PYTHON) $(CWM) \
		--n3 schemes.n3 scheme-registry-rules.n3 \
			$(SWAP)/test/sameThing.n3 \
		--think \
		--apply=$(SWAP)/test/forgetDups.n3 --purge \
		--rdf=c --bySubject --base=bogus:/ >$@


schemes.html: schemes-gen.html schemes.rdf schemesIndex.xsl
	$(XSLTPROC) --novalid schemesIndex.xsl schemes-gen.html >$@

schemes-kb.n3: schemes.n3 scheme-filter.n3 rfc-index-1630on.rdf
	$(PYTHON) $(CWM) --rdf rfc-index-1630on.rdf \
		--n3 schemes.n3 \
		--filter=scheme-filter.n3 >$@

,regCache.rdf: ,regCache.txt grokURIReg.pl
	$(PERL) grokURIReg.pl ,regCache.txt >$@

,regCache.txt:
	$(WGET) -O $@ http://www.iana.org/assignments/uri-schemes

# RFC1630 is the first RFC relevant to the URI index...
rfc-index-1630on.rdf: rfc-index.txt $(PD)/rfcIndexGrok.pl
	$(PERL) $(PD)/rfcIndexGrok.pl 1630 <rfc-index.txt >$@

rfc-index.txt:
	$(WGET) ftp://ftp.isi.edu/in-notes/rfc-index.txt


######################### Makefile diagram

RMAP=$(WTOP)/2001/04/roadmap
include $(PD)/GVDOT.mak

make.n3 : Makefile $(SWAP)/util/make2n3.py
	PYTHONPATH=$(SWAP) $(PYTHON) $(SWAP)/util/make2n3.py Makefile > $@

makeDiagram.n3: make.n3 $(SWAP)/util/makeStyle.n3
	$(CWM) make.n3 $(SWAP)/util/makeStyle.n3 --think >$@

makeDiagram.rdf: makeDiagram.n3
	$(CWM) makeDiagram.n3 --base=bogus: --rdf=c >$@

.rdf.dot:
	$(XSLTPROC) --novalid  $(PD)/rdf2dot.xsl $< >$@

makeDiagram.svg: make.dot



# $Log: Makefile,v $
# Revision 1.6  2002/11/06 18:48:02  connolly
# added dict: per comment from Frank Ellermann of 06 Nov 2002 11:46:56 +0100
#
# Revision 1.5  2002/07/20 14:42:29  connolly
# makefile diagram
#
# Revision 1.4  2002/07/20 13:34:48  connolly
# changed template key from classid
#  on object to a distinguished attribute
#  name.
#
# went to local cache of IANA registry,
#   rather than indirecting thru Aaron's site.
#   updated pointer to IANA registry.
#
# switched from XT to XSLTPROC
#   had to use HTML output mode to get
#    the right default namespace
#   schemes.html is no longer XML WF. :-{
#
# Revision 1.3  2001/08/16 22:32:22  connolly
# merged endorsement info from IANA; started separating RFC index stuff out
#
# Revision 1.2  2001/03/28 06:42:46  connolly
# Makefile:
#   - schemes.html is now generated from schemes-gen.html
# 	rather than the other way around, as I had
# 	earlier thought
#   - added $Log: Makefile,v $
#   - added Revision 1.6  2002/11/06 18:48:02  connolly
#   - added added dict: per comment from Frank Ellermann of 06 Nov 2002 11:46:56 +0100
#   - added
#   - added Revision 1.5  2002/07/20 14:42:29  connolly
#   - added makefile diagram
#   - added
#   - added Revision 1.4  2002/07/20 13:34:48  connolly
#   - added changed template key from classid
#   - added  on object to a distinguished attribute
#   - added  name.
#   - added
#   - added went to local cache of IANA registry,
#   - added   rather than indirecting thru Aaron's site.
#   - added   updated pointer to IANA registry.
#   - added
#   - added switched from XT to XSLTPROC
#   - added   had to use HTML output mode to get
#   - added    the right default namespace
#   - added   schemes.html is no longer XML WF. :-{
#   - added
#   - added Revision 1.3  2001/08/16 22:32:22  connolly
#   - added merged endorsement info from IANA; started separating RFC index stuff out
#   - added (hope I did it right)
#
# scheme-notes.html:
#   - moved more stuff from schemes.html to this file
#
# schemes-gen.html:
#   - this is now the hand-edited source.
#
# schemes.html:
#   - this is now generated
#
# schemes.n3:
#   - found a reference for addbook: and several other
#     Netscape-supported URI schemes
#   - changed :reserves to :specifies until
# 	I manage to support :reserves in the XSLT transformation
#   - worked on support for dc:type labels
#   - noodled on dc:description vs. rdfs:comment but didn't
# 	really get anywhere.
#   - various tweaks/fixes
#
# schemesIndex.xsl:
#   - reorganized it to work off a template using <object>
#   - got rid of remnants of foaf:
#   - added support for arbitrary dc:types, as long as they have a rdf:label
#
