---
title: "make bråkar - beroenden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/81504-make-bråkar-beroenden"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "spango"
published: "2003-07-07T15:46:29.000Z"
updated: "2003-07-07T15:46:29.000Z"
replies: 0
views: 203
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/81504-make-bråkar-beroenden"
---

# make bråkar - beroenden

## #1 — spango, 2003-07-07T15:46Z

Hej, jag sitter och skriver ett dokument i LaTeX och har skrivit en makefile för att underlätta kompilering. För att kompilera .tex-filer till .dvi har jag följande regel i makefilen:

```
%.dvi: %.tex
ifeq ($(TWICE),yes)
	$(LATEX) "$(DOCUMENTCLASS) \input{$<}"
	rm $(LATEXCLS).dvi
	$(LATEX) "$(DOCUMENTCLASS) \input{$<}"
	mv $(LATEXCLS).dvi $@
else
	$(LATEX) "$(DOCUMENTCLASS) \input{$<}"
	mv $(LATEXCLS).dvi $@
endif
```

Så långt funkar det bra. Säger jag "make complex_anticipation.dvi" kompilerar den complex_anticipation.tex till complex_anticipation.dvi, säger jag "make TWICE=yes complex_anticipation.dvi" kompilerar den två gånger (vilket man vill göra ibland för att undvika keck med innehållsförteckningar, korsreferenser et.c.).

Men &ndash; om jag har en fil som inkluderar andra filer vill jag naturligtvis att den ska inse att .dvi-filen som skapas vid kompilering  är förbi bäst-före-datum. Alltså har jag lagt in följande lilla rad där jag definierar dokumentets beroenden:

```
complex_anticipation.tex: macros.tex hyphenations.tex bibliography.tex
```

... eftersom complex_anticipation.tex inkluderar de tre filerna. Och det är här problemet börjar &ndash; om jag kompilerar till .dvi, ändrar i exempelvis macros.tex men inte i complex_anticipation.tex, menar make att "complex_anticipation.dvi is up to date", vilket den ju inte är. Så här ser en typisk kommandoradssession ut:

```
[gustaf-c@l324 real_deal]$ [b]make complex_anticipation.dvi[/b]
[i]... latex kompilerar min .tex-fil...[/i]
[gustaf-c@l324 real_deal]$ [b]touch macros.tex[/b]
[gustaf-c@l324 real_deal]$ [b]make complex_anticipation.dvi[/b]
make: `complex_anticipation.dvi' is up to date.
```

Nu är jag inte så jättehej på make, så därför frågar jag: Varför funkar det inte? Används inte beroenden på det här viset?

Permalänk: https://www.webforum.nu/p/81504

---

Tråden på webben: https://www.webforum.nu/amne/programmering/81504-make-bråkar-beroenden
