MAKE(1) Brugerkommandoer MAKE(1) NAVN make - GNU Make-redskab til vedligeholdelse af programgrupper SYNOPSIS make [TILVALG]... [MAL]... BESKRIVELSE Formalet med make vaerktojet er automatisk at afgore hvilke dele af et stort program som behover at blive genoversat, og at udfore kommandoerne til at genoversaette dem. Manualen beskriver GNU's implementation af make, som er skrevet af Richard Stallman og Roland McGrath, og i ojeblikket vedligeholdes af Paul Smith. Vores eksempler viser C-programmer, da de er de almindeligste, men du kan bruge make med ethvert programmeringssprog, hvis oversaetter kan kores fra en skalkommando. Faktisk er make ikke begraenset til programmer. Du kan bruge det til at beskrive enhver opgave hvor nogle filer skal opdateres automatisk udfra andre filer, nar disse andre filer aendres. 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 korbare fil typisk opdateret fra objektfiler, som igen er lavet ved at oversaette kildetekstfiler. Nar forst der er en passende makefil, vil denne enkle kommado: make vaere nok til at gennemfore alle nodvendige genoversaettelser. Programmet make bruger makefilens beskrivelse og tiderne for filernes sidste aendring til at afgore hvilke af filerne, der skal opdateres. For hver af disse filer udforer programmet de kommandoer, der er noteret i makefilen. make udforer kommandoer i makefilen for at opdatere et eller flere mal, hvor mal typisk er et program. Hvis ikke tilvalget -f er angivet, sa vil make kigge efter makefilerne GNUmakefile, makefile og Makefile, i den raekkefolge. Normalt bor du kalde din makefil enten makefile eller Makefile. (Vi anbefaler Makefile fordi det vil fa en fremtraedende plads i begyndelsen af en mappefilliste, i naerheden af andre vigtige filer sasom README). Det forste tjekkede navn, GNUmakefile, er ikke anbefalet for de fleste makefiler. Du bor bruge det navn, hvis du har en makefil, som er specifik for GNU Make, og som ikke kan forstas af andre versioner af make. Hvis makefilen er >>-'<< laeses standardind. make opdaterer et mal hvis det afhaenger af forudsatte filer som er blevet aendret efter at malet sidst var aendret, eller hvis malet ikke eksisterer. TILVALG -b, -m Disse ignoreres af hensyn til kompatibilitet med andre versioner af make. -B, --always-make Skab alle mal betingelseslost. -C kat, --directory=kat Skift til mappen kat for laesning 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 udforelse. Fejlretningsinformationen siger hvilke filer som kandiderer til at blive genlavet, hvilke filtider som sammenlignes med hvilke resultater, hvilke filer som faktisk behover at blive genlavet, hvilke implicitte regler der undersoges, og hvilke der anvendes - alt interessant om hvordan make beslutter hvad der skal gores. --debug[=FLAG] Vis fejlsogningsinformation udover normal behandling. Hvis FLAG udelades sa er opforelsen den samme, som hvis -d var angivet. FLAG kan vaere enhver af de folgende navne, komma- eller mellemrumadskilt. Kun det forste tegn er signifikant: Resten kan udelades: all for al fejlsogningsinformation (det samme som at bruge -d), basic for grundlaeggende fejlsogning, verbose for en mere uddybende grundlaeggende fejlsogning, implicit for at vise implicitte regler, jobs for detaljer om igangsaettelse af kommandoer og makefile for fejlsogning under gendannelse af makefiler. print viser alle opskrifter, der afvikles selv om de er skjulte og why viser arsagen til at make besluttede at bygge hvert mal igen. Brug n til at deaktivere alle tidligere fejlsogningsflag. -e, --environment-overrides Giv variabler fra miljoet forrang for variabler fra makefiler. -E streng, --eval streng Fortolk streng via eval-funktionen, for fortolknng af makefiler. -f fil, --file=fil, --makefile=FIL Brug fil som makefile. -i, --ignore-errors Ignorer alle fejl i kommandoer som udfores for at genlave filer. -I kat, --include-dir=kat Angiver en mappen kat at soge inkluderede makefiler i. Hvis adskillige -I tilvalg bruges til angive adskillige mapper, soges der i mapperne i den angivne raekkefolge. Ulig argumenterne til andre af makes flag, ma mapperne givet med -I komme umiddelbart efter flaget: -Ikat er tilladt, savel som -Ikat. Denne syntaks er tilladt for kompatibilitet med C's praeprocessors -I tilvalg. -j [jobs], --jobs[=jobs] Angiver antallet af job (kommandoer) til at kore samtidigt. Hvis der er mere end et -j tilvalg, er det sidste virksomt. Hvis -j tilvalget gives uden et argument, vil make ikke begraense antallet af job som kan kore samtidigt. --jobserver-style=stil Jobserverens stil. stil kan vaere en af fifo, pipe eller sem (Kun Windows). -k, --keep-going Fortsaet sa laenge som muligt efter en fejl. Mens malet som fejlede, og dem som afhaenger af det, ikke kan genlaves, kan andre ting som det afhaenger af, alligevel udfores. -l [last], --load-average[=last] Angiver at ingen nye job (kommandoer) skal startes hvis andre job korer, og middelbelastningen er last (et kommatal) eller hojere. Uden et argument fjernes en foregaende belastningsgraense. -L, --check-symlink-times Brug sidste mtime mellem symbolske laenker og mal. -n, --just-print, --dry-run, --recon Udskriv kommandoerne der skulle have vaeret udfort, men afvikl dem ikke (undtagen under bestemte omstaendigheder). -o fil, --old-file=fil, --assume-old=fil Undlad at genlave filen fil selv hvis den er aeldre end filer som den afhaenger af, og undlad at genlave noget pa grund af aendringer i fil. Basalt set behandles filen som vaerende aeldst, og dens regler ignoreres. -O[type], --output-sync[=type] Nar der afvikles flere job parallet med -j sa samles resultatet for hvert job frem for at blive blandet med resultatet fra andre job. Hvis type ikke er angivet eller er target sa grupperes resultatet fra hele opskriften for hvert mal 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 varibelvaerdier) som stammer fra laesningen af makefiler; fortsaet sa som saedvanligt eller som det ellers er angivet. Det udskriver ogsa versionsinformationen fra -v valget (se nedenfor). For at udskrive databasen uden at prove pa at genlave nogen filer, brug make -p -f/dev/null. -q, --question "foresporgselstilstand". Kor ingen kommandoer, og udskriv intet; bare returner en afslutningskode som er nul hvis de angivne mal allerede er ajour, og ellers ikkenul. -r, --no-builtin-rules Udeluk brugen af indbyggede implicitte regler. Slet ogsa den forudgivne suffiksliste for suffiksregler. -R, --no-builtin-variables Definer ikke indbyggede variabler. -s, --silent, --quiet Stille udforelse; udskriv ikke kommandoerne som de bliver udfort. --no-silent Ophaev effekten af tilvalget -s. -S, --no-keep-going, --stop Ophaev effekten af tilvalget -k. -t, --touch Ror filer (marker dem up to date uden egentlig at aendre dem) i stedet for at kore deres kommandoer. Det bruges til at foregive at kommandoerne blev udfort for at narre fremtidige kald af make. --trace Information om dispositionen af hvert mal udskrives (hvorfor malet bliver genbygget og hvilke kommander afvikles for at genbygge malet). -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 for og efter anden udforelsen. Det kan vaere nyttigt til at spore fejl i komplicerede indlejringer af rekursive make-kommandoer. --no-print-directory Sla -w fra, selv hvis det var slaet til automatisk. --shuffle[=TILSTAND] Aktiver blanding af mal og krav for raekkefolge. TILSTAND er en af none til at deaktivere shuffle-tilstand, random til at blande krav i vilkarlig raekkefolge, reverse til at overveje krav i omvendt raekkefolge, eller et heltal der aktiverer random-tilstand med en specifik seed-vaerdi. Hvis TILSTAND udelades er standarden random. -W fil, --what-if=fil, --new-file=fil, --assume-new=fil Foregiv at malet fil lige er blevet aendret. Nar det bruges med -n flaget, vil det vise hvad som ville ske hvis du aendrede den fil. Uden -n er det naesten det samme som at kore en touch kommando pa den givne fil for korslen af make, bortset fra at aendringstiden kun aendres i makes fantasi. --warn-undefined-variables Advar nar en udefineret variabel bruges. AFSLUT-STATUS GNU Make afslutter med en status nul hvis alle makefiler blev fortolket med succes og ingen mal, der blev bygget, mislykkedes. En status pa en vil blive returneret hvis flaget -q blev brugt og make afgor, at et mal skal bygges igen. En status pa to vil blive returneret, hvis der opstar fejl. SE OGSA Hele dokumentationen for make bliver vedligeholdt som Texinfo manual. Hvis info and make programmerne er korrekt installeret pa dit system vil komandoen info make give dig adgang til den fulde manual. 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 (C) 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 aendre 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 habet om, at programmet vil vaere nyttigt, men UDEN NOGEN GARANTI; selv uden den underforstaende garanti i SALGBARHED eller EGNETHED FOR ET BESTEMT FORMAL. Se GNU Generel Public License for yderligere detaljer. Du bor have modtaget en kopi af GNU General Public License sammen med dette program. Hvis ikke, se https://www.gnu.org/licenses/. OVERSAETTELSE Oversaettere af denne manual til dansk Byrial Ole Jensen og Joe Hansen Denne oversaettelse er gratis dokumentation; laes GNU General Public License version 3 eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR. Hvis du stoder pa fejl i oversaettelsen af denne vejledning, skal du sende en besked til . GNU 26. maj 2023 MAKE(1)