Hi, On Wed, Feb 20, 2002 at 04:53:31PM -0800, C.M. Connelly wrote: > "OA" == Osamu Aoki <[EMAIL PROTECTED]> writes: > > OA> Adam Di Carlo, (boot-floppies mainatiner) responded back > > I have a Perl script that I use to TeX documents. As part of the > process, it copies the .aux file, and compares the .aux file from > the next run to the backup (.bux). If the files are identical, it > stops TeXing (and goes on to the next step, if any). If not, it > runs TeX again.
That exactly Adam does and I do with Makefile. make $@ is your friend. See below for the key part. Since debiandoc is shell script, it may be best having "while-loop" or "for-loop" with error handling. Osamu ------ [ Interesting part of Makefile ] ---- # # Interesting part of Makefile dor Debiandoc2foo short cominngs # # maximum times we're willing to run TeX to get cross-references right, # if you subtract by 3 #MAX_TEX_RECURSION := 6 # Adam uses 6, I just bumped numbrer bigger MAX_TEX_RECURSION := 9 $(MANUAL).%.texinfo: $(MANUAL).%.sgml date.ent dynamic.%.ent debiandoc2texinfo -l $* $< # Buggy, Top must be moved manually to higher position $(MANUAL).%.info: $(MANUAL).%.texinfo @#makeinfo -v -o $(MANUAL).$*.info $(MANUAL).$*.texinfo makeinfo --force -v -o $(MANUAL).$*.info $(MANUAL).$*.texinfo #----[ generating teTeX ]------------------------------------------------------ $(MANUAL).%.tex: $(MANUAL).%.sgml date.ent dynamic.%.ent debiandoc2latex -l $* $< #$(MANUAL).%.ps: $(MANUAL).%.sgml date.ent dynamic.%.ent # debiandoc2latexps -l $* $< # debiandoc2latexps is broken. Imitate Makefile in boot-floppies $(MANUAL).%.ps: $(MANUAL).%.tex # note that I have seen bi-stable .aux files, thus we check two levels deep @-cp -pf prior.aux pprior.aux 2>/dev/null @-cp -pf $(basename $<).aux prior.aux 2>/dev/null # fail if we don't have pdflatex correctly installed @kpsewhich latex.fmt >/dev/null # due to a bug in debiandoc2latex2e output, this might fail @-latex '\nonstopmode\input{$<}' >/dev/null # see $(@:.ps=.log) for details dvips -t `cat /etc/papersize` -o $(MANUAL).$*.ps $(MANUAL).$* @set -e ;\ if ! cmp $(basename $<).aux prior.aux 2>/dev/null && \ ! cmp $(basename $<).aux pprior.aux 2>/dev/null; then \ if expr $(MAKELEVEL) '<' $(MAX_TEX_RECURSION) >/dev/null;\ then \ echo ">>> remaking $@ (take $(MAKELEVEL))" ;\ rm -f $@ ;\ $(MAKE) $@ ;\ else \ echo "E: $@ needs remaking, but we have reached max. level, $(MAX_TEX_RECURSION)" ;\ fi \ fi @rm -f prior.aux pprior.aux # PDF created has starting page with error report. (I will try fixing it # soon.) #$(MANUAL).%.pdf: $(MANUAL).%.sgml date.ent dynamic.%.ent # debiandoc2latexpdf -l $* $< # debiandoc2latexpdf is broken. Imitate Makefile in boot-floppies $(MANUAL).%.pdf: $(MANUAL).%.tex # note that I have seen bi-stable .aux files, thus we check two levels deep @-cp -pf prior.aux pprior.aux 2>/dev/null @-cp -pf $(basename $<).aux prior.aux 2>/dev/null # fail if we don't have pdflatex correctly installed @kpsewhich pdflatex.fmt >/dev/null # due to a bug in debiandoc2latex2e output, this might fail @-pdflatex '\nonstopmode\input{$<}' >/dev/null # see $(@:.pdf=.log) for details @set -e ;\ if ! cmp $(basename $<).aux prior.aux 2>/dev/null && \ ! cmp $(basename $<).aux pprior.aux 2>/dev/null; then \ if expr $(MAKELEVEL) '<' $(MAX_TEX_RECURSION) >/dev/null;\ then \ echo ">>> remaking $@ (take $(MAKELEVEL))" ;\ rm -f $@ ;\ $(MAKE) $@ ;\ else \ echo "E: $@ needs remaking, but we have reached max. level, $(MAX_TEX_RECURSION)" ;\ fi \ fi @rm -f prior.aux pprior.aux -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Osamu Aoki <[EMAIL PROTECTED]> @ Cupertino, CA USA +