Provided by: manpages-da_4.13-4_all 

NAVN
make - GNU's make-værktøj til vedligeholdelse af grupper af programmer
SYNOPSIS
make [TILVALG]... [MÅL]...
BESKRIVELSE
Formålet med make værktøjet er automatisk at afgøre hvilke dele af et stort program som behøver at blive
genoversat, og at udføre kommandoerne til at genoversætte dem. Manualen beskriver GNU's implementation af
make, som er skrevet af Richard Stallman og Roland McGrath, og i øjeblikket vedligeholdes af Paul Smith.
Vores eksempler viser C-programmer, da de er de almindeligste, men du kan bruge make med ethvert
programmeringssprog, hvis oversætter kan køres fra en skalkommando. Faktisk er make ikke begrænset til
programmer. Du kan bruge det til at beskrive enhver opgave hvor nogle filer skal opdateres automatisk
udfra andre filer, når disse andre filer ændres.
For at kunne bruge make, skal du skrive en fil kaldet makefilen som beskriver forbindelserne mellem
filerne i dit program og angiver kommandoerne til at opdatere hver fil. I et program er den kørbare fil
typisk opdateret fra objektfiler, som igen er lavet ved at oversætte kildetekstfiler.
Når først der er en passende makefil, vil denne enkle kommado:
make
være nok til at gennemføre alle nødvendige genoversættelser. Programmet make bruger makefilens
beskrivelse og tiderne for filernes sidste ændring til at afgøre hvilke af filerne, der skal opdateres.
For hver af disse filer udfører programmet de kommandoer, der er noteret i makefilen.
make udfører kommandoer i makefilen for at opdatere et eller flere mål, som typisk er programmer. Hvis
der ikke er angivet et -f tilvalg, vil make kigge efter makefilerne GNUmakefile, makefile og Makefile i
den rækkefølge.
Normalt bør du kalde din makefil enten makefile eller Makefile. (Vi anbefaler Makefile fordi det vil få
en fremtrædende plads i begyndelsen af en katalogfilliste, i nærheden af andre vigtige filer såsom
README). Det første tjekkede navn, GNUmakefile, er ikke anbefalet for de fleste makefiler. Du bør bruge
det navn hvis du har en makefil som er specifik til GNU's make, og som ikke kan forstås af andre
versioner af make. Hvis makefilen er `-', læses standard-inddata.
make opdaterer et mål hvis det afhænger af forudsatte filer som er blevet ændret efter at målet sidst var
ændret, eller hvis målet ikke eksisterer.
TILVALG
-b, -m
Disse ignoreres af hensyn til kompatibilitet med andre versioner af make.
-B, --always-make
Skab alle mål betingelsesløst.
-C kat, --directory=kat
Skift til kataloget kat før læsning af makefiler eller noget som helt andet. Hvis flere -C tilvalg
er angivet, bliver hvert tolket relativt til det forrige: -C / -C etc svarer til -C /etc. Det
bruges typisk ved rekursive kald af make.
-d Udskriv fejlretningsinformation foruden den normale udførelse. Fejlretningsinformationen siger
hvilke filer som kandiderer til at blive genlavet, hvilke filtider som sammenlignes med hvilke
resultater, hvilke filer som faktisk behøver at blive genlavet, hvilke implicitte regler der
undersøges, og hvilke der anvendes - alt interessant om hvordan make beslutter hvad der skal gøres.
--debug[=FLAG]
Udskriv fejlsøgningsinformation udover normal behandling. Hvis FLAG udelades så er opførelsen den
samme, som hvis -d var angivet. FLAG kan være a for al fejlsøgningsinformation (det samme som at
bruge -d), b for grundlæggende fejlsøgning, v for en mere uddybende grundlæggende fejlsøgning, i for
at vise implicitte regler, j for detaljer om igangsættelse af kommandoer og m for fejlsøgning under
gendannelse af makefiler. Brug n til at deaktivere alle tidligere fejlsøgningsflag.
-e, --environment-overrides
Giv variable fra miljøet forrang for variable fra makefiler.
-f fil, --file=fil, --makefile=FIL
Brug fil som makefile.
-i, --ignore-errors
Ignorér alle fejl i kommandoer som udføres for at genlave filer.
-I kat, --include-dir=kat
Angiver et katalog kat at søge inkluderede makefiler i. Hvis adskillige -I tilvalg bruges til
angive adskillige kataloger, søges der i katalogerne i den angivne rækkefølge. Ulig argumenterne
til andre af makes flag, må katalogerne givet med -I komme umiddelbart efter flaget: -Ikat er
tilladt, såvel som -Ikat. Denne syntaks er tilladt for kompatibilitet med C's præprocessors -I
tilvalg.
-j [jobs], --jobs[=jobs]
Angiver antallet af job (kommandoer) til at køre samtidigt. Hvis der er mere end et -j-tilvalg, er
det sidste virksomt. Hvis -j-tilvalget gives uden et argument, vil make ikke begrænse antallet af
job, der kan køre samtidigt. Når make igangsætter en sub-make, vil alle instanser af make koordinere
for at køre det angivne antal job ad gangen; se sektionen PARALLEL MAKE OG JOBSERVEREN for detaljer.
--jobserver-fds [R,W]
Det interne tilvalg make bruger til at sende jobserverens datakanals læs og skriv-fildeskriptornumre
til sub-makes; se sektionen PARALLEL MAKE OG JOBSERVEREN for detaljer
-k, --keep-going
Fortsæt så længe som muligt efter en fejl. Mens målet som fejlede, og dem som afhænger af det, ikke
kan genlaves, kan andre ting som det afhænger af, alligevel udføres.
-l [last], --load-average[=last]
Angiver at ingen nye job (kommandoer) skal startes hvis andre job kører, og middelbelastningen er
last (et kommatal) eller højere. Uden et argument fjernes en foregående belastningsgrænse.
-L, --check-symlink-times
Brug sidste mtime mellem symbolske lænker og mål.
-n, --just-print, --dry-run, --recon
Udskriv kommandoerne der skulle have været udført, men afvikl dem ikke (undtagen under bestemte
omstændigheder).
-o fil, --old-file=fil, --assume-old=fil
Undlad at genlave filen fil selv hvis den er ældre end filer som den afhænger af, og undlad at
genlave noget på grund af ændringer i fil. Basalt set behandles filen som værende ældst, og dens
regler ignoreres.
-O[type], --output-sync[=type]
Når der afvikles flere job parallet med -j så samles resultatet for hvert job frem for at blive
blandet med resultatet fra andre job. Hvis type ikke er angivet eller er target så grupperes
resultatet fra hele opskriften for hvert mål sammen. Hvis type er line grupperes resultatet fra hver
kommandolinje i en opskrift sammen. Hvis type er recurse vil resultatet fra en hel rekursiv make
grupperes sammen. Hvis type er none er resultatsynkronisering deaktiveret.
-p, --print-data-base
Udskriv databasen (regler og varibelværdier) som stammer fra læsningen af makefiler; fortsæt så som
sædvanligt eller som det ellers er angivet. Det udskriver også versionsinformationen fra -v valget
(se nedenfor). For at udskrive databasen uden at prøve på at genlave nogen filer, brug make -p
-f/dev/null.
-q, --question
“forespørgselstilstand”. Kør ingen kommandoer, og udskriv intet; bare returnér en afslutningskode
som er nul hvis de angivne mål allerede er ajour, og ellers ikkenul.
-r, --no-builtin-rules
Udeluk brugen af indbyggede implicitte regler. Slet også den forudgivne suffiksliste for
suffiksregler.
-R, --no-builtin-variables
Definer ikke indbyggede variabler.
-s, --silent, --quiet
Stille udførelse; udskriv ikke kommandoerne som de bliver udført.
-S, --no-keep-going, --stop
Ophæv virkningen af -k-tilvalget. Dette er aldrig nødvendigt undtagen i en rekursiv make, hvor -k
kan arves fra en foregående make ved hjælp af MAKEFLAGS eller hvis du sætter -k i MAKEFLAGS i dit
miljø.
-t, --touch
Rør filer (marker dem up to date uden egentlig at ændre dem) i stedet for at køre deres kommandoer.
Det bruges til at foregive at kommandoerne blev udført for at narre fremtidige kald af make.
--trace
Information om dispositionen af hvert mål udskrives (hvorfor målet bliver genbygget og hvilke
kommander afvikles for at genbygge målet).
-v, --version
Udskriv versionnummeret for programmet make samt en besked om ophavsretten, en liste over forfattere
og at der ingen garanti er.
-w, --print-directory
Udskriv en besked med arbejdskataloget før og efter anden udførelsen. Det kan være nyttigt til at
spore fejl i komplicerede indlejringer af rekursive make kommandoer.
--no-print-directory
Slå -w fra, selv hvis det var slået til automatisk.
-W fil, --what-if=fil, --new-file=fil, --assume-new=fil
Foregiv at målet fil lige er blevet ændret. Når det bruges med -n flaget, vil det vise hvad som
ville ske hvis du ændrede den fil. Uden -n er det næsten det samme som at køre en touch kommando på
den givne fil før kørslen af make, bortset fra at ændringstiden kun ændres i makes fantasi.
--warn-undefined-variables
Advar når en udefineret variabel bruges.
AFSLUT-STATUS
GNU make afslutter med en status nul hvis alle makefiler blev fortolket med succes og ingen mål, der blev
bygget, fejlede. En status på en vil blive returneret hvis flaget -q blev brugt og make afgør, at et mål
skal genbygges. En status på to vil blive returneret, hvis der opstår fejl.
SE OGSÅ
Hele dokumentationen for make bliver vedligeholdt som Texinfo manual. Hvis info and make programmerne er
korrekt installeret på dit system vil komandoen
info make
bør give dig adgang til den fulde manual. Derudover er manualen også tilgængelig på nettet på
https://www.gnu.org/software/make/manual/html_node/index.html
PARALLEL MAKE OG JOBSERVEREN
Ved at bruge tilvalget -j kan brugeren instruere make til at afvikle opgaver parallelt. Ved at angive et
numerisk argument for -j kan brugeren angive en øvre grænse for antallet af parallelle opgaver.
Når byggemiljøet er sådan at en make på topniveau igangsætter sub-makes (for eksempel en stil hvor hver
undermappe indeholder sin egen Makefil), så ved ingen individuel instans af make hvor mange opgaver, der
afvikles parallet, så at holde antallet af opgaver under den øvre grænse ville være umulig uden
kommunikation mellem alle instanser af make under afvikling. Mens løsninger som at have topniveauets make
til at fungere som en central styring er mulig, eller brug af andre synkroniseringsmekanismer såsom delt
hukommelse eller sokler kan oprettes, så bruger den nuværende implementering en simpel delt datakanal.
Denne datakanal oprettes af topniveauets make-proces og sendes videre til alle sub-makes. Topniveauets
makeprocesskriver N-1 en-byte symboler ind i datakanalen (Topniveauets make antages at reservere et
symbol for sig selv). Når enhver af make-processerne (inklusive topniveauets make skal afvikle en ny
opgave, så læser den en byte fra den delte datakanal. Hvis der ikke er nogen symboler tilbage, så må den
vente på, at et symbol skrives tilbage til datakanalen. Når opgaven er færdig skriver make-processen et
symbol tilbage til datakanalen (og dermed, hvis symbolerne var opbrugt, fjernes blokeringen på den første
make-proces, der ventede på et symbol). Da kun N-1-symboler blev skrevet ind i datakanalen, så kan kun N
opgaver afvikles på ethvert givent tidspunkt.
Hvis jobbet til afvikling ikke er en sub-make, så vil make lukke jobserverens datakanalfildeskriptorer
før igangsættelse af kommandoerne, så at kommandoen ikke kan påvirke jobserver, og kommandoen ikke finder
nogen usædvanlige fildeskriptorer.
FEJL
Se kapitlet "Problems and Bugs" i The GNU Make Manual .
FORFATTER
Denne manualside er skrevet af Dennis Morse fra Stanford University. Den er yderligere blevet opdateret
af Mike Frysinger. Den er blevet omorganiseret af Roland McGrath. Vedligeholdt af Paul Smith.
OPHAVSRET
Ophavsret © 1992-1993, 1996-2016 Free Software Foundation, Inc. Denne fil er en del af GNU make.
GNU Make er et frit program; du kan videredistribuere og/eller ændre programmer under betingelserne i GNU
General Public License som udgivet af Free Software Foundation; enten version 3 af licensen, eller (efter
dit valg) enhver nyere version.
GNU Make er distriburet i håbet om, at programmet vil være nyttigt, men UDEN NOGEN GARANTI; selv uden den
underforstående garanti i SALGBARHED eller EGNETHED FOR ET BESTEMT FORMÅL. Se GNU Generel Public License
for yderligere detaljer.
Du bør have modtaget en kopi af GNU General Public License sammen med dette program. Hvis ikke, se
http://www.gnu.org/licenses/.
OVERSÆTTELSE
Oversættere af denne manual til dansk Byrial Ole Jensen <byrial@vip.cybercity.dk> og Joe Hansen
<joedalton2@yahoo.dk>
Denne oversættelse er gratis dokumentation; læs GNU General Public License version 3 eller nyere for
ophavsretbetingelser. Der er INGEN ANSVAR.
Hvis du støder på fejl i oversættelsen af denne vejledning, skal du sende en besked til debian-l10n-
danish@lists.debian.org.
GNU 28 februar 2016 MAKE(1)