#####################################################
# Makefile for documentation of Grace               #
#####################################################
# You should not change anything here.              #
#####################################################

TOP=..

include $(TOP)/Make.conf

.SUFFIXES : .sgml .dvi .html .pdf .ps .tex

# NB: the language and papersize options should be made `configure'able
LANGUAGE    = english
PAPERSIZE   = letter

LINUXDOC    = linuxdoc --language=$(LANGUAGE) --papersize=$(PAPERSIZE)

SGML2HTML   = $(LINUXDOC) --backend=html  --split=0 --toc=2
SGML2LATEX  = $(LINUXDOC) --backend=latex --output=tex
SGML2DVI    = $(LINUXDOC) --backend=latex --output=dvi
DVI2PS      = dvips -t $(PAPERSIZE)
LATEX       = latex
PDFLATEX    = pdflatex

.sgml.html :
	$(SGML2HTML) $<

.sgml.dvi :
	$(SGML2DVI) $<

.sgml.tex :
	$(SGML2LATEX) $<

.tex.dvi :
	$(LATEX) $<
	$(LATEX) $<

.dvi.ps :
	$(DVI2PS) $< -o $@

.tex.pdf :
	$(PDFLATEX) $<
	$(PDFLATEX) $<

SGMLS    = FAQ.sgml Tutorial.sgml UsersGuide.sgml 
HTMLS    = CHANGES.html GPL.html philosophical-gnu-sm.jpg nohelp.html
GRACEGTK = GraceGTK

HTMLDOCS = FAQ.html Tutorial.html UsersGuide.html 

#DVIDOCS  = FAQ.dvi Tutorial.dvi UsersGuide.dvi GraceGTK.dvi
DVIDOCS  = FAQ.dvi Tutorial.dvi UsersGuide.dvi

PSDOCS   = FAQ.ps Tutorial.ps UsersGuide.ps  GraceGTK.ps

PDFDOCS  = FAQ.pdf Tutorial.pdf UsersGuide.pdf

TEXDOCS  = FAQ.tex Tutorial.tex UsersGuide.tex 

TUTDATA  = 2.1.dat 3.dat 7.1.2.agr 7.1.3.agr 8.2.dat \
           10.1.dat 10a.dat 10c.dat 10b.dat shiftdata.sh mygraph.png

GRACEMAN = grace.1
MANLINKS = xmgrace.1 gracebat.1
MANPAGES = $(GRACEMAN) grconvert.1 convcal.1

#all : 	French.sgml
#	linuxdoc --charset=latin --language=franais --backend=latex --output=dvi   French.sgml

all : html dvi pdf

html : $(HTMLDOCS) 

dvi  : $(DVIDOCS)  $(GRACEGTK)*.dvi

pdf  : $(PDFDOCS)  $(GRACEGTK)*.pdf

ps   : $(PSDOCS)

tex  : $(TEXDOCS)

clean :
	$(RM) $(TEXDOCS) *.aux *.log *.toc *.4* *.tmp *~

distclean : clean
	$(RM) *.orig

#	$(GRACEGTK).out \
#	$(GRACEGTK).lot \
#	$(GRACEGTK)*x.png \
#	$(GRACEGTK)*.html \
#	$(GRACEGTK)*.css \
#	$(GRACEGTK)*.idv \
#	$(GRACEGTK)*.lg \
#	$(GRACEGTK)*.sgml_1 \
#	$(GRACEGTK)*.xref

devclean : distclean
	$(RM) $(DVIDOCS) $(PSDOCS) $(PDFDOCS) $(HTMLDOCS) \
	$(GRACEGTK)*.dvi $(GRACEGTK)*.pdf

install : $(HTMLS) $(HTMLDOCS) $(DVIDOCS) $(TUTDATA) $(MANPAGES) $(PDFDOCS) $(GRACEGTK)*.pdf $(GRACEGTK)*.dvi
	$(MKINSTALLDIRS) $(DESTDIR)$(GRACEGTK_HOME)/doc
	for i in $?; do $(INSTALL_DATA) $$i $(DESTDIR)$(GRACEGTK_HOME)/doc; done
	cd $(DESTDIR)$(GRACEGTK_HOME)/doc; \
	for i in $(MANLINKS); do $(RM) $$i; $(LN_S) $(GRACEMAN) $$i; done

$(DESTDIR)$(GRACEGTK_HOME)/doc/grace.1 : $(MANPAGES)
	$(MAKE) install

links : $(DESTDIR)$(GRACEGTK_HOME)/doc/grace.1
	$(MKINSTALLDIRS) $(DESTDIR)$(PREFIX)/man
	$(MKINSTALLDIRS) $(DESTDIR)$(PREFIX)/man/man1
	cd $(DESTDIR)$(PREFIX)/man/man1; \
	for i in $(MANPAGES) $(MANLINKS); do $(RM) $$i; $(LN_S) $(GRACEGTK_HOME)/doc/$$i $$i; done

tests : dummy

dummy :
