#! /bin/sh
#! /bin/sh

# BEGIN LICENSE BLOCK
# Version: CMPL 1.1
#
# The contents of this file are subject to the Cisco-style Mozilla Public
# License Version 1.1 (the "License"); you may not use this file except
# in compliance with the License.  You may obtain a copy of the License
# at www.eclipse-clp.org/license.
# 
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See
# the License for the specific language governing rights and limitations
# under the License. 
# 
# The Original Code is  The ECLiPSe Constraint Logic Programming System. 
# The Initial Developer of the Original Code is  Cisco Systems, Inc. 
# Portions created by the Initial Developer are
# Copyright (C) 2006 Cisco Systems, Inc.  All Rights Reserved.
# 
# Contributor(s): 
# 
# END LICENSE BLOCK
DESTFILE=visualisation

ROOTFILE=visualisation

CHAPTERS = $(ROOTFILE).tex annotate.tex clients.tex


#------------------ generic part -----------------

# the files that are touched by latex as a side effect
CHAPAUX = $(CHAPTERS:%.tex=%.aux) $(ROOTFILE).toc $(ROOTFILE).idx


all:	$(ROOTFILE).dvi

install:	../../doc/$(DESTFILE).pdf $(ROOTFILE)/$(ROOTFILE).html
	rm -rf ../../doc/$(DESTFILE)
	mv $(ROOTFILE) ../../doc/$(DESTFILE)

../../doc/$(DESTFILE).pdf:	$(ROOTFILE).pdf
	cp $(ROOTFILE).pdf ../../doc/$(DESTFILE).pdf
	chmod 644 ../../doc/$(DESTFILE).pdf


$(ROOTFILE).pdf:	$(ROOTFILE).bbl $(ROOTFILE).ind $(CHAPAUX)
	@echo ======== UPDATE-PASS =========
	@for f in $(CHAPAUX); do \
		mv $$f $$f.old; cp $$f.old $$f; \
	    done
	TEXINPUTS=../texinputs:$$TEXINPUTS pdflatex $(ROOTFILE)
	# The touches below are supposed to work around nfs clock skew problems:
	# The latex run may leave the pdf file with a modification time in the
	# future. Touch it to make sure the time is right relative to the
	# subsequent touches of the aux files. Sleep in between to make sure
	# the pdf is strictly older than the touched aux files.
	touch $(ROOTFILE).pdf 
	sleep 1
	@for f in $(CHAPAUX); do \
		if cmp -s $$f $$f.old; then mv $$f.old $$f; \
		else rm $$f.old; echo ==== $$f was modified ====; touch $$f; \
		fi \
	    done
	$(MAKE) $(ROOTFILE).pdf

$(ROOTFILE).aux:	$(CHAPTERS)
	@echo ======== PASS 1 =========
	TEXINPUTS=../texinputs:$$TEXINPUTS pdflatex $(ROOTFILE)

$(ROOTFILE).bbl:	$(ROOTFILE).aux
	-BIBINPUTS=../texinputs bibtex $(ROOTFILE)

$(ROOTFILE).ind:	$(ROOTFILE).idx
	-makeindex $(ROOTFILE).idx

#$(ROOTFILE).pdf:	$(ROOTFILE).ps
#	ps2pdf $(ROOTFILE).ps
#
#$(ROOTFILE).ps:	$(ROOTFILE).dvi
#	dvips -Ppdf -t a4 -o $(ROOTFILE).ps $(ROOTFILE)
#
#$(ROOTFILE).ps.Z:	$(ROOTFILE).ps
#	compress -f $(ROOTFILE).ps

$(ROOTFILE)/$(ROOTFILE).html:	$(CHAPTERS)
	mkdir -p $(ROOTFILE)
	hevea -fix underscore.hva url.hva $(ROOTFILE)
	imagen -mag 2800 $(ROOTFILE)
        # split into chapters and create index.html
	hacha -tocbis $(ROOTFILE).html
        # copy the files needed for the html to $(ROOTFILE) directory
	cp $(ROOTFILE)[0-9]??.* $(ROOTFILE)/
	cp $(ROOTFILE).css $(ROOTFILE)/
	cp contents_motif.* next_motif.* previous_motif.* $(ROOTFILE)
	cp index.html $(ROOTFILE)/$(ROOTFILE).html
	cp index.html $(ROOTFILE)

# This preprocesses all *.tex files
# to insert links to the bip pages
biprefs:
	eclipse -e "[makerefs],do" -- *.tex

clean:
	rm -f *.bak *.idx *.ind *.bbl *.aux *.dvi *.pdf *.toc *.log *.ilg *.blg
	rm -f *.hind *.haux *.hind *.htoc $(ROOTFILE).image.* index.html
	rm -f *_motif.* *.hidx *.out *.css
	rm -f $(ROOTFILE)[0-9]??.*
	rm -f $(ROOTFILE).ps $(ROOTFILE).ps.Z $(ROOTFILE).pdf $(ROOTFILE).html
	rm -rf $(ROOTFILE) index.html
