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

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=/home/httpd/html/manuals
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:
	jlatex $<
	jlatex $<
	jlatex $<
	rm -f $(basename $<).{aux,log,toc}

.dvi.ps:
	dvips $<

all: update-watch
	for f in ${WEB_XMLS}; do \
		xsltproc -stringparam chunker.output.encoding iso-2022-jp -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} *~
	rm desktop-guide/update-watch.xml

dist: clean
	cd .. && rm -rf ${NAME}-${VERSION}
	cd .. && cp -arf ${NAME} ${NAME}-${VERSION}
	cd .. && tar cf - --exclude CVS ${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
	for f in `ls *.html`; do \
		${GETHTML} -t "" -l ${HTMLLIST} $$f | nkf -j > ${DESTDIR}/${WEBDIR}/manuals/$$f; \
	done
	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/

update-watch:
	sh update-watch.sh
