Provided by: manpages-ro_4.27.0-1_all 

NUME
make - ustensila GNU Make pentru a menține grupuri de programe
SINOPSIS
make [OPȚIUNE]... [ȚINTĂ]...
DESCRIERE
Ustensila make va determina în mod automat care părți ale unui program mare trebuie recompilate și va
emite comenzile necesare pentru a le recompila. Manualul descrie implementarea GNU a lui make, care a
fost scrisă de Richard Stallman și Roland McGrath și este în prezent întreținută de Paul Smith. Exemplele
noastre prezintă programe C, deoarece acestea sunt foarte comune, dar puteți utiliza make cu orice limbaj
de programare al cărui compilator poate fi rulat cu o comandă shell. De fapt, make nu este limitat la
programe. Îl puteți utiliza pentru a descrie orice sarcină în care unele fișiere trebuie să fie
actualizate automat din altele ori de câte ori acestea se modifică.
Pentru a vă pregăti să utilizați make, trebuie să scrieți un fișier numit makefile (fișier de rețete)
care descrie relațiile dintre fișierele din programul dumneavoastră și oferă comenzi pentru actualizarea
fiecărui fișier. Într-un program, în mod obișnuit, fișierul executabil este actualizat din fișierele
obiect, care la rândul lor sunt realizate prin compilarea fișierelor sursă.
Odată ce există un makefile adecvat, de fiecare dată când modificați unele fișiere sursă, această simplă
comandă shell:
make
este suficientă pentru a efectua toate recompilările necesare. Programul make utilizează descrierea
fișierului makefile și orele ultimei modificări a fișierelor pentru a decide care dintre fișiere trebuie
actualizate. Pentru fiecare dintre aceste fișiere, el emite comenzile înregistrate în makefile.
make execută comenzile din makefile pentru a actualiza una sau mai multe ținte, unde țintă este de obicei
un program. Dacă nu este prezentă opțiunea -f, make va căuta fișierele „makefile” GNUmakefile, makefile
și Makefile, în această ordine.
În mod normal, ar trebui să numiți fișierul „makefile” fie makefile, fie Makefile; (se recomandă
Makefile, deoarece apare în mod proeminent la începutul unei liste de directoare, chiar lângă alte
fișiere importante, cum ar fi README). Primul nume verificat, GNUmakefile, nu este recomandat pentru
majoritatea fișierelor „makefile”. Ar trebui să folosiți acest nume dacă aveți un „makefile” care este
specific GNU Make și care nu va fi înțeles de alte versiuni de make. Dacă makefile este „-”, se citește
intrarea standard.
make actualizează o țintă în cazul în care aceasta depinde de fișiere premergătoare care au fost
modificate de la ultima modificare a țintei sau în cazul în care aceasta nu există.
OPȚIUNI
-b, -m
Aceste opțiuni sunt ignorate pentru compatibilitate cu alte versiuni de make.
-B, --always-make
Face în mod necondiționat toate țintele.
-C director, --directory=director
Schimbă la directorul director înainte de a citi fișierele „makefiles” sau de a face orice altceva.
Dacă sunt specificate mai multe opțiuni -C, fiecare dintre ele este interpretată în raport cu cea
anterioară: -C / -C etc este echivalent cu -C /etc. Acest lucru este utilizat de obicei cu invocări
recursive ale make.
-d Afișează informații de depanare în plus față de procesarea normală. Informațiile de depanării spun
ce fișiere sunt luate în considerare pentru refacere, ce timpi de fișier sunt comparați și cu ce
rezultate, ce fișiere trebuie refăcute, ce reguli implicite sunt luate în considerare și care sunt
aplicate - tot ceea ce este interesant despre modul în care make decide ce să facă.
--debug[=FANIOANE]
Afișează informații de depanare în plus față de procesarea normală. Dacă FANIOANELE sunt omise,
atunci comportamentul este același ca și în cazul în care ar fi fost specificat -d. FANIOANE poate
fi oricare sau toate numele următoare, separate prin virgule sau spații. Numai primul caracter este
semnificativ: restul pot fi omise: all pentru toate ieșirile de depanare (la fel ca atunci când se
folosește -d), basic pentru depanare de bază, verbose pentru depanare de bază mai detaliată, default
pentru afișarea operațiilor implicite de căutare a regulilor, jobs pentru detalii despre invocarea
comenzilor, makefile pentru depanare în timpul refacerii fișierelor makefile, print arată toate
rețetele care sunt rulate chiar dacă sunt silențioase și why arată motivul pentru care make a decis
să reconstruiască fiecare țintă. Utilizați none pentru a dezactiva toate indicatoarele de depanare
anterioare.
-e, --environment-overrides
Acordă variabilelor preluate din mediu prioritate față de variabilele din fișierele makefile.
-E șir, --eval șir
Interpretează șirul utilizând funcția eval, înainte de a analiza orice fișier makefile.
-f file, --file=fișier, --makefile=FIȘIER
Folosește fișier ca fișier makefile.
-i, --ignore-errors
Ignoră toate erorile din comenzile executate pentru refacerea fișierelor.
-I director, --include-dir=director
Specifică un director director în care se caută fișierele makefile incluse. În cazul în care se
utilizează mai multe opțiuni -I pentru a specifica mai multe directoare, directoarele sunt căutate
în ordinea specificată. Spre deosebire de argumentele altor opțiuni de make, directoarele date cu
opțiunea -I pot veni direct după opțiune: -Idirector este permis, precum și -I director. Această
sintaxă este permisă pentru compatibilitate cu indicatorul -I al preprocesorului C.
-j [lucrări], --jobs[=lucrări]
Specifică numărul de lucrări (comenzi) care trebuie executate simultan. În cazul în care există mai
multe opțiuni -j, ultima este cea care are efect. Dacă opțiunea -j este dată fără un argument, make
nu va limita numărul de lucrări care pot fi executate simultan.
--jobserver-style=stil
Stilul de server de lucru care trebuie utilizat. stil poate fi unul dintre fifo, pipe sau sem (numai
pentru Windows).
-k, --keep-going
Continuă cât mai mult posibil după o eroare. În timp ce obiectivul care a eșuat și cele care depind
de acesta nu pot fi refăcute, celelalte dependențe ale acestor obiective pot fi procesate în
continuare.
-l [medie-încărcare], --load-average[=medie-încărcare]
Specifică faptul că nu trebuie să se pornească noi lucrări (comenzi) dacă există alte lucrări în
curs de execuție și dacă media de încărcare este de cel puțin medie-încărcare (un număr în virgulă
mobilă). Fără nici un argument, elimină o limită de încărcare anterioară.
-L, --check-symlink-times
Utilizează cel mai recent timp mtime între legăturile simbolice și țintă.
-n, --just-print, --dry-run, --recon
Afișează comenzile care ar trebui executate, dar nu le execută (cu excepția anumitor circumstanțe).
-o fișier, --old-file=fișier, --assume-old=fișier
Nu reface fișierul fișier chiar dacă este mai vechi decât dependențele sale și nu reface nimic din
cauza modificărilor din fișier. În esență, fișierul este tratat ca fiind foarte vechi, iar regulile
sale sunt ignorate.
-O[tip], --output-sync[=tip]
Când se execută mai multe lucrări în paralel cu -j, se asigură că rezultatele fiecărei lucrări sunt
colectate împreună și nu intercalate cu rezultatele altor lucrări. Dacă tip nu este specificat sau
este target, ieșirea de la întreaga rețetă pentru fiecare țintă este grupată împreună. Dacă tip este
line, se grupează ieșirile de la fiecare linie de comandă din cadrul unei rețete. Dacă tip este
recurse, se grupează ieșirile de la o întreagă rețetă recursiv. Dacă tip este none, sincronizarea
ieșirii este dezactivată.
-p, --print-data-base
Afișează baza de date (reguli și valori ale variabilelor) care rezultă din citirea fișierelor de
rețete „makefile”; apoi execută ca de obicei sau astfel cum este specificat. Aceasta afișează, de
asemenea, informațiile despre versiune date de opțiunea -v (a se vedea mai jos). Pentru a afișa baza
de date fără a încerca să refaceți niciun fișier, utilizați make -p -f/dev/null.
-q, --question
Activează „modul de întrebare”. Nu execută nicio comandă și nu afișează nimic; returnează doar o
stare de ieșire care este zero dacă țintele specificate sunt deja actualizate, altfel nu este zero.
-r, --no-builtin-rules
Elimină utilizarea regulilor implicite încorporate. De asemenea, elimină lista implicită de sufixe
pentru regulile de sufixare.
-R, --no-builtin-variables
Nu definește nicio variabilă încorporată.
-s, --silent, --quiet
Operare silențioasă; nu se afișează comenzile pe măsură ce sunt executate.
--no-silent
Anulează efectul opțiunii -s.
-S, --no-keep-going, --stop
Anulează efectul opțiunii -k.
-t, --touch
Accesează fișierele (le marchează la data curentă fără a le modifica cu adevărat) în loc să execute
comenzile acestora. Acest lucru este folosit pentru a pretinde că au fost executate comenzile,
pentru a păcăli viitoarele invocări ale lui make.
--trace
Sunt afișate informații despre dispoziția fiecărei ținte (de ce este reconstruită ținta și ce
comenzi sunt executate pentru a o reconstrui).
-v, --version
Imprimă versiunea programului make plus drepturile de autor, o listă a autorilor și o notificare că
nu există nicio garanție.
-w, --print-directory
Afișează un mesaj care conține directorul de lucru înainte și după alte procesări. Acest lucru poate
fi util pentru depistarea erorilor din imbricări complicate de comenzi make recursive.
--no-print-directory
Dezactivează -w, chiar dacă a fost activată implicit.
--shuffle[=MOD]
Activează amestecarea ordinii obiectivelor și a condițiilor prealabile. MOD este unul dintre none
pentru a dezactiva modul de amestecare, random pentru a amesteca condițiile prealabile în ordine
aleatorie, reverse pentru a lua în considerare condițiile prealabile în ordine inversă, sau un număr
întreg <seed> care activează modul random cu o anumită valoare seed. Dacă MOD este omis, valoarea
implicită este random.
-W fișier, --what-if=fișier, --new-file=fișier, --assume-new=fișier
Pretinde că obiectivul fișier tocmai a fost modificat. Atunci când este utilizată cu opțiunea -n,
aceasta vă arată ce s-ar întâmpla dacă ați modifica fișierul respectiv. Fără -n, este aproape la fel
ca și cum ați executa o comandă touch pe fișierul dat înainte de a executa make, cu excepția
faptului că timpul de modificare este schimbat doar în imaginația lui make.
--warn-undefined-variables
Avertizează atunci când se face referire la o variabilă nedefinită.
STARE DE IEȘIRE
GNU Make iese cu o stare de zero dacă toate fișierele de rețete au fost analizate cu succes și nu a eșuat
nicio țintă construită. O stare de unu va fi returnată dacă a fost utilizată opțiunea -q și make
determină că o țintă trebuie reconstruită. O stare de doi va fi returnată dacă au fost întâlnite erori.
CONSULTAȚI ȘI
Documentația completă pentru make este menținută ca un manual Texinfo. Dacă programele info și make sunt
instalate corect în sistemul dvs., comanda
info make
ar trebui să vă permită accesul la manualul complet.
ERORI
Consultați capitolul „Problems and Bugs” din Manualul GNU Make.
AUTOR
Această pagină de manual a fost realizată de Dennis Morse de la Universitatea Stanford. Actualizări
suplimentare realizate de Mike Frysinger. A fost refăcută de Roland McGrath. Întreținută de Paul Smith.
DREPTURI DE AUTOR
Drepturi de autor © 1992-1993, 1996-2023 Free Software Foundation, Inc. Acest fișier face parte din GNU
Make.
GNU Make este un software liber; îl puteți redistribui și/sau modifica în conformitate cu termenii
Licenței Publice Generale GNU, așa cum a fost publicată de Free Software Foundation; fie versiunea 3 a
licenței, fie (la alegerea dumneavoastră) orice versiune ulterioară.
GNU Make este distribuit în speranța că va fi util, dar FĂRĂ NICI O GARANȚIE; nici măcar garanția
implicită de COMERCIALIZARE sau de ADECVARE LA UN SCOP PARTICULAR. Pentru mai multe detalii, consultați
Licența publică generală GNU.
Ar fi trebuit să primiți o copie a Licenței Publice Generale GNU împreună cu acest program. Dacă nu,
consultați pagina http://www.gnu.org/licenses/.
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
GNU 26 mai 2023 MAKE(1)