Létrehozása make-fájlok
Make-fájl egy információs tárház, amely megmondja, hogy hogyan kell újrafordítani a projektet.
Mi áll make-fájlok
Explicit szabály (explicit szabály) leírja, hogy mikor és hogyan kell frissíteni a fájlokat, az úgynevezett szabály célokat. Ez a lista a más fájlokat, amelyek ellen a szabály (az ún előfeltételek), és be lehet állítani parancsokat kell használni a létrehozásához vagy frissítéséhez a cél.
Implicit szabály (implicit szabály) leírja, hogy mikor és hogyan kell frissíteni egy bizonyos csoportja fájlok illeszkedő nevű egy bizonyos minta. Ez a szabály azt ismerteti, hogyan cél függhet a fájlt a „hasonló” nevet, és meghatározza a parancsokat, hogy frissítse célokat.
Változó felbontású (változó definíciója) - egy sor make-fájl, amelyben a változó kap egy konkrét szöveget értéket. Továbbá, az érték lehet „helyettesített” a megfelelő helyen a szövegben. Példánkban a változó objektumot make-fájl listája határozza meg a tárgy fájlokat.
Irányelv azt mondja, hogy a szükség van egy termék egy speciális akció során az olvasó make-fájlt. Vannak, különösen a következő lépéseket:
Reading más make-fájlt.
A megoldás (az értéke változó) kell használni, vagy figyelmen kívül hagyják a make-fájlt.
Meghatározása többsoros változó, amely több vonalak.
Alapértelmezésben, amikor make megkeresi makefile feldolgozás, megpróbálja megtalálni alternatív fájlokban az alábbi nevekkel (ebben a sorrendben): `GNUmakefile„ `make-fájl” és `Makefile”.
Ebben az esetben, ha a make nem talál egy fájlt a nevek a fent felsorolt, megpróbálja, hogy folytassa munkáját használata nélkül make-fájlt. Ilyen esetben, hogy a hívást, akkor egyértelműen meg kell határozni az elsődleges cél, és a közüzemi megpróbálja elérni ezt a célt, a kizárólag „beágyazott” benne implicit szabályokat.
Ha szeretné használni a „non-standard” nevet a make-fájlt, akkor megadhatja azt a parancssorban a '-f „or` --file” opciót. Érvek fájlnév `-f„or` --file = fájlnév”mondani, hogy annak szükségességét, hogy egy fájlt úgynevezett fájlnevet a make-fájlt. Megadhatja a feldolgozás több make-fájlokat, amely felsorolja azokat a parancssor segítségével több lehetőség `-f„or` --file”. Mindezen így make-fájlokat logikailag „jön össze” ugyanabban a sorrendben, ahogy voltak adva a parancssorban. A jelenléte a parancssori `-f„or` --file”, automatikusan keresni make-fájlok neve` GNUmakefile „` make-fájl”és` Makefile”, nem tette.
Szabályzat (szabályok) foglalt make-fájlt, és leírja, hogy mikor és hogyan kell frissíteni, vagy létre egy fájlt úgynevezett célok (célkitűzések). Leggyakrabban, minden szabály csak egyetlen cél. Szabály felsorolja a fájlokat, amelyek előfeltételei (előfeltételek) erre a célra, és amelyek parancsokat kell végrehajtani létrehozásához vagy frissítéséhez a cél.
Rangsor szabályok a make-fájl nem releváns. Az egyetlen kivétel a választás a fő cél az alapértelmezett (alapértelmezett cél) - a cél által kért make, ha nem adja meg kifejezetten. Alapértelmezésben a fő cél az lett a cél az első szabály az első kezelt make-fájlt. Ha ez a szabály több cél, csak az első közülük lesz a fő cél. Két kivétel van. Először is, a fő cél, az alapértelmezett beállítás, akkor nem lesz a cél, akinek a neve kezdődik időszak (kivéve, ha legalább egy karaktert „/”). És másodszor, a kiválasztási folyamat, a fő cél kizárt minta szabályokat.
Ezért általában írni make-fájlokat, hogy az első szabály leírja a folyamat az összeszerelés a kész programot, vagy az összes programot leírt make-fájl (gyakran használják erre a célra egy cél nevű `all„).
Általában az a szabály a következő:
célokat. előfeltételei; csapat
Célok (célok) - ez a fájl nevét, szóközzel elválasztva. A nevét a célra helyettesítő karakterek is használhatók. `A (m)”, ahol egy - a neve az archív fájl, és m - a fájl nevét bennük: a fájl tartalmazza az archívumban, egy különleges bejegyzéssel formában lehet használni. Normális esetben a szabály, amely csak egyetlen cél, néha azonban érdemes beállítani egy pár gól egyetlen szabály.
Vonalak parancsokat tartalmazó kell kezdődnie tab karaktert. Az első parancs elhelyezkedhet akár összhangban előfeltételei (és el kell őket pontosvessző), vagy a sorban következő előfeltételek (ezt a sort kell kezdeni a lapon). Mindkét esetben az eredmény ugyanaz lesz.
Mivel a dollár jel arra használjuk, hogy olvassa el a változókat kell használni a szabályokat, meg kell írni '$$”. Hosszú sorok make-fájl lehet részekre osztani a jel „\”, a végén található a sor. Ez javíthatja az olvashatóságot a make-fájlt, de „technikai” oka van - make nem korlátozza a vonalak hossza a make-fájlt.
Jellemzően információkat tartalmaz két dolgot: ha úgy kell tekinteni, hogy a cél a „elavult”, és hogyan lehet frissíteni, ha szükséges.
A kritérium „elavulás” viszonyítva számítjuk ki, hogy az előfeltételek, amely egy fájl nevét, szóközzel elválasztva. A nevek előfeltételek joker lehet használni. Feltétel is tárolt fájlok az archívumban. A cél akkor tekinthető „elavult”, ha a fájl nem létezik, vagy ez a „régebbi”, mint bármelyik előfeltételek (ellenőrizze a legutóbbi fájl módosítási alkalommal). A lényeg itt az, hogy mivel a cél fájl információk alapján a fájlokat, az előfeltételek, akkor a változás legalább egyikük vezethet az a tény, hogy a tartalmát a cél fájl már nem lesz „helyes”.
Csapatok jelzi, hogyan kell frissíteni a cél. Ez - csak egy sort (néhány további funkciók), a végrehajtható parancssori értelmező (általában 'sh „).
A használt helyettesítő (helyettesítő karakterek) fájlnevek.
Ha helyettesítő karaktereket (helyettesítő karakterek), ugyanazt a nevet, megadhat egy egész csoport fájlokat. A make sablonos karakterek `* ''?' és `[. ] „(Mint a Bourne shell). Például a minta `* .c„egyezik az összes fájlt a suffix` .c”található az aktuális könyvtárban.
„Kezdetben a fájl neve is különleges jelentéssel bír. Egyetlen karakter `
/ „A saját könyvtára. Például, a `
/ Bin 'azt jelenti' / home / te / bin'. Ha rögtön a szimbólum `
„Legyen a neve, ez a vonal fogja képviselni a felhasználó home könyvtárát az azonos nevet. Például a `
john / bin 'azt jelentené, `/ home / john / bin'. Azokban a rendszerekben, ahol a felhasználó nem rendelkezik a saját könyvtárat (például MS-DOS vagy MS-Windows), az ilyen viselkedés lehet emulálni beállításával a HOME környezeti változó.
Disclosure Helyettesítő karakterek (helyettük egy konkrét fájlok listáját, amelyek megfelelnek a minta) automatikusan előállított nevét céljainak előfeltételek nevek és csoportok (a csapat részt vesz ezen a parancssori értelmező). Más esetekben a sablon közzététel csak ha kifejezetten kérte a helyettesítő funkciót.
A speciális érték joker lehet „fogyatékos” a megelőző őket egy „\”. Így a `foo \ * bár„utal, hogy egy meglehetősen furcsa nevet, hét karakterből álló - a initial` foo”, csillagok és` bar”.