Veidnes lietderības mērķis ir automātiski noteikt, kādas lielas programmas daļas ir jāpārkopē un jāizsniedz komandas, lai tās pārkvalificētu. Rokasgrāmatā ir aprakstīta markas GNU ieviešana, ko ir uzrakstījuši Richard Stallman un Roland McGrath. Šie piemēri parāda C programmas, jo tie ir visizplatītākie, taču jūs varat izmantot make ar jebkuru programmēšanas valodu, kuras kompilatoru var palaist ar apvalka komandu. Patiesībā, padarīt ne tikai uz programmām. To varat izmantot, lai aprakstītu jebkuru uzdevumu, kurā daži faili automātiski jāatjaunina no citiem, kad citi mainās.
Piezīme: Šī lapa ir izvilkums no GNU markas dokumentācijas . To atjaunina tikai reizēm, jo GNU projekts neizmanto nroff. Lai iegūtu pilnīgu, pašreizējo dokumentāciju, skatiet informācijas failu make.info, kas ir izgatavots no Texinfo avota faila make.texinfo.
Sintakse un sagatavošanas lietderība
veidot -f makefile iespēja … mērķis …
Lai sagatavotos marka izmantošanai, jums jāuzraksta fails ar nosaukumu makefile, kas apraksta attiecības starp jūsu programmas failiem un nosaka komandas, lai atjauninātu katru failu. Parasti izpildāmā fails tiek atjaunināts no objektu failiem, un to savukārt veic, sastādot avota failus.
Kad ir izveidots piemērots makefile, katru reizi mainot dažus avota failus, šī vienkāršā apvalka komanda veidot pietiek, lai veiktu visus nepieciešamos rekompilācijas. Make programma izmanto faila makefile datubāzi un failu pēdējo modificēšanas laiku, lai izlemtu, kurš no failiem ir jāatjaunina. Par katru no šiem failiem tā izdod komandas, kas reģistrētas datu bāzē.
Make lietderība izpilda komandas makefile, lai atjauninātu vienu vai vairākus mērķa nosaukumus, kur vārds parasti ir programma. Ja nē-f variants ir klāt, padarīs meklēt makefileGNUmakefile, makefile, unMakefile, šajā secībā.
Parasti jums vajadzētu piezvanīt jūsu makefile vai nu makefile, vai Makefile. (Ieteicams izmantot Makefile jo tas šķiet ievērojami tuvu direktoriju saraksta sākumam, tieši blakus citiem svarīgiem failiem, piemēram,README.) Pārbaudīt vārdu, GNUmakefile, vairumam makefailu nav ieteicams. Jums vajadzētu izmantot šo nosaukumu, ja jums ir makefile, kas ir raksturīgs GNU zīmolam, un tas nebūs saprotams, izmantojot citas markas versijas. Ja makefile ir -, tiek izlasīta standarta ievade.
The veidot lietderība atjaunina mērķi, ja tas ir atkarīgs no priekšnoteikumiem failiem, kas tika mainīti, jo pēdējais tika mainīts, vai ja mērķa neeksistē.
Iespējas
The -b un -m Iespējas tiek ignorētas saderībai ar citām marka versijām.
-C dir mainīsies uz direktoriju direktoriju, pirms lasīsiet makefiles vai darīsiet kaut ko citu. Ja vairāki-C ir norādītas opcijas, katra tiek interpretēta attiecībā pret iepriekšējo:-C/ -C utt ir vienāds ar-C / uc. Tas parasti tiek izmantots ar rekvizītiem zīmējumiem.
The -d opcija papildus normālajai apstrādei izdrukās atkļūdošanas informāciju. Atkļūdošanas informācija norāda, kādi faili tiek izskatīti pārveidošanai, kādi faila laiki tiek salīdzināti un ar kādiem rezultātiem, kādi faili faktiski ir jāpārveido, kādi netieši noteikumi tiek ņemti vērā un kurus piemēro, viss interesants par to, kā izlemj, ko darīt .
The -e opcija piešķir mainīgos lielumus, kas ņemti no vides prioritātes salīdzinājumā ar makefile mainīgajiem lielumiem.
The -f fails iespēja izmantot fails kā makefile.
The -i iespēja ignorē visas kļūdas komandās, kas izpildītas, lai pārveidotu failus.
The -I dir opcija norāda direktoriju dir meklēt iekļautu makefile. Ja vairāki-I opcijas tiek izmantotas, lai norādītu vairākas direktorijas, katalogi tiek meklēti norādītajā secībā. Atšķirībā no citu zīmolu karodziņu, katalogi, kas doti ar-I karogi var atrasties tieši pēc karoga:-Idir ir atļauts, kā arī-I dir . Šis sintakse ir atļauts saderībai ar C preprocesoru-I karogs
The -j darba vietas opcija norāda darba vietu (komandu) skaitu vienlaicīgi. Ja ir vairāk nekā viens-j iespēja, pēdējā ir efektīva. Ja-j iespēja tiek sniegta bez argumenta, padarīs neierobežos to darbavietu skaitu, kuras var darboties vienlaicīgi.
The -k iespēja pēc iespējamas kļūdas turpinās pēc iespējas vairāk; kamēr mērķi, kuru neizdevās, un tos, kas no tā ir atkarīgi, nevar pārveidot, pārējās šo mērķu atkarības var tikt apstrādātas vienādi.
The -l un -l slodze opcijas norāda, ka nav jāuzsāk jaunas darba vietas (komandas), ja darbojas citas darbavietas, un slodzes vidējais rādītājs ir vismazslodze (peldošā komata skaitlis). Bez argumentiem tas noņem iepriekšējo slodzes ierobežojumu.
The -n opcija izdrukā komandas, kas tiks izpildītas, bet tās neizpildīs.
The -o fails iespēja ne pārveidot fails pat ja tas ir vecāks par tā atkarību, un neko nemainās, ņemot vērā izmaiņas fails . Būtībā fails tiek uzskatīts par ļoti vecu, un tā noteikumi tiek ignorēti.
The -p iespēja izdrukā datubāzi (noteikumi un mainīgās vērtības), kas rodas, lasot makefile. Pēc tam tas tiek izpildīts kā parasti vai citādi norādīts.Tas arī izdrukā versijas informāciju, ko sniedz-v slēdzis (skatiet zemāk). Lai izdrukātu datubāzi, nemēģinot pārveidot visus failus, izmantojietveidot -p -f / dev / null .
The -q variants nosaka jautājumu režīmu. Nevadiet nekādas komandas vai izdrukājiet neko, vienkārši atgrieziet izejas statusu, kas ir nulle, ja norādītie mērķi jau ir atjaunināti, citādi - nulles vērtība.
The -r iespēja likvidē iebūvētos netiešos noteikumus. Arī iztīra noklusējuma sufiksu sarakstu sufiksu noteikumiem.
The -s opcija izslēdz darbību. Tas neizdala komandas, kad tās izpildītas.
The -S iespēja atcelt-k iespēja. Tas nekad nav nepieciešams, izņemot rekursīvu zīmi kur-k var tikt mantots no augstākā līmeņa veikala, izmantojot MAKEFLAGS vai, ja jūs iestatāt-k MAKEFLAGS jūsu vidē.
The -t opcija pieskaras failiem (atzīmē tos atjaunināt, nemainot tos), nevis komandas. Tas tiek izmantots, lai izliktu, ka komandas tika veiktas, lai maldinātu nākotnes ielūgumus padarīt.
The -v opcija izdrukā marķēšanas programmas versiju, kā arī autortiesības, autoru sarakstu un paziņojumu, ka nav garantijas.
The -w opcija izdrukā ziņojumu ar darba direktoriju pirms un pēc citas apstrādes. Tas var būt noderīgs, lai izsekotu kļūdas no rekursīvas markas sarežģītiem ligzdām komandas.
The -W fails iespēja izlikties, ka mērķis fails tikko mainīts. Lietots kopā ar-n karodziņš, tas parāda, kas notiktu, ja maināt šo failu. Bez-n, tas ir gandrīz tāds pats kā apieskarties komandu uz doto failu pirms skriešanas izdarīt, izņemot to, ka modifikācijas laiks tiek mainīts tikai zīmola iztēlē.












