[make]Target wordt uitgevoerd, maar deps zijn niet veranderd

Pagina: 1
Acties:

  • ph0t0nix
  • Registratie: December 2006
  • Laatst online: 26-11 21:48
Ik ben bezig een groot document met figuren in LaTeX aan het schrijven. Nu heb ik een Makefile gemaakt om de TeX source en de benodigde figuren naar PDF te converteren.
* De .tex files staan in de subdir texsrc
* De in XFig gemaakte plaatjes staan in de subdir Graphics/src. De daarvan afgeleide .pdf files komen in Graphics.
* Er zijn ook plaatjes die ik alleen in .eps heb. Ook daarvan moeten .pdfs gemaakt worden.
* De .bbl file bevat bibliografie-info.

Dit is de (wat uitgeklede) Makefile:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
SRCDIR = texsrc
IMGDIR = Graphics
IMGSRCDIR = $(IMGDIR)/src
TARGET = thesis
PDFEPSFIGURES   = $(patsubst %.eps,%.pdf,$(wildcard $(IMGDIR)/*.eps))
PDFFIGFIGURES   = $(patsubst $(IMGSRCDIR)/%.fig,$(IMGDIR)/%.pdf,$(wildcard $(IMGSRCDIR)/*.fig))
.PHONY: all bib pdf figures
all:    pdf
bib:    $(TARGET).bbl
pdf:    $(TARGET).pdf
figures: $(PDFFIGFIGURES) $(PDFEPSFIGURES)

$(TARGET).bbl:  bibliodb.bib plainnatlck.bst figures
    pdflatex $(SRCDIR)/$(TARGET)
    bibtex $(TARGET)

$(TARGET).pdf: $(SRCDIR)/*.tex $(TARGET).bbl figures TAGS
    pdflatex $(SRCDIR)/$(TARGET)
    @while ( grep "Rerun to "   \
        $(TARGET).log > /dev/null ); do     \
        echo '** Re-running LaTeX **';      \
        pdflatex $(SRCDIR)/$(TARGET);               \
    done
    pdflatex $(SRCDIR)/$(TARGET)

# (re)Make .pdf if .eps is newer
%.pdf:  %.eps
    epstopdf $*.eps > $*.pdf
# (re)Make .pdf if .fig is newer
%.pdf:  src/%.fig
    fig2dev -Lpdftex -p $*.pdf_t $< $@
    fig2dev -Lpdftex_t -p $@ $< $*.pdf_t
# Verder staan er nog wat clean toestanden, maar die doen er niet toe.

Het probleem is dat als ik de figures-dependency uit de regel voor $(TARGET).bbl haal, hij netjes zegt dat de file up-to-date is (als dat idd zo is :P). Echter, als ik figures toevoeg runt hij altijd de pdflatex en de bibtex regel (niet de conversie van fig->pdf en eps->pdf, als dat niet nodig is).
Het .bbl target hangt wel van de aanwezigheid van de .pdf figuren af, want anders gaat pdflatex over z'n nek.

Dus: wat doe ik fout?