###############################################################################
#
# Makefile for CIS*4750 Course Project Report
#
# Author: Daniel F. Dickinson <danielfdickinson@yahoo.ca>
#
# Copyright 2002-2003, University of Guelph, All Rights Reserved
#
# 'make all' generates the PDF, PostScript, Single HTML, and Multiple HTML
# document versions of the CIS*4750 Course Project Report
#
# 'make chunked' generates the multiple HTML page version of the report
#
# 'make html' generates the single html version of the report
#
# 'make pdf' generates the PDF version of the report
#
# 'make ps' generates the PostScript version of the report.
#
# 'make text' generates the Text version of the report.
#
# and 'make clean' removes all generated documents and the 'chunked' directory
#
###############################################################################

DOCBOOK_PROCESSOR = jw 
HTML_FLAGS = -d ldp.dsl\#html
PRINT_FLAGS = -d ldp.dsl\#print

ROOT_SGML_NAME = Report

SGML_DIR = sgml

BASE_SGML_NAMES = \
    01introduction.sgml \
    02definitions.sgml \
    03problems.sgml \
    04algo_arc3.sgml \
    04algo_bmcbj2.sgml \
    04algo_def.sgml \
    04algo_ga.sgml \
    04algo_generate.sgml \
    04algo.sgml \
    05results.sgml \
    appendixA.sgml \
    bibliography.sgml \
    $(ROOT_SGML_NAME).sgml

SGML_NAMES = $(foreach name,$(BASE_SGML_NAMES),$(SGML_DIR)/$(name))

DOC_NAMES = \
    $(ROOT_SGML_NAME).pdf \
    $(ROOT_SGML_NAME).html \
    $(ROOT_SGML_NAME).ps \
    $(ROOT_SGML_NAME).txt \
    index.html 

all : $(DOC_NAMES)

.PHONY : chunked

chunked : index.html

html : $(ROOT_SGML_NAME).html

pdf : $(ROOT_SGML_NAME).pdf

ps : $(ROOT_SGML_NAME).ps

text : $(ROOT_SGML_NAME).txt

$(ROOT_SGML_NAME).pdf : $(SGML_NAMES)
	cd $(SGML_DIR) && $(DOCBOOK_PROCESSOR) -b pdf $(PRINT_FLAGS) $(ROOT_SGML_NAME).sgml && mv $(ROOT_SGML_NAME).pdf ..

$(ROOT_SGML_NAME).html : $(SGML_NAMES)
	cd $(SGML_DIR) && $(DOCBOOK_PROCESSOR) -b html -u $(HTML_FLAGS) $(ROOT_SGML_NAME).sgml && mv $(ROOT_SGML_NAME).html ..

$(ROOT_SGML_NAME).ps : $(SGML_NAMES)
	cd $(SGML_DIR) && $(DOCBOOK_PROCESSOR) -b ps $(PRINT_FLAGS) $(ROOT_SGML_NAME).sgml && mv $(ROOT_SGML_NAME).ps ..

$(ROOT_SGML_NAME).txt : $(SGML_NAMES) $(ROOT_SGML_NAME).html
	lynx -dump $(ROOT_SGML_NAME).html >$(ROOT_SGML_NAME).txt 

index.html : $(SGML_NAMES)
	install -d $(SGML_DIR)/chunked
	cd $(SGML_DIR) && $(DOCBOOK_PROCESSOR) -b html $(HTML_FLAGS) $(ROOT_SGML_NAME).sgml && rm -rf ../chunked && mv chunked .. && mv index.html ..

clean :
	rm -rf chunked
	rm -f $(ROOT_SGML_NAME).txt
	rm -f $(ROOT_SGML_NAME).ps
	rm -f $(ROOT_SGML_NAME).html
	rm -f $(ROOT_SGML_NAME).pdf
	rm -f index.html

