Makefile

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 23. april 2012; checks kræver 15 redigeringer .
Makefile
MIME -type tekst/x-makefil
Formattype Monteringsautomatisering
Standard(er) POSIX

makefile  er en fil, der indeholder et sæt instruktioner, der bruges af make - værktøjet i byggeautomatiseringsværktøjssættet .

Oversigt

Oftest indeholder en make- fil instruktioner til make -værktøjet om, hvordan man kompilerer og linker programmet. For eksempel, for C / C++ programmeringssprog , skal en C- eller C++-kildefil genkompileres, hver gang den ændres. Hvis en header-fil ændres , skal hver C/C++-kildefil, der indeholder den, blive genkompileret for at være sikker. Hver kompilering opretter en objektfil svarende til kildefilen. Endelig, hvis kildefilen er blevet kompileret, skal alle objektfiler, uanset om de er nyoprettede eller gemt fra tidligere kompileringer, linkes sammen for at samle den nye programeksekverbare [1] . Disse instruktioner, sammen med deres afhængigheder, er specificeret i makefilen . Hvis ingen af ​​de filer, der kræves til samling, er ændret siden sidste kompilering, sker der ikke noget under kompileringen. Til store projekter kan brugen af ​​make-filer reducere applikationens byggetid betydeligt ved at ændre nogle få kildefiler.

Operativsystem

Unix-lignende operativsystemer

Make-filer stammer fra Unix-lignende systemer og er fortsat det primære middel til at bygge programmer i disse miljøer.

Microsoft Windows

Windows understøtter forskellige slags make-filer gennem nmake -værktøjet . Standardmakefiler fra Unix-lignende operativsystemer kan køres på Windows-operativsystemet i Cygwin -miljøet .

Indhold

Make-filer består af 5 komponenter: eksplicitte regler , implicitte regler , variable definitioner , direktiver og kommentarer .

Regler

Makefilen indeholder "regler" i følgende form:

mål : afhængigheder systemkommando ( r )

Målet er normalt navnet på en fil, der er genereret af programmet; eksempler på mål er eksekverbare eller objektfiler. Målet kan også være navnet på den handling, der skal udføres, såsom "ren".

En afhængighed (også kaldet en forudsætning) er en fil, der bruges som input til at oprette et mål. Målet afhænger ofte af flere filer. En regel, der angiver en metode for et mål, må dog ikke have nogen forudsætninger. For eksempel er en regel, der indeholder en slettekommando, knyttet til et rent mål, der ikke har en forudsætning.

En systemkommando(r) (også kaldet en metode) er en handling, som make -værktøjet udfører . En metode kan indeholde mere end én kommando, enten på samme linje eller hver på sin egen linje.

Udførelse

makefile udføres med en kommando make, for eksempel make [options] [target1 target2 ...]. Som standard, når make søger efter en makefil, og hvis intet makefilnavn er angivet som argument, så prøver make følgende navne i rækkefølge: makefile og Makefile.

Eksempel

En simpel makefil, der beskriver, hvordan en eksekverbar, kaldet  edit  , afhænger af fire objektfiler, som igen afhænger af fire C-kilder og to header-filer.

edit : main . om kbd . o kommando . o display . o cc -o edit main.o kbd.o command.o display.o hoved.o : hoved . c defs . h cc -c hoved.c kbd.o : kbd . c defs . h kommando . h cc -c kbd.c command.o : kommando . c defs . h kommando . h cc -c kommando.c display.o : display . c defs . h cc -c display.c ren : rm edit main.o kbd.o command.o display.o

For at bruge denne make-fil til at oprette en eksekverbar redigeringsfil , skal du skrive kommandoen make. For at bruge denne make-fil til at fjerne en eksekverbar fil og alle objektfiler fra en mappe, skriv kommandoen make clean.

Referencer

  1. POSIX-målregler . Hentet 5. marts 2018. Arkiveret fra originalen 18. februar 2018.

Links