Show Makefile syntax highlighted
# Chris Thewalt -- 8/3/89
# A fairly smart LaTeX document Makefile
# - knows how to combine latex and bibtex
# - knows when a bibtex is necessary (docs without refs won't use bibtex)
# - saves aux file if latex fails due to error
# (after error fixed it does 1 latex instead of two)
#
# edit the capitalized variables as needed
# ROOT is the document's file name without the .tex ending
#
# Fichier de base
ROOT = presentation_gulus
# Fichiers inclus
INCL = aider_le_gulus.tex annexe_logiciel_libre.tex historique.tex \
strategie_futur.tex edito_du_president.tex
# Modules = Make récursif !
MODULES =
# Fichier de biblio
BIB =
# Commande latex
LATEX = latex
# Options dvi
DVIFLGS = -tletter -Pps2
# Imprimante
PRINTER = ps2
# Pour faire du pdf
PDFLATEX = pdfelatex
# Pour éditer : mettre son éditeur favori
EDIT = gvim
# Pour installer sur la page web
WEB = ${HOME}/public_html/gulus_presentation
#DO NOT CHANGE SHELL
SHELL = /bin/sh
all : $(ROOT).dvi
for dir in $(MODULES); do \
(cd $$dir; ${MAKE} all); \
done
latex : $(ROOT).dvi
html : $(ROOT)/index.html
web : ps pdf html
cp -p $(ROOT).pdf $(WEB)
cp -p $(ROOT).ps $(WEB)
cp -rp $(ROOT) $(WEB)
.web : $(WEB)
mkdir $(WEB)
ed :
$(EDIT) $(ROOT).tex &
dvi : $(ROOT).dvi
pdf : $(ROOT).pdf
ps : $(ROOT).ps
pr : $(ROOT).dvi
dvips $(DVIFLGS) $(ROOT).dvi -P$(PRINTER)
prps : $(ROOT).ps
lpr -P$(PRINTER) $(ROOT).ps
view : $(ROOT).ps
gv $(ROOT).ps &
clean :
/bin/rm -rf *.*~ *.aux *.aux *.bu *.dvi *.log *.bbl *.blg *.ps .bibcheck *.pdf *.lof *.toc \
#for dir in $(MODULES); do \
#(cd $$dir; ${MAKE} clean); \
#done
backup: .backup
/bin/cp -r *.tex .backup
.backup:
mkdir .backup
$(ROOT).ps : $(ROOT).dvi
dvips $(DVIFLGS) $(ROOT).dvi -o $(ROOT).ps
$(ROOT).pdf : $(ROOT).dvi
$(PDFLATEX) $(ROOT).tex
$(ROOT)/index.html : $(ROOT).dvi
latex2html $(ROOT).tex
#************************************************************
# DO NOT change anything below this line (you were warned...)
#************************************************************
$(ROOT).dvi: $(ROOT).tex $(INCL) $(ROOT).bbl
@-if [ -r $(ROOT).aux.bu ] ; then \
/bin/rm -f $(ROOT).aux.bu ;\
else \
exit 0 ;\
fi
@-if [ -r $(ROOT).aux ] ; then \
cp $(ROOT).aux $(ROOT).aux.bu ;\
else \
exit 0 ;\
fi
@echo "===> $(LATEX) $(ROOT)"
@-if $(LATEX) $(ROOT) ; then \
break ;\
else \
/bin/rm $(ROOT).dvi ;\
/bin/mv $(ROOT).aux.bu $(ROOT).aux ;\
exit 1 ;\
fi
@-if fgrep -s 'LaTeX Warning: Citation' $(ROOT).log ; then \
if fgrep -s 'Rerun to get cross' $(ROOT).log ; then \
echo "===> $(LATEX) Warning !$(ROOT)" ;\
$(LATEX) $(ROOT) ;\
else \
echo "===> bibtex $(ROOT)" ;\
bibtex $(ROOT) ;\
echo "===> $(LATEX) $(ROOT)" ;\
$(LATEX) $(ROOT) ;\
echo "===> $(LATEX) $(ROOT)" ;\
$(LATEX) $(ROOT) ;\
fi ; \
else \
exit 0 ;\
fi
$(ROOT).bbl: $(BIB) .bibcheck
@-if [ -r $(ROOT).aux ] ; then \
if fgrep -s 'cite' $(ROOT).aux ; then \
bibtex $(ROOT) ;\
else \
touch $(ROOT).bbl ;\
fi ;\
else \
touch $(ROOT).bbl ;\
fi
# This is to make docs without references happy
.bibcheck:
@touch .bibcheck
See more files for this project here