# -*- makefile -*- XSL=xmlspec.xsl xmlspec-addressing.xsl changelog.xsl ENTITIES=entities.dtd entitieswd.dtd entitiesedcopy.dtd YEAR=$(shell grep "ENTITY draft.year" entitieswd.dtd | cut -d '"' -f2) MM=$(shell grep "ENTITY draft.mm" entitieswd.dtd | cut -d '"' -f2) DD=$(shell grep "ENTITY draft.dd" entitieswd.dtd | cut -d '"' -f2) NSURI=$(shell grep "ENTITY nsuri" entities.dtd | head -1| cut -d '"' -f2) ifeq ("$(PREFIX)", "soap11-ror-httpbinding") STATUS_ENTITY=w3c-soap11-ror-httpbinding.status else STATUS_ENTITY=w3c.status endif STATUS=$(shell grep "ENTITY $(STATUS_ENTITY)" entitieswd.dtd | cut -d '"' -f2) DOCNAME=$(STATUS)-$(PREFIX)-$(YEAR)$(MM)$(DD) TOOLS=../../../2002/ws/desc/tools include $(TOOLS)/Makefile.jars LINKCHECKER=$(TOOLS)/checklink.pl TIDY=tidy -asxml -utf8 SPELL=aspell --mode=html --encoding=utf-8 --master=american list HTML2PS=html2ps PS2PDF=ps2pdf HTML2TEXT=w3m -dump VALIDATE=xmllint --noout --valid VALIDATESCHEMA=$(TOOLS)/validate-schema.sh XSLTPROC=xsltproc NSCHECK=REQUEST_METHOD="GET" SCRIPT_NAME=nschecker python $(TOOLS)/nschecker SETUP-NAMESPACES=$(TOOLS)/setup-namespaces RDDLTRANS=sed -e "s/@Y@/$(YEAR)/g" -e "s/@M@/$(MM)/g" -e "s/@D@/$(DD)/g" -e "s/@S@/$(STATUS)/g" -e "s/@NS@/WS-Addressing 1.0/g" -e "s/@N@/ws-addr/g" -e "s|@NSURI@|$(NSURI)|g" RDDLTRANSWSDL=sed -e "s/@Y@/$(YEAR)/g" -e "s/@M@/$(MM)/g" -e "s/@D@/$(DD)/g" -e "s/@S@/$(STATUS)/g" -e "s/@NS@/WS-Addressing 1.0 Metadata/g" -e "s/@N@/ws-addr-metadata/g" TR=$(WWW)/TR/$(YEAR) PUBDIR=$(TR)/$(DOCNAME) NSDIR=$(WWW)/$(YEAR)/$(MM)/addressing$(EXTRANSDIR) ADDR.xml=$(PREFIX).xml ADDR.html=$(PREFIX).html ADDR.ps=$(PREFIX).ps ADDR.pdf=$(PREFIX).pdf ADDR.txt=$(PREFIX).txt STYLESHEET=xmlspec-addressing.xsl $(ADDR.html): $(ADDR.xml) $(FILES) $(XSL) changelog.xml valid-xml.txt @echo "Generating $@";\ $(XSLTPROC) --stringparam file $(ADDR.xml) $(STYLESHEET) $(ADDR.xml) > $@ @echo "Running tidy on $@";\ mv $@ $@.old; \ $(TIDY) $@.old > $@ 2>./tidy-output.txt;\ rm $@.old changelog.xml: $(ADDR.xml) $(FILES) $(XSL) ifndef NOANT ant changelog endif $(ADDR.ps): $(ADDR.html) $(IMAGES) @echo "Generating $@";\ $(XSLTPROC) $(TOOLS)/latin1-conv.xsl $(ADDR.html) | $(HTML2PS) -f $(TOOLS)/html2psrc > $@ || rm $@ $(ADDR.pdf): $(ADDR.ps) @echo "Generating $@";\ $(PS2PDF) $< $(ADDR.txt): $(ADDR.html) @echo "Generating $@";\ $(RM) $@ ; \ $(HTML2TEXT) $< > $@ diff.html: $(ADDR.html) @echo "Generating diff" ifndef FIRST @wget -q -O $<-prevversion.html `$(TOOLS)/prevloc $(ADDR.xml)`;\ $(TOOLS)/htmldiff $<-prevversion.html $(ADDR.html) | sed -e "s/<\(title\|h1\)>/\0${YEAR}-${MM}-${DD} diff-marked version: /g" | $(TIDY) - | $(TOOLS)/cleanup-diff.pl > $@ 2>/dev/null;\ rm $<-prevversion.html endif check.txt: trhtml valid-html.txt valid-ns.html checkspell.txt valid-links.txt valid-html.txt: $(ADDR.html) @echo "Validating $?";\ $(VALIDATE) $? && touch ./$@ validate-html: valid-html.txt @cat valid-html.txt validate-xml: valid-xml.txt @cat valid-xml.txt valid-ns.html: $(ADDR.html) valid-html.txt ifndef QUICK @echo "Running namespace checker";\ QUERY_STRING="uri=file://$(PWD)/$(ADDR.html)" $(NSCHECK) > $@ endif validate-ns: valid-ns.html ifndef QUICK @lynx -dump $? endif checkspell: checkspell.txt ifndef QUICK @cat checkspell.txt endif validate-links: valid-links.txt ifndef QUICK @cat valid-links.txt endif check: validate-xml validate-html validate-ns checkspell validate-links valid-xml.txt: $(ADDR.xml) @echo "Validating $?";\ $(VALIDATE) $? > ./$@ valid-links.txt: $(ADDR.html) ifndef QUICK @echo "Checking links $?";\ $(LINKCHECKER) -s -r -b $? > $@ endif checkspell.txt: $(ADDR.html) ifndef QUICK echo "Checking spelling $?";\ rm -f $@ ;\ $(SPELL) < $? | sort | uniq -c | sort -n > $@ endif directory: @-echo "Installing directories";\ mkdir -p $(PUBDIR) schemas: $(SCHEMAS) $(RDDL) @if [ -n "$(SCHEMAS)" ] ;\ then\ rm -f valid-schemas.txt;\ for f in $(SCHEMAS) ;\ do i=`echo $$f | sed -e "s/wsdl/metadata/"`;\ echo "Generating $$i...";\ $(XSLTPROC) $(TOOLS)/identity.xsl $$f > $(NSDIR)/$$i;\ $(VALIDATESCHEMA) $(NSDIR)/$$i >> ./valid-schemas.txt;\ done ;\ cat valid-schemas.txt;\ fi ws-addr: @echo "Generating RDDL ($@)";\ mkdir -p $(NSDIR);\ for ext in html xhtml; do $(RDDLTRANS) rddl-main.$$ext > $(NSDIR)/$@.$$ext; done ws-addr-wsdl: @echo "Generating RDDL (ws-addr-metadata)";\ mkdir -p $(NSDIR);\ for ext in html xhtml; do $(RDDLTRANSWSDL) rddl-wsdl.$$ext > $(NSDIR)/ws-addr-metadata.$$ext; done trhtml: $(ADDR.html) altformats: $(ADDR.pdf) $(ADDR.ps) $(ADDR.txt) trall: trhtml diff.html altformats check.txt install-tr: trall directory @echo "Installing draft";\ cp $(XSL) $(IMAGES) changelog.xml xmlspec.dtd $(PUBDIR);\ cp $(ADDR.pdf) $(ADDR.ps) $(ADDR.txt) diff.html $(PUBDIR);\ cat htaccess-for-html htaccess-for-text > $(PUBDIR)/.htaccess;\ $(XSLTPROC) --stringparam year $(YEAR) identityxmlspec.xsl $(ADDR.xml) > $(PUBDIR)/$(ADDR.xml) ;\ cp $(ADDR.html) $(PUBDIR)/Overview.html install: install-tr clean: rm -f *~* html2ps.dbg ./valid-html.txt ./valid-xml.txt ./checkspell.txt ./valid-links.txt ./valid-ns.html ./valid-schemas.txt ./tidy-output.txt $(ADDR.html) diff.html $(ADDR.pdf) $(ADDR.ps) $(ADDR.txt) .PHONY: install install-tr validate-html validate-xml spellcheck pubinstall clean schemas directory check.txt acknowledgements trhtml trall altformats ws-addr ws-addr-wsdl