.\" -*- coding: UTF-8 -*- .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH MAKE 1 "26 mai 2023" GNU "Comenzi utilizator" .SH NUME make \- ustensila GNU Make pentru a menține grupuri de programe .SH SINOPSIS \fBmake\fP [\fIOPȚIUNE\fP]... [\fIȚINTĂ\fP]... .SH DESCRIERE .LP Ustensila \fImake\fP 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 \fBmake\fP, 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 \fBmake\fP cu orice limbaj de programare al cărui compilator poate fi rulat cu o comandă shell. De fapt, \fBmake\fP 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ă. .LP Pentru a vă pregăti să utilizați \fBmake\fP, trebuie să scrieți un fișier numit \fImakefile\fP (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ă. .LP Odată ce există un \fImakefile\fP adecvat, de fiecare dată când modificați unele fișiere sursă, această simplă comandă shell: .sp 1 .RS \fBmake\fP .RE .sp 1 este suficientă pentru a efectua toate recompilările necesare. Programul \fBmake\fP utilizează descrierea fișierului \fImakefile\fP ș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 \fImakefile\fP. .LP \fBmake\fP execută comenzile din \fImakefile\fP pentru a actualiza una sau mai multe \fIținte\fP, unde \fIțintă\fP este de obicei un program. Dacă nu este prezentă opțiunea \fB\-f\fP, \fBmake\fP va căuta fișierele „makefile” \fIGNUmakefile\fP, \fImakefile\fP și \fIMakefile\fP, în această ordine. .LP În mod normal, ar trebui să numiți fișierul „makefile” fie \fImakefile\fP, fie \fIMakefile\fP; (se recomandă \fIMakefile\fP, deoarece apare în mod proeminent la începutul unei liste de directoare, chiar lângă alte fișiere importante, cum ar fi \fIREADME\fP). Primul nume verificat, \fIGNUmakefile\fP, 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 \fBmake\fP. Dacă \fImakefile\fP este „\-”, se citește intrarea standard. .LP \fBmake\fP 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ă. .SH OPȚIUNI .sp 1 .TP 0.5i \fB\-b\fP, \fB\-m\fP Aceste opțiuni sunt ignorate pentru compatibilitate cu alte versiuni de \fBmake\fP. .TP 0.5i \fB\-B\fP, \fB\-\-always\-make\fP Face în mod necondiționat toate țintele. .TP 0.5i \fB\-C\fP \fIdirector\fP, \fB\-\-directory\fP=\fIdirector\fP Schimbă la directorul \fIdirector\fP înainte de a citi fișierele „makefiles” sau de a face orice altceva. Dacă sunt specificate mai multe opțiuni \fB\-C\fP, fiecare dintre ele este interpretată în raport cu cea anterioară: \fB\-C \fP/ \fB\-C \fPetc este echivalent cu \fB\-C \fP/etc. Acest lucru este utilizat de obicei cu invocări recursive ale \fBmake\fP. .TP 0.5i \fB\-d\fP 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 \fBmake\fP decide ce să facă. .TP 0.5i \fB\-\-debug\fP\fI[=FANIOANE]\fP Afișează informații de depanare în plus față de procesarea normală. Dacă \fIFANIOANELE\fP sunt omise, atunci comportamentul este același ca și în cazul în care ar fi fost specificat \fB\-d\fP. \fIFANIOANE\fP poate fi oricare sau toate numele următoare, separate prin virgule sau spații. Numai primul caracter este semnificativ: restul pot fi omise: \fIall\fP pentru toate ieșirile de depanare (la fel ca atunci când se folosește \fB\-d\fP), \fIbasic\fP pentru depanare de bază, \fIverbose\fP pentru depanare de bază mai detaliată, \fIdefault\fP pentru afișarea operațiilor implicite de căutare a regulilor, \fIjobs\fP pentru detalii despre invocarea comenzilor, \fImakefile\fP pentru depanare în timpul refacerii fișierelor makefile, \fIprint\fP arată toate rețetele care sunt rulate chiar dacă sunt silențioase și \fIwhy\fP arată motivul pentru care \fBmake\fP a decis să reconstruiască fiecare țintă. Utilizați \fInone\fP pentru a dezactiva toate indicatoarele de depanare anterioare. .TP 0.5i \fB\-e\fP, \fB\-\-environment\-overrides\fP Acordă variabilelor preluate din mediu prioritate față de variabilele din fișierele makefile. .TP 0.5i \fB\-E\fP \fIșir\fP, \fB\-\-eval\fP \fIșir\fP Interpretează \fIșirul\fP utilizând funcția \fBeval\fP, înainte de a analiza orice fișier makefile. .TP 0.5i \fB\-f\fP \fIfile\fP, \fB\-\-file\fP=\fIfișier\fP, \fB\-\-makefile\fP=\fIFIȘIER\fP Folosește \fIfișier\fP ca fișier makefile. .TP 0.5i \fB\-i\fP, \fB\-\-ignore\-errors\fP Ignoră toate erorile din comenzile executate pentru refacerea fișierelor. .TP 0.5i \fB\-I\fP \fIdirector\fP, \fB\-\-include\-dir\fP=\fIdirector\fP Specifică un director \fIdirector\fP în care se caută fișierele makefile incluse. În cazul în care se utilizează mai multe opțiuni \fB\-I\fP pentru a specifica mai multe directoare, directoarele sunt căutate în ordinea specificată. Spre deosebire de argumentele altor opțiuni de \fBmake\fP, directoarele date cu opțiunea \fB\-I\fP pot veni direct după opțiune: \fB\-I\fP\fIdirector\fP este permis, precum și \fB\-I\fP \fIdirector\fP. Această sintaxă este permisă pentru compatibilitate cu indicatorul \fB\-I\fP al preprocesorului C. .TP 0.5i \fB\-j\fP [\fIlucrări\fP], \fB\-\-jobs\fP[=\fIlucrări\fP] Specifică numărul de \fIlucrări\fP (comenzi) care trebuie executate simultan. În cazul în care există mai multe opțiuni \fB\-j\fP, ultima este cea care are efect. Dacă opțiunea \fB\-j\fP este dată fără un argument, \fBmake\fP nu va limita numărul de lucrări care pot fi executate simultan. .TP 0.5i \fB\-\-jobserver\-style=\fP\fIstil\fP Stilul de server de lucru care trebuie utilizat. \fIstil\fP poate fi unul dintre \fBfifo\fP, \fBpipe\fP sau \fBsem\fP (numai pentru Windows). .TP 0.5i \fB\-k\fP, \fB\-\-keep\-going\fP 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. .TP 0.5i \fB\-l\fP [\fImedie\-încărcare\fP], \fB\-\-load\-average\fP[=\fImedie\-încărcare\fP] 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 \fImedie\-încărcare\fP (un număr în virgulă mobilă). Fără nici un argument, elimină o limită de încărcare anterioară. .TP 0.5i \fB\-L\fP, \fB\-\-check\-symlink\-times\fP Utilizează cel mai recent timp mtime între legăturile simbolice și țintă. .TP 0.5i \fB\-n\fP, \fB\-\-just\-print\fP, \fB\-\-dry\-run\fP, \fB\-\-recon\fP Afișează comenzile care ar trebui executate, dar nu le execută (cu excepția anumitor circumstanțe). .TP 0.5i \fB\-o\fP \fIfișier\fP, \fB\-\-old\-file\fP=\fIfișier\fP, \fB\-\-assume\-old\fP=\fIfișier\fP Nu reface fișierul \fIfișier\fP chiar dacă este mai vechi decât dependențele sale și nu reface nimic din cauza modificărilor din \fIfișier\fP. În esență, fișierul este tratat ca fiind foarte vechi, iar regulile sale sunt ignorate. .TP 0.5i \fB\-O\fP[\fItip\fP], \fB\-\-output\-sync\fP[=\fItip\fP] Când se execută mai multe lucrări în paralel cu \fB\-j\fP, se asigură că rezultatele fiecărei lucrări sunt colectate împreună și nu intercalate cu rezultatele altor lucrări. Dacă \fItip\fP nu este specificat sau este \fBtarget\fP, ieșirea de la întreaga rețetă pentru fiecare țintă este grupată împreună. Dacă \fItip\fP este \fBline\fP, se grupează ieșirile de la fiecare linie de comandă din cadrul unei rețete. Dacă \fItip\fP este \fBrecurse\fP, se grupează ieșirile de la o întreagă rețetă recursiv. Dacă \fItip\fP este \fBnone\fP, sincronizarea ieșirii este dezactivată. .TP 0.5i \fB\-p\fP, \fB\-\-print\-data\-base\fP 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 \fB\-v\fP (a se vedea mai jos). Pentru a afișa baza de date fără a încerca să refaceți niciun fișier, utilizați \fImake \-p \-f/dev/null\fP. .TP 0.5i \fB\-q\fP, \fB\-\-question\fP 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. .TP 0.5i \fB\-r\fP, \fB\-\-no\-builtin\-rules\fP Elimină utilizarea regulilor implicite încorporate. De asemenea, elimină lista implicită de sufixe pentru regulile de sufixare. .TP 0.5i \fB\-R\fP, \fB\-\-no\-builtin\-variables\fP Nu definește nicio variabilă încorporată. .TP 0.5i \fB\-s\fP, \fB\-\-silent\fP, \fB\-\-quiet\fP Operare silențioasă; nu se afișează comenzile pe măsură ce sunt executate. .TP 0.5i \fB\-\-no\-silent\fP Anulează efectul opțiunii \fB\-s\fP. .TP 0.5i \fB\-S\fP, \fB\-\-no\-keep\-going\fP, \fB\-\-stop\fP Anulează efectul opțiunii \fB\-k\fP. .TP 0.5i \fB\-t\fP, \fB\-\-touch\fP 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 \fBmake\fP. .TP 0.5i \fB\-\-trace\fP 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). .TP 0.5i \fB\-v\fP, \fB\-\-version\fP Imprimă versiunea programului \fBmake\fP plus drepturile de autor, o listă a autorilor și o notificare că nu există nicio garanție. .TP 0.5i \fB\-w\fP, \fB\-\-print\-directory\fP 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 \fBmake\fP recursive. .TP 0.5i \fB\-\-no\-print\-directory\fP Dezactivează \fB\-w\fP, chiar dacă a fost activată implicit. .TP 0.5i \fB\-\-shuffle\fP\fI[=MOD]\fP Activează amestecarea ordinii obiectivelor și a condițiilor prealabile. \fIMOD\fP este unul dintre \fInone\fP pentru a dezactiva modul de amestecare, \fIrandom\fP pentru a amesteca condițiile prealabile în ordine aleatorie, \fIreverse\fP pentru a lua în considerare condițiile prealabile în ordine inversă, sau un număr întreg \fI\fP care activează modul \fIrandom\fP cu o anumită valoare \fIseed\fP. Dacă \fIMOD\fP este omis, valoarea implicită este \fIrandom\fP. .TP 0.5i \fB\-W\fP \fIfișier\fP, \fB\-\-what\-if\fP=\fIfișier\fP, \fB\-\-new\-file\fP=\fIfișier\fP, \fB\-\-assume\-new\fP=\fIfișier\fP Pretinde că obiectivul \fIfișier\fP tocmai a fost modificat. Atunci când este utilizată cu opțiunea \fB\-n\fP, aceasta vă arată ce s\-ar întâmpla dacă ați modifica fișierul respectiv. Fără \fB\-n\fP, este aproape la fel ca și cum ați executa o comandă \fItouch\fP pe fișierul dat înainte de a executa \fBmake\fP, cu excepția faptului că timpul de modificare este schimbat doar în imaginația lui \fBmake\fP. .TP 0.5i \fB\-\-warn\-undefined\-variables\fP Avertizează atunci când se face referire la o variabilă nedefinită. .SH "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 \fB\-q\fP și \fBmake\fP determină că o țintă trebuie reconstruită. O stare de doi va fi returnată dacă au fost întâlnite erori. .SH "CONSULTAȚI ȘI" Documentația completă pentru \fBmake\fP este menținută ca un manual Texinfo. Dacă programele \fBinfo\fP și \fBmake\fP sunt instalate corect în sistemul dvs., comanda .IP \fBinfo make\fP .PP ar trebui să vă permită accesul la manualul complet. .SH ERORI Consultați capitolul „Problems and Bugs” din \fIManualul GNU Make\fP. .SH 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. .SH "DREPTURI DE AUTOR" Drepturi de autor \(co 1992\-1993, 1996\-2023 Free Software Foundation, Inc. Acest fișier face parte din \fIGNU Make\fP. .LP 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ă. .LP 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. .LP 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/. .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .