Om vi hade haft otur och det funnits en fil med namnet utskrift som var nyare än filen gnulinux.ps, så skulle vi inte få vår utskrift. Detta är kanske inte vad man önskar. Men det finns ett sätt att gardera sig mot sådan otur. Om man har med en regel med namnet .PHONY och med utskrift som delmål, så struntar make i om det finns någom fil med namnet utskrift eller inte. Därigenom försäkrar man sig om att kommandona i målet alltid utförs.
Ofta tar man i sin Makefile med ett mål som gör att make kan städa upp efter sig. Detta mål brukar heta clean och har till syfte att radera alla eller en del av de filer som tillverkas automatiskt i de andra målen. I vårt exempel kan man låta clean radera gnulinux.log, gnulinux.aux och alla kopior som Emacs har gjort (de filer vars namn slutar med ett tilde), samt eventuellt också gnulinux.dvi och gnulinux.ps. Målet clean bör naturligtvis också sättas under .PHONY.
Om man ger kommandot make utan att specificera något mål, så tar make hand om det första målet i Makefile. Därför kan man sätta det mål man vanligtvis vill uppnå först. Fast det finns ett annat standardsätt att göra detta på: man brukar ha ett mål med namnet all överst i Makefile, och som delmål till all anges det eller de mål man oftast vill få utförda.
Vi ändrar alltså vår Makefile till
all: gnulinux.ps
.PHONY: all utskrift clean
gnulinux.dvi: gnulinux.tex definitioner.tex unix.tex
latex gnulinux.tex
gnulinux.ps: gnulinux.dvi
dvips -o gnulinux.ps gnulinux.dvi
utskrift: gnulinux.ps
lpr gnulinux.ps
clean:
rm *~ gnulinux.{dvi,ps,aux,log}
Och så provar vi hur det fungerar!$ ls
rm *~ gnulinux.{dvi,ps,aux,log}
latex gnulinux.tex
This is TeX, Version 3.14159 (C version 6.1)
(gnulinux.tex
LaTeX2e <1996/12/01>
Babel <v3.6h> and hyphenation patterns for american, swedish, loaded.
(/usr/lib/texmf/tex/latex/base/book.cls
Document Class: book 1996/10/31 v1.3u Standard LaTeX document class
(/usr/lib/texmf/tex/latex/base/bk12.clo)) (definitioner.tex)
No file gnulinux.aux.
[1] (unix.tex) [2] (gnulinux.aux) )
(see the transcript file for additional information)
Output written on gnulinux.dvi (2 pages, 2328 bytes).
Transcript written on gnulinux.log.
dvips -o gnulinux.ps gnulinux.dvi
This is dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
' TeX output 1997.11.18:0050' -> gnulinux.ps
<tex.pro>. [1] [2]
make: Nothing to be done for `all'.