# *************************************************************************
# Module: Makefile
# Purpose: Generates different versions of the Csound manual.
# Note: Modified from the Makefile example in the DocBook-Install-HOWTO.
#       You may need to change program names and paths to get this to work 
#       on your system.
# *************************************************************************
BASENAME=manual
COLLATEINDEX=/usr/bin/collateindex.pl
JADE=/usr/bin/openjade
VERSION=4.23

# SGML source file.
SGML_FILE=$(BASENAME).sgml

# Stylesheets
# Note: You can download a copy of the gdp-both.dsl file from
#       http://www.gnome.org/gdp/stylesheet.html
DSL_PRINT=/usr/share/sgml/docbook/dsssl-stylesheets/gdp/gdp-both.dsl\#print
DSL_HTML=/usr/share/sgml/docbook/dsssl-stylesheets/gdp/gdp-both.dsl\#html
DSL_INDEX=/usr/share/sgml/docbook/dsssl-stylesheets-1.76/html/docbook.dsl

# Generated files.                                                           
HTM_FILE=$(BASENAME).htm
HTML_FILE=index.html
PDF_FILE=$(BASENAME).pdf
TEX_FILE=$(BASENAME).tex                                                     
TEXT_FILE=$(BASENAME).txt

# Build rules.                                                               
html: $(HTML_FILE)

htm: $(HTM_FILE)

tex: $(TEX_FILE)

pdf: $(PDF_FILE)

text: $(TEXT_FILE)

index:
	echo "" > genindex.sgml
	$(JADE) -t sgml -d $(DSL_INDEX) -V html-index $(SGML_FILE)
	$(COLLATEINDEX) -g -t Index -i genindex -f -o genindex.sgml HTML.index

all: html-package

clean:
	rm -f $(BASENAME).{aux,dvi,fot,pdf,ps,rtf,tex,txt} 
	rm -f *.{htm,html,log,out}
	rm -f HTML.index
	rm -rf /tmp/csound-$(VERSION)/manual

distclean: clean
	rm -f *.gz

docbook-package: clean
	mkdir -p /tmp/csound-$(VERSION)/manual
	cp -a . /tmp/csound-$(VERSION)/manual
	tar -C /tmp -czf /tmp/$(BASENAME)-docbook-$(VERSION).tar.gz csound-$(VERSION)/manual
	mv /tmp/$(BASENAME)-docbook-$(VERSION).tar.gz .

docbook-floppy: clean
	mkdir -p /tmp/csound-$(VERSION)/manual
	cp -a . /tmp/csound-$(VERSION)/manual
	tar -C /tmp -cf /tmp/$(BASENAME)-docbook-$(VERSION).tar csound-$(VERSION)/manual
	bzip2 -9 /tmp/$(BASENAME)-docbook-$(VERSION).tar
	mount /mnt/floppy
	mv /tmp/$(BASENAME)-docbook-$(VERSION).tar.bz2 /mnt/floppy
	umount /mnt/floppy

dist: clean docbook-package

distall: all

html-package: clean $(HTML_FILE)
	mkdir -p /tmp/csound-$(VERSION)/manual
	mv *.html /tmp/csound-$(VERSION)/manual
	cp *.txt /tmp/csound-$(VERSION)/manual
	cp -a ./images /tmp/csound-$(VERSION)/manual
	cp -a ./examples /tmp/csound-$(VERSION)/manual
	tar -C /tmp -czf /tmp/$(BASENAME)-html-$(VERSION).tar.gz csound-$(VERSION)/manual
	mv /tmp/$(BASENAME)-html-$(VERSION).tar.gz .

latex-package: clean $(TEX_FILE)
	mkdir -p /tmp/csound-$(VERSION)/manual
	cp $(TEX_FILE) /tmp/csound-$(VERSION)/manual
	cp *.txt /tmp/csound-$(VERSION)/manual
	cp -a ./examples /tmp/csound-$(VERSION)/manual
	cp -a ./images /tmp/csound-$(VERSION)/manual
	tar -C /tmp -czf /tmp/$(BASENAME)-latex-$(VERSION).tar.gz csound-$(VERSION)/manual
	mv /tmp/$(BASENAME)-latex-$(VERSION).tar.gz .

pdf-package: clean $(PDF_FILE)
	mkdir -p /tmp/csound-$(VERSION)/manual
	cp $(PDF_FILE) /tmp/csound-$(VERSION)/manual
	cp *.txt /tmp/csound-$(VERSION)/manual
	cp -a ./examples /tmp/csound-$(VERSION)/manual
	tar -C /tmp -czf /tmp/$(BASENAME)-pdf-$(VERSION).tar.gz csound-$(VERSION)/manual
	mv /tmp/$(BASENAME)-pdf-$(VERSION).tar.gz .

text-package: clean $(TEXT_FILE)
	mkdir -p /tmp/csound-$(VERSION)/manual
	cp $(TEXT_FILE) /tmp/csound-$(VERSION)/manual
	cp *.txt /tmp/csound-$(VERSION)/manual
	cp -a ./examples /tmp/csound-$(VERSION)/manual
	tar -C /tmp -czf /tmp/$(BASENAME)-text-$(VERSION).tar.gz csound-$(VERSION)/manual
	mv /tmp/$(BASENAME)-text-$(VERSION).tar.gz .

# Compile rules.                                                             
$(HTML_FILE): $(SGML_FILE)
	$(JADE) -t sgml -ihtml -d $(DSL_HTML) $(SGML_FILE)

$(TEXT_FILE): $(HTM_FILE)
	lynx -dump -nolist $(HTM_FILE) > $(TEXT_FILE)

$(HTM_FILE): $(SGML_FILE)
	$(JADE) -t sgml -ihtml -V nochunks -d $(DSL_HTML) \
        $(SGML_FILE) > $(HTM_FILE)
                                                                             
$(TEX_FILE): $(SGML_FILE)
	$(JADE) -t tex -d $(DSL_PRINT) $(SGML_FILE)

$(PDF_FILE): $(TEX_FILE)
	./create-pdf.sh $(TEX_FILE)
