.\" -*- coding: UTF-8 -*- .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH MAKE 1 "28 februar 2016" GNU Brugerkommandoer .SH NAVN make \- GNU's make\-værktøj til vedligeholdelse af grupper af programmer .SH SYNOPSIS \fBmake\fP [\fITILVALG\fP]... [\fIMÅL\fP]... .SH BESKRIVELSE .LP Formålet med \fImake\fP 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 \fBmake\fP, 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 \fBmake\fP med ethvert programmeringssprog, hvis oversætter kan køres fra en skalkommando. Faktisk er \fBmake\fP 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. .LP For at kunne bruge \fBmake\fP, skal du skrive en fil kaldet \fImakefilen\fP 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. .LP Når først der er en passende makefil, vil denne enkle kommado: .sp 1 .RS \fBmake\fP .RE .sp 1 være nok til at gennemføre alle nødvendige genoversættelser. Programmet \fBmake\fP 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. .LP \fBmake\fP udfører kommandoer i \fImakefilen\fP for at opdatere et eller flere \fImål\fP, som typisk er programmer. Hvis der ikke er angivet et \fB\-f\fP tilvalg, vil \fBmake\fP kigge efter makefilerne \fIGNUmakefile\fP, \fImakefile\fP og \fIMakefile\fP i den rækkefølge. .LP Normalt bør du kalde din makefil enten \fImakefile\fP eller \fIMakefile\fP. (Vi anbefaler \fIMakefile\fP fordi det vil få en fremtrædende plads i begyndelsen af en katalogfilliste, i nærheden af andre vigtige filer såsom \fIREADME\fP). Det første tjekkede navn, \fIGNUmakefile\fP, er ikke anbefalet for de fleste makefiler. Du bør bruge det navn hvis du har en makefil som er specifik til GNU's \fBmake\fP, og som ikke kan forstås af andre versioner af \fBmake\fP. Hvis \fImakefilen\fP er `\-', læses standard\-inddata. .LP \fBmake\fP 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. .SH TILVALG .sp 1 .TP 0.5i \fB\-b\fP, \fB\-m\fP Disse ignoreres af hensyn til kompatibilitet med andre versioner af \fBmake\fP. .TP 0.5i \fB\-B\fP, \fB\-\-always\-make\fP Skab alle mål betingelsesløst. .TP 0.5i \fB\-C\fP \fIkat\fP, \fB\-\-directory\fP=\fIkat\fP Skift til kataloget \fIkat\fP før læsning af makefiler eller noget som helt andet. Hvis flere \fB\-C\fP tilvalg er angivet, bliver hvert tolket relativt til det forrige: \fB\-C \fP/ \fB\-C \fPetc svarer til \fB\-C \fP/etc. Det bruges typisk ved rekursive kald af \fBmake\fP. .TP 0.5i \fB\-d\fP 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 \fBmake\fP beslutter hvad der skal gøres. .TP 0.5i \fB\-\-debug\fP\fI[=FLAG]\fP Udskriv fejlsøgningsinformation udover normal behandling. Hvis \fIFLAG\fP udelades så er opførelsen den samme, som hvis \fB\-d\fP var angivet. \fIFLAG\fP kan være \fIa\fP for al fejlsøgningsinformation (det samme som at bruge \fB\-d\fP), \fIb\fP for grundlæggende fejlsøgning, \fIv\fP for en mere uddybende grundlæggende fejlsøgning, \fIi\fP for at vise implicitte regler, \fIj\fP for detaljer om igangsættelse af kommandoer og \fIm\fP for fejlsøgning under gendannelse af makefiler. Brug \fIn\fP til at deaktivere alle tidligere fejlsøgningsflag. .TP 0.5i \fB\-e\fP, \fB\-\-environment\-overrides\fP Giv variable fra miljøet forrang for variable fra makefiler. .TP 0.5i \fB\-f\fP \fIfil\fP, \fB\-\-file\fP=\fIfil\fP, \fB\-\-makefile\fP=\fIFIL\fP Brug \fIfil\fP som makefile. .TP 0.5i \fB\-i\fP, \fB\-\-ignore\-errors\fP Ignorér alle fejl i kommandoer som udføres for at genlave filer. .TP 0.5i \fB\-I\fP \fIkat\fP, \fB\-\-include\-dir\fP=\fIkat\fP Angiver et katalog \fIkat\fP at søge inkluderede makefiler i. Hvis adskillige \fB\-I\fP tilvalg bruges til angive adskillige kataloger, søges der i katalogerne i den angivne rækkefølge. Ulig argumenterne til andre af \fBmake\fPs flag, må katalogerne givet med \fB\-I\fP komme umiddelbart efter flaget: \fB\-I\fP\fIkat\fP er tilladt, såvel som \fB\-I\fP\fIkat\fP. Denne syntaks er tilladt for kompatibilitet med C's præprocessors \fB\-I\fP tilvalg. .TP 0.5i \fB\-j\fP [\fIjobs\fP], \fB\-\-jobs\fP[=\fIjobs\fP] Angiver antallet af \fIjob\fP (kommandoer) til at køre samtidigt. Hvis der er mere end et \fB\-j\fP\-tilvalg, er det sidste virksomt. Hvis \fB\-j\fP\-tilvalget gives uden et argument, vil \fBmake\fP ikke begrænse antallet af job, der kan køre samtidigt. Når \fBmake\fP igangsætter en \fBsub\-make,\fP vil alle instanser af make koordinere for at køre det angivne antal job ad gangen; se sektionen \fBPARALLEL MAKE OG JOBSERVEREN\fP for detaljer. .TP 0.5i \fB\-\-jobserver\-fds\fP [\fIR,W\fP] Det interne tilvalg \fBmake\fP bruger til at sende jobserverens datakanals læs og skriv\-fildeskriptornumre til \fBsub\-makes;\fP se sektionen \fBPARALLEL MAKE OG JOBSERVEREN\fP for detaljer .TP 0.5i \fB\-k\fP, \fB\-\-keep\-going\fP 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. .TP 0.5i \fB\-l\fP [\fIlast\fP], \fB\-\-load\-average\fP[=\fIlast\fP] Angiver at ingen nye job (kommandoer) skal startes hvis andre job kører, og middelbelastningen er \fIlast\fP (et kommatal) eller højere. Uden et argument fjernes en foregående belastningsgrænse. .TP 0.5i \fB\-L\fP, \fB\-\-check\-symlink\-times\fP Brug sidste mtime mellem symbolske lænker og mål. .TP 0.5i \fB\-n\fP, \fB\-\-just\-print\fP, \fB\-\-dry\-run\fP, \fB\-\-recon\fP Udskriv kommandoerne der skulle have været udført, men afvikl dem ikke (undtagen under bestemte omstændigheder). .TP 0.5i \fB\-o\fP \fIfil\fP, \fB\-\-old\-file\fP=\fIfil\fP, \fB\-\-assume\-old\fP=\fIfil\fP Undlad at genlave filen \fIfil\fP selv hvis den er ældre end filer som den afhænger af, og undlad at genlave noget på grund af ændringer i \fIfil\fP. Basalt set behandles filen som værende ældst, og dens regler ignoreres. .TP 0.5i \fB\-O\fP[\fItype\fP], \fB\-\-output\-sync\fP[=\fItype\fP] Når der afvikles flere job parallet med \fB\-j\fP så samles resultatet for hvert job frem for at blive blandet med resultatet fra andre job. Hvis \fItype\fP ikke er angivet eller er \fBtarget\fP så grupperes resultatet fra hele opskriften for hvert mål sammen. Hvis \fItype\fP er \fBline\fP grupperes resultatet fra hver kommandolinje i en opskrift sammen. Hvis \fItype\fP er \fBrecurse\fP vil resultatet fra en hel rekursiv make grupperes sammen. Hvis \fItype\fP er \fBnone\fP er resultatsynkronisering deaktiveret. .TP 0.5i \fB\-p\fP, \fB\-\-print\-data\-base\fP 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 \fB\-v\fP valget (se nedenfor). For at udskrive databasen uden at prøve på at genlave nogen filer, brug \fImake \-p \-f/dev/null\fP. .TP 0.5i \fB\-q\fP, \fB\-\-question\fP \*(lqforespørgselstilstand\*(rq. 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. .TP 0.5i \fB\-r\fP, \fB\-\-no\-builtin\-rules\fP Udeluk brugen af indbyggede implicitte regler. Slet også den forudgivne suffiksliste for suffiksregler. .TP 0.5i \fB\-R\fP, \fB\-\-no\-builtin\-variables\fP Definer ikke indbyggede variabler. .TP 0.5i \fB\-s\fP, \fB\-\-silent\fP, \fB\-\-quiet\fP Stille udførelse; udskriv ikke kommandoerne som de bliver udført. .TP 0.5i \fB\-S\fP, \fB\-\-no\-keep\-going\fP, \fB\-\-stop\fP Ophæv virkningen af \fB\-k\fP\-tilvalget. Dette er aldrig nødvendigt undtagen i en rekursiv \fBmake\fP, hvor \fB\-k\fP kan arves fra en foregående \fBmake\fP ved hjælp af MAKEFLAGS eller hvis du sætter \fB\-k\fP i MAKEFLAGS i dit miljø. .TP 0.5i \fB\-t\fP, \fB\-\-touch\fP 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 \fBmake\fP. .TP 0.5i \fB\-\-trace\fP Information om dispositionen af hvert mål udskrives (hvorfor målet bliver genbygget og hvilke kommander afvikles for at genbygge målet). .TP 0.5i \fB\-v\fP, \fB\-\-version\fP Udskriv versionnummeret for programmet \fBmake\fP samt en besked om ophavsretten, en liste over forfattere og at der ingen garanti er. .TP 0.5i \fB\-w\fP, \fB\-\-print\-directory\fP 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 \fBmake\fP kommandoer. .TP 0.5i \fB\-\-no\-print\-directory\fP Slå \fB\-w\fP fra, selv hvis det var slået til automatisk. .TP 0.5i \fB\-W\fP \fIfil\fP, \fB\-\-what\-if\fP=\fIfil\fP, \fB\-\-new\-file\fP=\fIfil\fP, \fB\-\-assume\-new\fP=\fIfil\fP Foregiv at målet \fIfil\fP lige er blevet ændret. Når det bruges med \fB\-n\fP flaget, vil det vise hvad som ville ske hvis du ændrede den fil. Uden \fB\-n\fP er det næsten det samme som at køre en \fItouch\fP kommando på den givne fil før kørslen af \fBmake\fP, bortset fra at ændringstiden kun ændres i \fBmake\fPs fantasi. .TP 0.5i \fB\-\-warn\-undefined\-variables\fP Advar når en udefineret variabel bruges. .SH AFSLUT\-STATUS GNU \fBmake\fP 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 \fB\-q\fP blev brugt og \fBmake\fP afgør, at et mål skal genbygges. En status på to vil blive returneret, hvis der opstår fejl. .SH "SE OGSÅ" Hele dokumentationen for \fBmake\fP bliver vedligeholdt som Texinfo manual. Hvis \fBinfo\fP and \fBmake\fP programmerne er korrekt installeret på dit system vil komandoen .IP \fBinfo make\fP .PP bør give dig adgang til den fulde manual. Derudover er manualen også tilgængelig på nettet på \fIhttps://www.gnu.org/software/make/manual/html_node/index.html\fP .SH "PARALLEL MAKE OG JOBSERVEREN" Ved at bruge tilvalget \fI\-j\fP kan brugeren instruere \fBmake\fP til at afvikle opgaver parallelt. Ved at angive et numerisk argument for \fI\-j\fP kan brugeren angive en øvre grænse for antallet af parallelle opgaver. .PP Når byggemiljøet er sådan at en \fBmake\fP på topniveau igangsætter \fBsub\-makes\fP (for eksempel en stil hvor hver undermappe indeholder sin egen \fIMakefil\fP), så ved ingen individuel instans af \fBmake\fP 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 \fBmake\fP under afvikling. Mens løsninger som at have topniveauets \fBmake\fP 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. .PP Denne datakanal oprettes af topniveauets \fBmake\fP\-proces og sendes videre til alle \fBsub\-makes.\fP Topniveauets \fBmake\fPproces\fBskriver\fP \fBN\-1\fP en\-byte symboler ind i datakanalen (Topniveauets \fBmake\fP antages at reservere et symbol for sig selv). Når enhver af \fBmake\fP\-processerne (inklusive topniveauets \fBmake\fP 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 \fBmake\fP\-processen et symbol tilbage til datakanalen (og dermed, hvis symbolerne var opbrugt, fjernes blokeringen på den første \fBmake\fP\-proces, der ventede på et symbol). Da kun \fBN\-1\fP\-symboler blev skrevet ind i datakanalen, så kan kun \fBN\fP opgaver afvikles på ethvert givent tidspunkt. .PP Hvis jobbet til afvikling ikke er en \fBsub\-make\fP, så vil \fBmake\fP lukke jobserverens datakanalfildeskriptorer før igangsættelse af kommandoerne, så at kommandoen ikke kan påvirke \fIjobserver,\fP og kommandoen ikke finder nogen usædvanlige fildeskriptorer. .SH FEJL Se kapitlet "Problems and Bugs" i \fIThe GNU Make Manual .\fP .SH 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. .SH OPHAVSRET Ophavsret \(co 1992\-1993, 1996\-2016 Free Software Foundation, Inc. Denne fil er en del af \fIGNU make\fP. .LP 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. .LP 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. .LP Du bør have modtaget en kopi af GNU General Public License sammen med dette program. Hvis ikke, se \fIhttp://www.gnu.org/licenses/\fP. .PP .SH OVERSÆTTELSE Oversættere af denne manual til dansk Byrial Ole Jensen og Joe Hansen . .PP Denne oversættelse er gratis dokumentation; læs .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR. .PP Hvis du støder på fejl i oversættelsen af ​​denne vejledning, skal du sende en besked til .MT debian-l10n-danish@lists.debian.org .ME .