TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
MODULE    = none
BOOKNAME  = wine-doc
DB2HTML   = $(SRCDIR)/db2html-winehq

EXTRASUBDIRS = samples status

BOOK_SRCS = \
	architecture.sgml \
	bugs.sgml \
	build.sgml \
	compiling.sgml \
	configuring.sgml \
	consoles.sgml \
	cvs-regression.sgml \
	debugger.sgml \
	debugging.sgml \
	dlls.sgml \
	documentation.sgml \
	fonts.sgml \
	getting.sgml \
	i18n.sgml \
	implementation.sgml \
	installing.sgml \
	introduction.sgml \
	ole.sgml \
	opengl.sgml \
	packaging.sgml \
	patches.sgml \
	porting.sgml \
	printing.sgml \
	registry.sgml \
	running.sgml \
	tools.sgml \
	wine-doc.sgml

BOOK_TARGETS = \
	$(BOOKNAME)/index.html \
	$(BOOKNAME).pdf \
	$(BOOKNAME).ps

all: $(BOOK_TARGETS)

@MAKE_RULES@

$(BOOKNAME)/index.html: $(BOOK_SRCS)
	$(DB2HTML) $(BOOKNAME).sgml

$(BOOKNAME).pdf: $(BOOK_SRCS)
	db2pdf $(BOOKNAME).sgml > /dev/null

$(BOOKNAME).ps: $(BOOK_SRCS)
	db2ps $(BOOKNAME).sgml > /dev/null

install:: 
	$(INSTALL) -d $(mandir)/man$(prog_manext)
	$(INSTALL) -d $(mandir)/man$(conf_manext)
	sed -e 's|$${prefix}|$(prefix)|g' < wine.man > wine.man.tmp && mv wine.man.tmp wine.man
	$(INSTALL_DATA) wine.man $(mandir)/man$(prog_manext)/wine.$(prog_manext)
	$(INSTALL_DATA) $(SRCDIR)/winemaker.man $(mandir)/man$(prog_manext)/winemaker.$(prog_manext)
	sed -e 's|$${prefix}|$(prefix)|g' < wine.conf.man > wine.conf.man.tmp && mv wine.conf.man.tmp wine.conf.man
	$(INSTALL_DATA) wine.conf.man $(mandir)/man$(conf_manext)/wine.conf.$(conf_manext)

uninstall::
	$(RM) $(mandir)/man$(prog_manext)/wine.$(prog_manext)
	$(RM) $(mandir)/man$(prog_manext)/winemaker.$(prog_manext)
	$(RM) $(mandir)/man$(conf_manext)/wine.conf.$(conf_manext)

clean::
	$(RM) *.aux *.dvi *.tex *.log $(BOOKNAME).pdf $(BOOKNAME).ps
	$(RM) -r $(BOOKNAME) html man3w *.junk DBTOHTML_OUTPUT_DIR*

### Dependencies:
