VERSION=0.2.7c
LANGUAGE=en
NAME=F-CPU_manual-$(VERSION)-$(LANGUAGE)

RM=rm -f
LN=ln -s

LATEX=latex
MAKEIND=makeindex
L2H=latex2html
L2P=pdfelatex

DVIPS=dvips
DVIPDF=dvipdf

FICHIER=./src/i7/Draft/SR/put.tex ./src/i7/Draft/SR/puti.tex ./src/i7/Draft/SR/geti.tex ./src/i7/Draft/SR/get.tex \
	./src/i7/Draft/LNS/int2l.tex ./src/i7/Draft/LNS/lsub.tex ./src/i7/Draft/LNS/ladd.tex ./src/i7/Draft/LNS/l2int.tex \
	./src/i7/Draft/Bits/popcounti.tex ./src/i7/Draft/Bits/dbitrev.tex ./src/i7/Draft/Bits/bitop.tex ./src/i7/Draft/Bits/bitrev.tex ./src/i7/Draft/Bits/shiftrai.tex ./src/i7/Draft/Bits/scan.tex ./src/i7/Draft/Bits/logic.tex ./src/i7/Draft/Bits/combine_or.tex ./src/i7/Draft/Bits/combine_and.tex ./src/i7/Draft/Bits/dshifti.tex ./src/i7/Draft/Bits/shift.tex ./src/i7/Draft/Bits/mix.tex ./src/i7/Draft/Bits/dshiftrai.tex ./src/i7/Draft/Bits/shiftra.tex ./src/i7/Draft/Bits/roti.tex ./src/i7/Draft/Bits/dshiftra.tex ./src/i7/Draft/Bits/shifti.tex ./src/i7/Draft/Bits/widen.tex ./src/i7/Draft/Bits/sdup.tex ./src/i7/Draft/Bits/popcount.tex ./src/i7/Draft/Bits/rot.tex ./src/i7/Draft/Bits/expand.tex ./src/i7/Draft/Bits/byterev.tex ./src/i7/Draft/Bits/cshift.tex ./src/i7/Draft/Bits/dbitrevi.tex ./src/i7/Draft/Bits/bitrevi.tex ./src/i7/Draft/Bits/logici.tex ./src/i7/Draft/Bits/bitopi.tex \
	./src/i7/Draft/Flow/jmp.tex ./src/i7/Draft/Flow/rfe.tex ./src/i7/Draft/Flow/srbsave.tex ./src/i7/Draft/Flow/halt.tex ./src/i7/Draft/Flow/serialize.tex ./src/i7/Draft/Flow/nop.tex ./src/i7/Draft/Flow/srbrestore.tex ./src/i7/Draft/Flow/loop.tex ./src/i7/Draft/Flow/syscall.tex ./src/i7/Draft/Flow/loopentry.tex \
	./src/i7/Draft/Float/fsqrt.tex ./src/i7/Draft/Float/fmul.tex ./src/i7/Draft/Float/fadd.tex ./src/i7/Draft/Float/faddsub.tex ./src/i7/Draft/Float/int2f.tex ./src/i7/Draft/Float/fcmple.tex ./src/i7/Draft/Float/fsqrtiaprx.tex ./src/i7/Draft/Float/f2int.tex ./src/i7/Draft/Float/fiaprx.tex ./src/i7/Draft/Float/fdiv.tex ./src/i7/Draft/Float/fcmpl.tex ./src/i7/Draft/Float/fmac.tex ./src/i7/Draft/Float/flog.tex ./src/i7/Draft/Float/fsub.tex ./src/i7/Draft/Float/fexp.tex \
	./src/i7/Draft/Memory/cstore.tex ./src/i7/Draft/Memory/cload.tex ./src/i7/Draft/Memory/ss.tex ./src/i7/Draft/Memory/sl.tex ./src/i7/Draft/Memory/mshchg.tex ./src/i7/Draft/Memory/madd.tex ./src/i7/Draft/Memory/load1.tex ./src/i7/Draft/Memory/load2.tex ./src/i7/Draft/Memory/loadi.tex ./src/i7/Draft/Memory/loadm.tex ./src/i7/Draft/Memory/loadcons.tex ./src/i7/Draft/Memory/move.tex ./src/i7/Draft/Memory/cachemm.tex ./src/i7/Draft/Memory/store1.tex ./src/i7/Draft/Memory/store2.tex ./src/i7/Draft/Memory/storei.tex ./src/i7/Draft/Memory/storem.tex ./src/i7/Draft/Memory/loadf&storef.tex ./src/i7/Draft/Memory/loadaddr.tex ./src/i7/Draft/Memory/msub.tex ./src/i7/Draft/Memory/loadaddri.tex \
	./src/i7/Draft/Integer/dec.tex ./src/i7/Draft/Integer/remi.tex ./src/i7/Draft/Integer/rem.tex ./src/i7/Draft/Integer/div.tex ./src/i7/Draft/Integer/sort.tex ./src/i7/Draft/Integer/cmpl.tex ./src/i7/Draft/Integer/mac.tex ./src/i7/Draft/Integer/muli.tex ./src/i7/Draft/Integer/divi.tex ./src/i7/Draft/Integer/max.tex ./src/i7/Draft/Integer/cmple.tex ./src/i7/Draft/Integer/cmplei.tex ./src/i7/Draft/Integer/cmpli.tex ./src/i7/Draft/Integer/min.tex ./src/i7/Draft/Integer/sub.tex ./src/i7/Draft/Integer/neg.tex ./src/i7/Draft/Integer/maxi.tex ./src/i7/Draft/Integer/addi.tex ./src/i7/Draft/Integer/mul.tex ./src/i7/Draft/Integer/mini.tex ./src/i7/Draft/Integer/abs.tex ./src/i7/Draft/Integer/add.tex ./src/i7/Draft/Integer/addsub.tex ./src/i7/Draft/Integer/subi.tex ./src/i7/Draft/Integer/nabs.tex ./src/i7/Draft/Integer/inc.tex \
	./src/i7/Draft/p6.tex \
	./src/i7/Overview/p5.tex \
	./src/Programming/p7.tex \
	./src/manual.tex \
	./src/Introduction/FAQ/p1c2.tex \
	./src/Introduction/History/p1c3.tex \
	./src/Introduction/History/p1c4.tex \
	./src/Introduction/next.tex \
	./src/Introduction/p1c1.tex \
	./src/Introduction/p1c5.tex \
	./src/Introduction/p1c6.tex \
	./src/Introduction/previous.tex \
	./src/Introduction/foreword.tex \
	./src/html2latex.tex \
	./src/Special/p4c1.tex \
	./src/Special/p4c2.tex \
	./src/Special/p4c3.tex \
	./src/Special/p4c4.tex \
	./src/Special/p4.tex \
	./src/General/FC-0/p3c1.tex \
	./src/General/FC-0/p3c2.tex \
	./src/General/FC-0/p3c3.tex \
	./src/General/p2.tex \
	./src/Introduction/cover.tex

TODEL1=find . -name \*.aux
TODEL2=find . -name \*.log
TODEL3=find . -name \*~
TODEL4=find . -name \*.lof
TODEL5=find . -name \*.lot
TODEL6=find . -name \*.toc
TODEL7=find . -name \*.dvi
TODEL8=find . -name \\\#\*
TODEL9=find ./src -name \*.pdf
TODEL10=find . -name \*.idx
TODEL11=find . -name \*.ind

all: pdf

lncolor:
	$(RM) -f src/fcpu.cls
	$(LN) fcpu_color.cls src/fcpu.cls

lngray:
	$(RM) -f src/fcpu.cls
	$(LN) fcpu_gray.cls src/fcpu.cls

dvi: dvicolor
pdfcolor: pdf
pscolor: ps
gray: pdfgray

dvicolor: $(FICHIER) lncolor
	cd src && $(LATEX) manual.tex && $(RM) manual.idx && $(LATEX) manual.tex && $(MAKEIND) < manual.idx > manual.ind && $(LATEX) manual.tex && $(MAKEIND) < manual.idx > manual.ind && $(LATEX) manual.tex

dvigray: $(FICHIER) lngray
	cd src && $(LATEX) manual.tex && $(RM) manual.idx && $(LATEX) manual.tex && $(MAKEIND) < manual.idx > manual.ind && $(LATEX) manual.tex && $(MAKEIND) < manual.idx > manual.ind && $(LATEX) manual.tex

pdfgray: dvigray
	cd src && $(DVIPDF) manual.dvi
	mv src/manual.pdf $(NAME).pdf

pdf: dvi
	cd src && $(DVIPDF) manual.dvi
	mv src/manual.pdf $(NAME).pdf

ps: dvi
	cd src && $(DVIPS) manual.dvi
	mv src/manual.pdf $(NAME).ps

psgray: dvigray
	cd src && $(DVIPS) manual.dvi
	mv src/manual.pdf $(NAME).ps

html:
	cd src && $(L2H) manual.tex
	mv src/manual ./$(NAME)-html

clean:
	$(RM) `$(TODEL1)` `$(TODEL2)` `$(TODEL3)` `$(TODEL4)` `$(TODEL5)` `$(TODEL6)` `$(TODEL7)` `$(TODEL8)` `$(TODEL9)` `$(TODEL10)` `$(TODEL11)`
	$(RM) -R $(NAME)
	$(RM) src/fcpu.cls
	$(RM) src/Introduction/cover.tex

re: clean pdf

dist: clean
	mkdir $(NAME)
	cp -Rf `find . -name \*.txt` `find . -name Makefile` `find . -name \*.pdf` src/ $(NAME)
	tar cvfz $(NAME).tar.gz $(NAME)/
	tar cvfj $(NAME).tar.bz2 $(NAME)/
	rm -Rf $(NAME)

src/Introduction/cover.tex: src/Introduction/previous.tex src/Introduction/next.tex
	cat src/Introduction/previous.tex >> src/Introduction/cover.tex
	echo -n $(VERSION) >> src/Introduction/cover.tex
	cat src/Introduction/next.tex >> src/Introduction/cover.tex


