make - GNU Make-redskab til vedligeholdelse af programgrupper
make [TILVALG]... [MÅL]...
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, hvor mål typisk er
et program. Hvis ikke tilvalget -f er angivet, så 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 mappefilliste, 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 for GNU Make, og som ikke kan forstås af andre versioner
af make. Hvis makefilen er »-'« læses
standardind.
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.
- -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 mappen 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]
- Vis fejlsøgningsinformation udover normal behandling. Hvis
FLAG udelades så er opførelsen den samme, som hvis
-d var angivet. FLAG kan være enhver af de
følgende navne, komma- eller mellemrumadskilt. Kun det
første tegn er signifikant: Resten kan udelades: all for al
fejlsøgningsinformation (det samme som at bruge -d),
basic for grundlæggende fejlsøgning, verbose
for en mere uddybende grundlæggende fejlsøgning,
implicit for at vise implicitte regler, jobs for detaljer om
igangsættelse af kommandoer og makefile for
fejlsøgning under gendannelse af makefiler. print viser alle
opskrifter, der afvikles selv om de er skjulte og why viser
årsagen til at make besluttede at bygge hvert mål
igen. Brug n til at deaktivere alle tidligere
fejlsøgningsflag.
- -e,
--environment-overrides
- Giv variabler fra miljøet forrang for variabler fra makefiler.
- -E streng,
--eval streng
- Fortolk streng via eval-funktionen, før fortolknng af
makefiler.
- -f fil,
--file=fil, --makefile=FIL
- Brug fil som makefile.
- -i,
--ignore-errors
- Ignorer alle fejl i kommandoer som udføres for at genlave
filer.
- -I kat,
--include-dir=kat
- Angiver en mappen kat at søge inkluderede makefiler i. Hvis
adskillige -I tilvalg bruges til angive adskillige mapper,
søges der i mapperne i den angivne rækkefølge. Ulig
argumenterne til andre af makes flag, må mapperne 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 som kan køre samtidigt.
- --jobserver-style=stil
- Jobserverens stil. stil kan være en af fifo,
pipe eller sem (Kun Windows).
- -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 returner 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.
- --no-silent
- Ophæv effekten af tilvalget -s.
- -S, --no-keep-going,
--stop
- Ophæv effekten af tilvalget -k.
- -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 arbejdsmappen 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.
- --shuffle[=TILSTAND]
- Aktiver blanding af mål og krav for rækkefølge.
TILSTAND er en af none til at deaktivere shuffle-tilstand,
random til at blande krav i vilkårlig
rækkefølge, reverse til at overveje krav i omvendt
rækkefølge, eller et heltal <seed> der
aktiverer random-tilstand med en specifik seed-værdi.
Hvis TILSTAND udelades er standarden random.
- -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.
GNU Make afslutter med en status nul hvis alle makefiler blev
fortolket med succes og ingen mål, der blev bygget, mislykkedes. En
status på en vil blive returneret hvis flaget -q blev brugt og
make afgør, at et mål skal bygges igen. En status
på to vil blive returneret, hvis der opstår fejl.
Hele dokumentationen for make bliver vedligeholdt som
Texinfo manual. Hvis info and make programmerne er korrekt
installeret på dit system vil komandoen
- info make
give dig adgang til den fulde manual.
Se kapitlet "Problems and Bugs" i The GNU Make Manual
.
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 © 1992-1993, 1996-2023 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
https://www.gnu.org/licenses/.
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.