Provided by: manpages-pl_4.21.0-2_all bug

NAZWA

       make - narzędzie GNU make do obsługi grup programów

SKŁADNIA

       make [OPCJA]... [OBIEKT]...

OPIS

       Celem  istnienia  narzędzia  make  jest  automatyczne  określanie,  które elementy dużego programu należy
       rekompilować oraz wydawanie fizycznych komend rekompilacji.  Podręcznik  ten  opisuje  implementację  GNU
       make,  napisaną  przez  Richarda  Stallmana i Rolanda McGratha, a obecnie utrzymywaną przez Paula Smitha.
       Nasze przykłady to programy w C, gdyż są one bardzo popularne.  Make może być jednak używany  z  dowolnym
       językiem  programowania,  którego kompilator można uruchomić z linii poleceń.  W rzeczywistości, make nie
       jest ograniczone do programów. Np. można go używać do opisywania dowolnego zadania, w którym część plików
       musi być odświeżana automatycznie na podstawie innych za każdym razem gdy one się zmienią.  (Np.  polskie
       XFAQ jest zrealizowane na tej zasadzie--przyp. tłum.)

       Aby  przygotować  się  do  używania  make,  musisz  napisać plik o nazwie Makefile, który opisuje związki
       zależności między plikami twojego programu (np.   obiekt.o  musi  być  rekompilowany  po  każdej  zmianie
       obiekt.c lub obiekt.h)  oraz określa komendy, wykonywane do odświeżania plików (np. gcc -c obiekt.c).

       Gdy  istnieje  już  potrzebny  Makefile,  za  każdą  zmianą  plików źródłowych wystarczy proste polecenie
       powłoki:

              make

       zajmie się ono wszelkimi niezbędnymi rekompilacjami.  Program make używa opisu  z  Makefile  oraz  czasów
       modyfikacji  plików  i  w  ten  sposób  decyduje,  który  z  nich  odświeżyć.  Dla każdego z wymagających
       odświeżenia plików wykonywane są komendy, zapisane w pliku Makefile.

       W rzeczywistości (patrząc fizycznie), make wykonuje komendy  Makefile  w  celu  odświeżenia  jednego  lub
       więcej  celów,  gdzie  cel  jest  zwykle  programem.  (Ściślej,  cel jest dowolnym łańcuchem znaków pliku
       Makefile, który znajduje się na początku linii i kończy się dwukropkiem [za którym znajdują  się  obiekty
       zależności], np.

       Normally  you  should  call your makefile either makefile or Makefile.  (We recommend Makefile because it
       appears prominently near the beginning of a directory listing, right near other important files  such  as
       README.)   The  first  name  checked, GNUmakefile, is not recommended for most makefiles.  You should use
       this name if you have a makefile that is specific to GNU make,  and  will  not  be  understood  by  other
       versions of make.  If makefile is '-', the standard input is read.

       make  updates  a  target if it depends on prerequisite files that have been modified since the target was
       last modified, or if the target does not exist.

OPCJE

       -b, -m
            Opcje te są ignorowane i istnieją dla zgodności z innymi wersjami make.

       -B, --always-make
            Bezwarunkowe utworzenie wszystkich obiektów.

       -C katalog, --directory=katalog
            Zmienia przed odczytywaniem plików Makefile katalog bieżący na katalog.  Jeśli podanych  jest  wiele
            opcji  -C  to  każda  jest interpretowana względem poprzedniej: -C / -C etc jest równoważne -C /etc.
            Jest to zazwyczaj używane w rekursywnych wywołaniach make.

       -d   Drukuje informacje debuggowe. Informacje te mówią, które pliki wybrano do odświeżania,  które  czasy
            modyfikacji  były  porównywane  i  z  jakimi  rezulatatami,  które pliki wymagają odświeżenia, które
            niejawne reguły są stosowane---wszystko co można wymyślić ciekawego o sposobie działania make.

       --debug[=FLAGI]
            Print debugging information in addition to normal processing.  If the FLAGS are  omitted,  then  the
            behavior is the same as if -d was specified.  FLAGS may be a for all debugging output (same as using
            -d),  b for basic debugging, v for more verbose basic debugging, i for showing implicit rules, j for
            details on invocation of commands, and m for debugging while remaking makefiles.  Use n  to  disable
            all previous debugging flags.

       -e, --environment-overrides
            Daje zmiennym środowiskowym pierwszeństwo nad zmiennymi plików Makefile.

       -f plik, --file=plik, --makefile=PLIK
            Jako Makefile użyj pliku.

       -i, --ignore-errors
            Ignoruj wszelkie błędy komendy wykonywanych przy odświeżaniu plików.

       -I katalog, --include-dir=katalog
            Podaje  katalog,  w którym szukać załączanych (included) plików Makefile.  Jeśli podanych jest kilka
            opcji -I, to są on przeszukiwane w podanej kolejności.   W  przeciwieństwie  do  innych  flag  make,
            katalogi  podane  flagami  -I  mogą następować bezpośrednio po fladze: -Idir jest równoważne -I dir.
            Składnia ta jest udostępniona dla kompatybilności z flagą -I preprocesora języka C.

       -j [jobs], --jobs[=jobs]
            Specifies the number of jobs (commands) to run simultaneously.  If there is more than one -j option,
            the last one is effective.  If the -j option is given without an argument, make will not  limit  the
            number of jobs that can run simultaneously. When make invokes a sub-make, all instances of make will
            coordinate  to  run  the  specified  number of jobs at a time; see the section PARALLEL MAKE AND THE
            JOBSERVER for details.

       --jobserver-fds [R,W]
            Internal option make uses to pass the jobserver pipe read  and  write  file  descriptor  numbers  to
            sub-makes; see the section PARALLEL MAKE AND THE JOBSERVER for details

       -k, --keep-going
            Kontynuuj  ile  się  da  po  błędzie.  Chociaż  cel,  który  się nie powiódł i zależności na nim się
            opierające nie mogą być zbudowane, to można przetworzyć inne zależności celów.

       -l [obciążenie], --load-average[=obciążenie]
            Określa, że nie należy uruchamiać nowych zadań (komend) jeśli pracują już inne, a obciążenie  wynosi
            co najmniej obciążenie (liczba zmiennoprzecinkowa).  Bez argumentów, usuwany jest poprzedni limit.

       -L, --check-symlink-times
            Używanie ostatniego mtime między dowiązaniem a celem.

       -n, --just-print, --dry-run, --recon
            Drukuj komendy, które byłyby wykonywane, lecz nie wykonuj ich (z wyjątkiem pewnych okoliczności).

       -o plik, --old-file=plik, --assume-old=plik
            Nie  odświeżaj  pliku  plik  nawet jeśli jest starszy niż jego zależności i nie odświeżaj niczego na
            konto zmian pliku.  Ogólnie, plik jest traktowany jako bardzo stary, a jego reguły są ignorowane.

       -O[typ], --output-sync[=typ]
            When running multiple jobs in parallel with -j, ensure the output of each job is collected  together
            rather  than  interspersed  with  output from other jobs.  If type is not specified or is target the
            output from the entire recipe for each target is grouped together.  If type is line the output  from
            each  command  line  within  a recipe is grouped together.  If type is recurse output from an entire
            recursive make is grouped together.  If type is none output synchronization is disabled.

       -p, --print-data-base
            Drukuje bazę danych (reguły i wartości zmiennych), które wynikają  z  odczytanych  plików  Makefile.
            Następnie  wykonuje  się  w  trybie  normalnym, chyba że podano inaczej. Drukuje to też informacje o
            wersji, podawane przez przełącznik -v (patrz niżej).  Aby wydrukować  bazę  danych  bez  odświeżania
            plików, użyj make -p -f/dev/null.

       -q, --question
            “Tryb pytania”.  Nie uruchamia żadnych komend i niczego nie drukuje; zwraca tylko kod wyjścia, który
            może być zerowy jeśli cele są świeże, lub niezereowy jeśli są stęchłe.

       -r, --no-builtin-rules
            Eliminuje używanie wbudowanych reguł niejawnych. Czyści też domyślną listę reguł przyrostkowych.

       -R, --no-builtin-variables
            Wyłącza definiowanie wbudowanych zmiennych.

       -s, --silent, --quiet
            Ciche działanie; nie drukuje wykonywanych komend.

       -S, --no-keep-going, --stop
            Anuluje  efekty  opcji  -k.   Nie jest to zwykle potrzebne, poza make rekursywnym, gdzie -k może być
            dziedziczone z wyższych poziomów make poprzez MAKEFLAGS, lub w wypadku gdy ustawisz -k w MAKEFLAGS w
            swoim środowisku.

       -t, --touch
            Dotyka  plików  (zaznacza  je  jako  odświeżone,  bez  zmieniania  zawartości),  zamiast  normalnego
            uruchamiania  komend.  Jest  to  używane  do udawania, że komendy zostały wykonane w celu ogłupienia
            przyszłych wywołań make.

       --trace
            Information about the disposition of each target is printed (why the target  is  being  rebuilt  and
            what commands are run to rebuild it).

       -v, --version
            Wyświetla wersję make, informację o prawach autorskich, listę autorów oraz zastrzeżenie o braku g

       -w, --print-directory
            Drukuj  komunikat,  zawierający  katalog  bieżący  przed  i  po  działaniu. Może to być przydatne do
            ścigania błędów w skomplikowanych zagnieżdżeniach rekursywnego make.

       --no-print-directory
            Wyłącza -w, nawet jeśli było ono włączone domyślnie.

       -W plik, --what-if=plik, --new-file=plik, --assume-new=plik
            Udaj, że cel plik został właśnie zmodyfikowany.  Po użyciu z flagą -n, pokazuje ci  to,  co  stałoby
            się,  gdybyś  rzeczywiście  zmodyfikował  ten  plik.   Bez  opcji  -n,  jest  to  prawie  równoważne
            uruchomieniu na podanym pliku komendy touch. Jedyną różnicą jest fakt, że czas modyfikacji  jest  tu
            zmieniany tylko w wyobraźni make.

       --warn-undefined-variables
            Ostrzega przy odwołaniach do niezdefiniowanych zmiennych.

KOD ZAKOŃCZENIA

       GNU  make  exits with a status of zero if all makefiles were successfully parsed and no targets that were
       built failed.  A status of one will be returned if the -q flag was used and make determines that a target
       needs to be rebuilt.  A status of two will be returned if any errors were encountered.

ZOBACZ TAKŻE

       Pełna dokumentacja dla programu make jest utrzymywana jako podręcznik Texinfo. Jeśli programy  info  oraz
       make są właściwie zainstalowane, polecenie

              info make

       should  give  you  access  to  the  complete manual. Additionally, the manual is also available online at
       https://www.gnu.org/software/make/manual/html_node/index.html

PARALLEL MAKE AND THE JOBSERVER

       Using the -j option, the user can instruct make to execute tasks in parallel.  By  specifying  a  numeric
       argument to -j the user may specify an upper limit of the number of parallel tasks to be run.

       When  the  build  environment  is  such that a top level make invokes sub-makes (for instance, a style in
       which each sub-directory contains its own Makefile ), no individual instance of make knows how many tasks
       are running in parallel, so keeping the number of tasks under the upper limit would be impossible without
       communication between all the make instances running. While solutions like  having  the  top  level  make
       serve  as a central controller are feasible, or using other synchronization mechanisms like shared memory
       or sockets can be created, the current implementation uses a simple shared pipe.

       This pipe is created by the top-level make process, and passed on to all the  sub-makes.  The  top  level
       makeprocesswrites  N-1  one-byte tokens into the pipe (The top level make is assumed to reserve one token
       for itself). Whenever any of the make processes (including the top-level make ) needs to run a new  task,
       it reads a byte from the shared pipe. If there are no tokens left, it must wait for a token to be written
       back to the pipe. Once the task is completed, the make process writes a token back to the pipe (and thus,
       if  the  tokens  had been exhausted, unblocking the first make process that was waiting to read a token).
       Since only N-1 tokens were written into the pipe, no more than N tasks can be running at any given time.

       If the job to be run is not a sub-make then make will close the jobserver pipe  file  descriptors  before
       invoking the commands, so that the command can not interfere with the jobserver, and the command does not
       find any unusual file descriptors.

BŁĘDY

       Zobacz rozdział `Problems and Bugs' w The GNU Make Manual.

AUTOR

       This manual page contributed by Dennis Morse of Stanford University.  Further updates contributed by Mike
       Frysinger.  It has been reworked by Roland McGrath.  Maintained by Paul Smith.

PRAWA AUTORSKIE

       Copyright © 1992-1993, 1996-2016 Free Software Foundation, Inc.  Ten plik jest częścią GNU make.

       GNU  Make  is  free software; you can redistribute it and/or modify it under the terms of the GNU General
       Public License as published by the Free Software Foundation; either version 3 of the License, or (at your
       option) any later version.

       GNU Make rozpowszechniany jest z nadzieją, iż będzie użyteczny  -  jednak  BEZ  JAKIEJKOLWIEK  GWARANCJI,
       nawet  domyślnej  gwarancji  PRZYDATNOŚCI  HANDLOWEJ  albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. W celu
       uzyskania bliższych informacji sięgnij do Powszechnej Licencji Publicznej GNU.

       Wraz z make powinieneś otrzymać egzemplarz  Powszechnej  Licencji  Publicznej  GNU  (GNU  General  Public
       License) - zobacz http://www.gnu.org/licenses/.

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl> i
       Michał Kułach <michal.kulach@gmail.com>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje  o  warunkach  licencji  można  uzyskać
       zapoznając   się   z   GNU General Public License w wersji 3   lub  nowszej.  Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej  manpages-pl-
       list@lists.sourceforge.net.

GNU                                              28 lutego 2016                                          MAKE(1)