Provided by: manpages-ro_4.27.0-1_all bug

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)