NAME=Vine-manual
VERSION=`date +'%Y%m%d'`
WEB_SRC=cui-guide desktop-guide making-rpm getinfo license cr-support VinePlus emacs-guide tex-guide
SOURCES=index ${WEB_SRC}
OMFFILES=vine-desktop-guide-ja.omf vine-emacs-guide-ja.omf vine-license-ja.omf

WEB_XMLS=$(addsuffix .xml, $(WEB_SRC))
XMLS=$(addsuffix .xml, $(SOURCES))
OTXTS=$(addsuffix .txt, $(SOURCES))
TXTS=$(addsuffix .euc, $(SOURCES)) $(addsuffix .sjis, $(SOURCES))
HTMLS=$(addsuffix .html, $(SOURCES))
OHTMLS=$(addsuffix *.html, $(SOURCES))
TEXS=$(addsuffix .tex, $(SOURCES))
DVIS=$(addsuffix .dvi, $(SOURCES))
PSS=$(addsuffix .ps, $(SOURCES))

DESTDIR=
DOCDIR=/usr/share/doc/Vine
WEBDIR=/var/www/vinelinux.org
HELPDIR=/usr/share/vine/help
OMFDIR=/usr/share/omf
GETHTML=../bin/gethtml.pl
HTMLLIST=htmllist

.SUFFIXES: .txt .html .euc .sjis .tex .dvi .ps .xml

.xml.txt:
	xsltproc /usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl $< | w3m -T text/html -dump > $@

.xml.html:
	#xsltproc -stringparam chunker.output.encoding euc-jp -stringparam chunker.output.indent yes custom.xsl $<
	xsltproc --stringparam chunker.output.indent yes custom.xsl $<

.txt.euc:
	nkf -e $< > $@

.txt.sjis:
	nkf -cs $< > $@

.sgml.tex:
	sgml2latex $<

%.dvi: %.tex

.tex.dvi:
	platex $<
	platex $<
	platex $<
	rm -f $(basename $<).{aux,log,toc}

.dvi.ps:
	dvips $<

all: update-watch
	for f in ${WEB_XMLS}; do \
		xsltproc -stringparam chunker.output.encoding utf-8 -stringparam chunker.output.indent yes web.xsl $$f; \
	done

online: update-watch txt html

txt: $(TXTS)

html: $(HTMLS)

ps: $(PSS)

dvi: $(DVIS)

tex: $(TEXS)

clean:
	rm -f *.{sjis,euc,tex,log,aux,dvi,toc,ps,html} *~
	if [ -e desktop-guide/update-watch.xml ] ; then \
		rm desktop-guide/update-watch.xml ; \
	fi

dist: clean
	cd .. && rm -rf ${NAME}-${VERSION}
	cd .. && cp -arf ${NAME} ${NAME}-${VERSION}
	cd .. && tar cf - --exclude .svn ${NAME}-${VERSION} | bzip2 -9 > ${NAME}-${VERSION}.tar.bz2
	cd .. && rm -rf ${NAME}-${VERSION}

install: all install-web

install-online: online
	install -d ${DESTDIR}${DOCDIR}
	install -d ${DESTDIR}${DOCDIR}/manuals-sjis
	install -d ${DESTDIR}${DOCDIR}/manuals-euc
	install -m 644 *.html ${DESTDIR}${DOCDIR}
	install -m 644 *.css ${DESTDIR}${DOCDIR}
	install -m 644 *.sjis ${DESTDIR}${DOCDIR}/manuals-sjis/
	install -m 644 *.euc ${DESTDIR}${DOCDIR}/manuals-euc/
	install -d ${DESTDIR}${DOCDIR}/images
	install -m 644 images/*.png ${DESTDIR}${DOCDIR}/images/
	install -d ${DESTDIR}${DOCDIR}/images/callouts/
	install -m 644 images/callouts/*.png ${DESTDIR}${DOCDIR}/images/callouts/
	#install -d ${DESTDIR}${DOCDIR}/stylesheet-images
	#install -m 644 stylesheet-images/*.png ${DESTDIR}${DOCDIR}/manuals/stylesheet-images/

install-web:
	[ -d ${DESTDIR}${WEBDIR}/manuals ] || install -d ${DESTDIR}${WEBDIR}/manuals
	install -m 644 *.html ${DESTDIR}${WEBDIR}/manuals/
	install -m 644 web.css ${DESTDIR}${WEBDIR}/manuals/
	install -d ${DESTDIR}${WEBDIR}/manuals/images
	install -m 644 images/*.png ${DESTDIR}${WEBDIR}/manuals/images/
	install -d ${DESTDIR}${WEBDIR}/manuals/images/callouts/
	install -m 644 images/callouts/*.png ${DESTDIR}${WEBDIR}/manuals/images/callouts/
	#install -d ${DESTDIR}${WEBDIR}/manuals/stylesheet-images
	#install -m 644 stylesheet-images/*.gif ${DESTDIR}${WEBDIR}/manuals/stylesheet-images/

install-yelp:
	[ -d ${DESTDIR}${HELPDIR} ] || install -d ${DESTDIR}${HELPDIR}
	install -m 644 *.{xml,spec} ${DESTDIR}${HELPDIR}
	cp -pr common cui-guide desktop-guide images ${DESTDIR}${HELPDIR}
	for f in ${OMFFILES}; do \
		[ -d ${DESTDIR}${OMFDIR}/`basename $$f -ja.omf` ] || install -d ${DESTDIR}${OMFDIR}/`basename $$f -ja.omf`; \
		install -m 644 $$f ${DESTDIR}${OMFDIR}/`basename $$f -ja.omf`; \
	done

update-watch:
	sh update-watch.sh
