Tedd, programok és segédprogramok
hogy - egy segédprogram, amely automatizálja a fájlok konvertálása egyik formából a másikba. Leggyakrabban ez egy összeállítás a forráskódot objektum fájlok és az azt követő elrendezés végrehajtható vagy könyvtárakban.
A segédprogram használ speciális make-fájlokat, amelyek jelzik a függés minden más fájlokat és szabályai elégedettségüket. Az információk alapján az utolsó változás minden, hogy a fájl határozza meg, és elindítja a szükséges programokat.
Létrehozása előtt make build rendszer (válogatás) Unix szoftver általában állt egy szerelvény shell-scriptek kísérő forráskódját.
Márka készítette Stuart Feldman (Stuart Feldman) 1977-ben a Bell Labs.
Jelenleg számos eszközt követni függőségek, de hogy - az egyik legelterjedtebb, elsősorban annak a ténynek köszönhető, hogy benne van a Unix, verziótól kezdődően PWB / UNIX (angol programozói Workbench.), Amely tartalmaz eszközöket szoftverfejlesztés szoftvert.
Számos változata make. alapján az eredeti make vagy írásbeli semmiből, ugyanazon fájlformátumok, és az alapelveket és algoritmusokat, valamint tartalmaz némi javulást és bővítése. Például:
- BSD make. munkáján alapul Ádám de Boer (Adam de boer), hogy vége változat. azzal a lehetőséggel, szerelvény párhuzamosan; az egyik vagy másik formájában vezetjük FreeBSD, NetBSD és OpenBSD.
- GNU make - tartalmazza a legtöbb Linux disztribúció, és gyakran együtt használják a GNU fordító rendszerünk.
POSIX szabvány tartalmazza az alap funkciók teszik segédprogramot. különböző fokú kompatibilitás megvalósított különböző változatai teszik. Általános szabály, hogy az egyszerű make-fájlokat lehet sikeresen alkalmazható a különböző változatai tenni.
Ha a -f opció nincs megadva, akkor az alapértelmezett nevet a make-fájl - Makefile (azonban a különböző megvalósítások, hogy eltérő lehet ellenőrizni, és más fájlok, például GNUmakefile).
make make-nyitja meg a fájlt, elolvassa a szabályokat, és végrehajtja az utasításokat létrehozásához szükséges a megadott cél.
Szabványos célok szerelési GNU disztribúciók:
Az összeszerelés során BSD alkalmazások gyakran használják:
- függnek - összeállítása / összehangolásának függőségi
A make program végrehajtja a parancsokat szabályok szerint meghatározott egy külön fájlban. Ez a fájl az úgynevezett makefile (makefile, makefile). Az általános szabály az, hogy a fájl leírja, hogyan kell összeállítani, és összekapcsolja a programot.
make-fájlt tartalmaz szabályokat és változókat. Szabályzat a következő szintaxist:
Szabály egy sor parancs, amelynek végrehajtása vezet az összeszerelési célra fájlokat a fájl-kellékek.
Jellemzően jelentések teszik. hogy a fájlok eredményeként kapott a munkacsoportok (gól) függ az adott fájl-kellékek. hogy nem ellenőrzi, és nem használja a fájl feltétele tartalom azonban meg a fájl-kellékek lista csak akkor van szükség, hogy győződjön meg arról, hogy ezeket a fájlokat, mielőtt parancsok végrehajtása és nyomon követése közötti függőségeket fájlokat.
Általában, a cél a fájl nevét, ami eredményeként keletkezett a munka ezen csapatok. A cél is lehet a neve a kereset által végrehajtandó parancs (például a cél tiszta összeállítás programok teszik-fájlok általában eltávolítja az összes fájlt generált fordításkor).
Vonalak, amelyben a csapat rögzítésre. Meg kell kezdeni a tab karaktert.
Nézzük egy egyszerű C program. Hagyja, hogy a program A program tartalmaz egy pár kódfájlokhoz - main.c és lib.c és egy header file - defines.h, amely kapcsolódik mind a kód fájlt. Ezért szükség van egy olyan programot létrehozni a pár (main.c defines.h) és (lib.c defines.h) objektum létrehozása a fájlok és main.o lib.o, majd össze őket a program. Összeállításakor a kézi van szükség, így a következő parancsokat:
Ha a folyamat programok kidolgozása defines.h fájlt kell módosítani, hogy szükség újrafordítás és összeköti a két fájlt, és ha a változás lib.c, majd újrafordítani main.o nem tudja ellátni.
Így minden egyes fájl, amit kell, hogy a fordítási folyamatot szükséges meghatározni alapján, hogy mely fájlokat és milyen csapat hozta létre. A make program a fenti adatok alapján, a következőt teszi:
- Összegyűjti az adatokat a megfelelő parancsokat megszerzéséhez szükséges kimeneti fájlokat;
- és kezdeményezi létrehozását a kívánt fájlt, ha a fájl nem létezik, vagy régebbi, mint a fájlokat, amelyektől függ.
Hacsak kifejezetten meghatározza a célt, ha fut make, ez lesz feldolgozni első gólt az make-fájlt, aminek a neve nem kezdődhet a „” karaktert.
Programozásához program elegendő írni a következő make-fájlban:
Érdemes megjegyezni, számos funkcióval. A név a második gól két fájlt, és ugyanarra a célra nincs megadva fordítási parancs. Sőt, sehol kifejezetten függőségi object fájlokat «* .c» -files. Az a tény, hogy a make program egy előre meghatározott szabály meghatározott kiterjesztésű fájlokat. Tehát erre a célra, az objektum fájl (kiterjesztése „.o»), amikor érzékeli a megfelelő kiterjesztésű fájl«.c” fordítóprogram »cc -c« fogják hívni paraméterek megadásával a „.c” fájlt, majd az összes függőség fájlokat.
A szintaxis meghatározó változók:
Az érték bármilyen karaktersorozat, szóköz és a vérkeringést a egyéb változók értékeit. Ezzel azt mondta, tudjuk módosítani a make-fájlt a következőképpen:
Meg kell jegyezni, hogy a számítás értékének változók csak akkor történik meg a felhasználás időpontjában (úgynevezett lusta értékelés). Például, a szerelvény a cél az összes alábbi make-fájlt a képernyőn sorban «Huh?» Jelenik meg.
Tegyük fel, hogy a projekt, hogy egy második fejléc lib.h, ami benne van csak lib.c. Ezután a make-fájlt fog növekedni egy sort:
Így a cél fájl megadható több célra. Ebben az esetben a lista függőségek a fájl kell összeállítani a listákat függőségek minden olyan célra, amelyekben részt vesz, a létesítmény, ha a fájl jön létre.