Provided by: manpages-pl_4.18.1-1_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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.