# -*- Makefile -*- for winsup/doc
# Copyright (c) 1998-2000,2001 Red Hat, Inc.
#
# This file is part of Cygwin.
#
# This software is a copyrighted work licensed under the terms of the
# Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
# details.

SHELL = @SHELL@
srcdir = @srcdir@
VPATH = @srcdir@

SGMLDIRS =  -d $(srcdir) -d $(utils_source) -d $(cygwin_source)

# These *.info targets don't actually work, so remove them for now.
# Put them back when we figure out what to do with them. (davisb)
#DOC=faq.txt faq.info readme.txt readme.info
DOC=faq.txt readme.txt
HTMLDOC=faq0.html faq.html readme.html

CC:=@CC@
CC_FOR_TARGET:=@CC@
exeext:=@build_exeext@

MAKEINFO:=makeinfo
TEXI2DVI:=texi2dvi
TEXI2HTML:=texi2html

include $(srcdir)/../Makefile.common

TOCLEAN:=faq.txt ./*.html readme.txt doctool.o doctool.exe *.junk \
	 cygwin-ug.sgml cygwin-ug \
	 cygwin-ug-net.sgml cygwin-ug-net cygwin-ug-net.html \
	 cygwin-api.sgml cygwin-api cygwin-api-int.sgml cygwin-api-int

.SUFFIXES:

all : \
	cygwin-ug-net/cygwin-ug-net.html \
	cygwin-ug-net.html \
	cygwin-api/cygwin-api.html \
	$(DOC) \
	$(HTMLDOC)

clean:
	rm -Rf $(TOCLEAN)

install:	all

# jw -d $(srcdir)/cygwin.dsl#html cygwin-ug-net.sgml
cygwin-ug/cygwin-ug.html : cygwin-ug.sgml doctool
	-db2html -d $(srcdir)/cygwin.dsl#html $<

cygwin-ug.sgml : cygwin-ug.in.sgml ./doctool Makefile
	-./doctool -m $(SGMLDIRS) -s $(srcdir) -o $@ $<

cygwin-ug-net.html : cygwin-ug-net.sgml doctool
	-jw -d $(srcdir)/cygwin.dsl#html -u $<

cygwin-ug-net/cygwin-ug-net.html : cygwin-ug-net.sgml doctool
	-db2html -d $(srcdir)/cygwin.dsl#html $<

cygwin-ug-net.sgml : cygwin-ug-net.in.sgml ./doctool Makefile
	-./doctool -m $(SGMLDIRS) -s $(srcdir) -o $@ $<

cygwin-api/cygwin-api.html : cygwin-api.sgml
	-db2html -d $(srcdir)/cygwin.dsl#html $<

cygwin-api.sgml : cygwin-api.in.sgml ./doctool Makefile
	-./doctool -m $(SGMLDIRS) -s $(srcdir) -o $@ $<

cygwin-api-int/cygwin-api-int.html : cygwin-api-int.sgml
	-db2html -d $(srcdir)/cygwin.dsl#html $<

cygwin-api-int.sgml : cygwin-api.in.sgml ./doctool Makefile
	-./doctool -i -m $(SGMLDIRS) -s $(srcdir) -b cygwin-api-int -o $@ $<

./doctool : doctool.c
	gcc -g $< -o $@

%.dvi: %.sgml
	-db2dvi $<

%.rtf: %.sgml
	-db2rtf $<

%.ps: %.sgml
	-db2ps $<

%.pdf: %.ps
	-ps2pdf $< $@

%.info: %.texinfo
	-$(MAKEINFO) -I $(srcdir) $<

%.txt: %.texinfo
	-$(MAKEINFO) -I $(srcdir) $<

%.html: %.texinfo
	-$(TEXI2HTML) -I $(srcdir) $<

readme.txt: $(srcdir)/readme.texinfo $(srcdir)/*.texinfo
	-$(MAKEINFO) -I$(srcdir) --no-split --no-headers $< -o - |\
	sed '/^Concept Index/,$$d' > $@

faq0.html: $(srcdir)/faq.texinfo $(srcdir)/*.texinfo
	-rm -f faq_toc.html; \
	for i in $(srcdir)/*.texinfo ; do \
		sed < $$i -e 's?@file{\([fth]*p://[^}]*\)}?@strong{<A HREF="\1">\1</A>}?' \
	    -e 's?\([.+a-zA-Z0-9-]*@@[.a-zA-Z0-9-]*[a-zA-Z0-9]\)?<A HREF="mailto:\1">\1</A>?' >./`basename $$i` ; done; \
	$(TEXI2HTML) -monolithic ./faq.texinfo; \
	rm -f *.texinfo; \
	sed -e 's;faq.html;faq0.html;g' faq.html > faq0.html; \
	rm -f faq.html; exit 0

faq.html: $(srcdir)/faq.texinfo $(srcdir)/*.texinfo
	-rm -f faq_toc.html; \
	for i in $(srcdir)/*.texinfo ; do \
		sed < $$i -e 's?@file{\([fth]*p://[^}]*\)}?@strong{<A HREF="\1">\1</A>}?' \
	    -e 's?\([.+a-zA-Z0-9-]*@@[.a-zA-Z0-9-]*[a-zA-Z0-9]\)?<A HREF="mailto:\1">\1</A>?' >./`basename $$i` ; done; \
	$(TEXI2HTML) -split_chapter ./faq.texinfo; \
	rm -f *.texinfo; \
	[ -r faq_toc.html ] && mv faq_toc.html faq.html; exit 0

TBFILES = cygwin-ug-net.dvi cygwin-ug-net.rtf cygwin-ug-net.ps \
	  cygwin-ug-net.pdf cygwin-ug-net.sgml \
	  cygwin-api.dvi cygwin-api.rtf cygwin-api.ps \
	  cygwin-api.pdf cygwin-api.sgml
TBDIRS = cygwin-ug-net cygwin-api
TBDEPS = cygwin-ug-net/cygwin-ug-net.html cygwin-api/cygwin-api.html

tarball : cygwin-docs.tar.bz2
cygwin-docs.tar.bz2 : $(TBFILES) $(TBDEPS)
	find $(TBFILES) $(TBDIRS) \! -type d | sort | tar -T - -cf -  | bzip2 > cygwin-docs.tar.bz2
