GNU Make er en åpen kildekode og fri kommandolinje programvare som er designet fra bunnen av for å kontrollere generasjon av kjørbare filer og andre ikke-kildefilene til et program fra programmets kildekode files.Builds programmer fra sourcesThis verktøyet er i stand til å bygge programmer fra kilder, takket være en fil kalt Makefile, som kan finnes i kilder arkiv av det respektive program og lister hver av de ikke-kildefilene, samt hvordan man skal beregne dem fra andre filer .Builds og installerer packagesThe programvare er i stand til slik at sluttbrukerne til å bygge og installere pakker uten at de vet detaljene om hvordan det er gjort, og det kan også automatisk finne ut hvilke filer som må oppdateres, basert på hvilke kildefilene har vært endret.
GNU Make har mange kraftige funksjoner som kan brukes av utviklere i Make-filer. Det kan også regenerere, bruk og slette mellom filer som ikke trenger å bli frelst ved oppstillingen process.An viktig program for hver GNU / Linux systemGNU Gjør er en av de mest essensielle program i en GNU / Linux-operativsystemet, som det tillater brukerne kompilere og installere programmer på deres distribusjon ved hjelp av universelle kilder arkiv av den respektive prosjekt. Uten det, du vant & rsquo; t være i stand til å installere en pakke som distribueres kun som en kilde tarball.Under panseret, tilgjengelighet og støttet OSesThe programvaren er skrevet helt i C ++ programmeringsspråk og er konstruert for å fungere godt på alle GNU / Linux-distribusjon, som støtter både 32-bit og 64-bit instruksjonssett arkitekturer.
Det morsomme er at GNU Make seg selv er distribuert som en universell kilder arkiv, noe som betyr at du må allerede ha GNU Kontroller installert for å installere det på din Linux-distribusjon fra kilder. Imidlertid bør det være installert som standard på alle distro
Hva er nytt i denne utgaven.
- ADVARSEL: bakover inkompatibilitet! Hvis .POSIX er spesifisert, så gjør fester seg til POSIX skråstrek / linjeskift håndtering krav, som introduserer følgende endringer i standard skråstrek / linjeskift håndtering i ikke-oppskrift linjer: * Enhver etterfølgende mellomrom før skråstrek er bevart * Hver skråstrek / linjeskift (pluss påfølgende mellomrom) omdannes til et enkelt mellomrom
- Ny funksjon: GNU Guile integrering Denne versjonen av GNU make kan kompileres med GNU Guile integrering. GNU Guile fungerer som en innebygd forlengelse språk for make. Se & quot; Guile Funksjon & quot; seksjon i GNU Make manualen for detaljer. Foreløpig GNU Guile 1.8 og 2.0 + støttes. I Guile 1.8 er det ikke støtte for internasjonaliserte tegnsett. I Guile 2.0+, kan scripts være kodet i UTF-8.
- Ny på kommandolinjen: Output-sync (-O) muliggjør gruppering av produksjonen ved målet eller ved rekursive make. Dette er nyttig under parallelt bygger for å unngå å blande utgang fra forskjellige jobber sammen gi vanskelige å forstå resultatene. Original gjennomføring av David Boyce. Omarbeidet og forbedret med Frank Heckenbach. Windows støtte av Eli Zaretskii.
- Ny på kommandolinjen: --trace muliggjør sporing av mål. Når den er aktivert oppskriften for å kunne påberopes skrives selv om det ellers ville bli undertrykt av .SILENT eller en & quot; @ & quot; prefiks karakter. Også før hver oppskrift er å kjøre Makefile navn og linenumber hvor det ble definert vises samt forutsetninger som forårsaket målet å bli vurdert ut på dato.
- New kommandolinjealternativet argument: --debug aksepterer nå en & quot; n & quot; (Ingen) flagg som deaktiverer alle debugging innstillinger som for øyeblikket er aktivert.
- Ny funksjon: Den & quot; jobb server & quot; evne støttes nå på Windows. Implementering bidratt med Troy Runkel
- Ny funksjon: Den .ONESHELL evne støttes nå på Windows. Støtte lagt til av Eli Zaretskii.
- Ny funksjon: & quot; = & quot; shell oppdrag operatør som et alternativ til de $ (shell ...) funksjon. Implementert for kompatibilitet med BSD Make-filer. Merk at det er små forskjeller mellom & quot;! = & Quot; og $ (shell ...). Se beskrivelsen i GNU gjøre håndboken. ADVARSEL: Bakover-inkompatibilitet! Variabler som slutter på & quot;! & Quot; tidligere definert som & quot;! variabel = verdi & quot; vil nå bli tolket som skall oppdrag. Endre din oppgave å legge til mellomrom mellom & quot;! & Quot; og & quot; = & quot ;: & quot; variabel! = Verdi & quot;
- Ny funksjon: & quot; :: = & quot; enkel oppgave operatør som definert av POSIX i 2012. Denne aktøren har identisk funksjonalitet til & quot;: = & quot; i GNU gjøre, men vil være bærbare til en hvilken som helst implementering av make i samsvar med et tilstrekkelig ny versjon av POSIX (se http://austingroupbugs.net/view.php?id=330). Det er ikke nødvendig å definere .POSIX målet å få tilgang til denne operatøren.
- Ny funksjon: lastbare objekter Denne versjonen av GNU make inneholder en & quot; teknologi forhåndsvisning & quot ;: muligheten til å laste dynamiske objekter inn i make runtime. Disse objektene kan lages av brukeren og kan legge til utvidet funksjonalitet, brukes av Make-filer.
- Ny funksjon: $ (fil ...) skriver til en fil .
- New variable: $ (GNUMAKEFLAGS) vil bli analysert for make flagg, akkurat som MAKEFLAGS er. Det kan settes i miljøet eller Makefile, som inneholder GNU make-spesifikke flagg slik at din Makefile å være bærbare til andre versjoner av make. Når denne variabelen analyseres, GNU gjør vil sette den til den tomme strengen, slik at flagg ikke skal dupliseres på rekursjon.
- Ny variabel: `MAKE_HOST 'gir navnet på verten arkitektur make ble kompilert for. Dette er den samme verdien du se etter "Bygd for 'når du kjører' gjøre --version '.
- Behavior av MAKEFLAGS og MFLAGS er mer strengt definert. Alle enkle flagg er gruppert sammen i det første ordet i MAKEFLAGS. Ingen opsjoner som godtar argumenter vises i det første ordet. Hvis ingen enkle flagg er til stede MAKEFLAGS begynner med et mellomrom. Flagg med både korte og lange versjoner bruker alltid de korte versjoner i MAKEFLAGS. Flagg er oppført i alfabetisk rekkefølge ved hjelp av ASCII bestilling. MFLAGS aldri begynner med & quot; - & quot;.
- Innstilling -r og -R alternativer i MAKEFLAGS inne i en Makefile nå fungerer som forventet, fjerne alle innebygde regler og variabler, henholdsvis.
- Hvis en oppskrift mislykkes, Makefile navn og linenumber av oppskriften vises.
- En .RECIPEPREFIX innstilling huskes per-oppskrift og variabler utvidet i at oppskriften bruker også at oppskriften prefikset innstillingen.
- I -p-utgang, .RECIPEPREFIX Innstillingene vises og alle mål spesifikke variabler er produksjonen som i en Makefile, i stedet for som kommentarer.
- På MS-Windows, oppskrifter som bruker & quot; .. & quot; sitering vil ikke lenger tvinge påkalling av kommandoer via midlertidige batch-filer og lager Windows skjell, vil de være kortsluttet og påberopes direkte. (Med andre ord, & quot; er ikke lenger et spesialtegn for aksje Windows skjell.) Dette unngår å treffe skall grenser for kommando lengde når sitater er brukt, men ingenting annet i kommandoen krever skallet. Denne endringen kan potensielt bety noen mindre inkompatibilitet i atferd når oppskriften bruker sitert streng på shell kommandolinjer.
Kommentarer ikke funnet