.\" -*- coding: UTF-8 -*-
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH MAKE 1 "28 lutego 2016" GNU "Polecenia użytkownika"
.SH NAZWA
make \- narzędzie GNU make do obsługi grup programów
.SH SKŁADNIA
\fBmake\fP [\fIOPCJA\fP]... [\fIOBIEKT\fP]...
.SH OPIS
.LP
Celem istnienia narzędzia \fBmake\fP jest automatyczne określanie, które
elementy dużego programu należy rekompilować oraz wydawanie fizycznych
komend rekompilacji.  Podręcznik ten opisuje implementację GNU \fBmake\fP,
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.  \fBMake\fP może być jednak używany z dowolnym językiem
programowania, którego kompilator można uruchomić z linii poleceń.  W
rzeczywistości, \fBmake\fP 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.)
.LP
Aby przygotować się do używania \fBmake\fP, musisz napisać plik o nazwie
\fIMakefile\fP, 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).
.LP
Gdy istnieje już potrzebny Makefile, za każdą zmianą plików źródłowych
wystarczy proste polecenie powłoki:
.sp 1
.RS
\fBmake\fP
.RE
.sp 1
zajmie się ono wszelkimi niezbędnymi rekompilacjami.  Program \fBmake\fP 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.
.LP
W rzeczywistości (patrząc fizycznie), \fBmake\fP wykonuje komendy \fIMakefile\fP w
celu odświeżenia jednego lub więcej \fIcelów\fP, gdzie \fIcel\fP jest zwykle
programem. (Ściślej, \fIcel\fP 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.
.LP
Normally you should call your makefile either \fImakefile\fP or \fIMakefile\fP.
(We recommend \fIMakefile\fP because it appears prominently near the beginning
of a directory listing, right near other important files such as \fIREADME\fP.)
The first name checked, \fIGNUmakefile\fP, is not recommended for most
makefiles.  You should use this name if you have a makefile that is specific
to GNU \fBmake\fP, and will not be understood by other versions of \fBmake\fP.  If
\fImakefile\fP is '\-', the standard input is read.
.LP
\fBmake\fP 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.
.SH OPCJE
.sp 1
.TP  0.5i
\fB\-b\fP, \fB\-m\fP
Opcje te są ignorowane i istnieją dla zgodności z innymi wersjami \fBmake\fP.
.TP  0.5i
\fB\-B\fP, \fB\-\-always\-make\fP
Bezwarunkowe utworzenie wszystkich obiektów.
.TP  0.5i
\fB\-C\fP \fIkatalog\fP, \fB\-\-directory\fP=\fIkatalog\fP
Zmienia przed odczytywaniem plików Makefile katalog bieżący na \fIkatalog\fP.
Jeśli podanych jest wiele opcji \fB\-C\fP to każda jest interpretowana względem
poprzedniej: \fB\-C \fP/ \fB\-C \fPetc jest równoważne \fB\-C \fP/etc.  Jest to
zazwyczaj używane w rekursywnych wywołaniach \fBmake\fP.
.TP  0.5i
\fB\-d\fP
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
\fBmake\fP.
.TP  0.5i
\fB\-\-debug\fP\fI[=FLAGI]\fP
Print debugging information in addition to normal processing.  If the
\fIFLAGS\fP are omitted, then the behavior is the same as if \fB\-d\fP was
specified.  \fIFLAGS\fP may be \fIa\fP for all debugging output (same as using
\fB\-d\fP), \fIb\fP for basic debugging, \fIv\fP for more verbose basic debugging,
\fIi\fP for showing implicit rules, \fIj\fP for details on invocation of commands,
and \fIm\fP for debugging while remaking makefiles.  Use \fIn\fP to disable all
previous debugging flags.
.TP  0.5i
\fB\-e\fP, \fB\-\-environment\-overrides\fP
Daje zmiennym środowiskowym pierwszeństwo nad zmiennymi plików Makefile.
.TP  0.5i
\fB\-f\fP \fIplik\fP, \fB\-\-file\fP=\fIplik\fP, \fB\-\-makefile\fP=\fIPLIK\fP
Jako Makefile użyj \fIpliku\fP.
.TP  0.5i
\fB\-i\fP, \fB\-\-ignore\-errors\fP
Ignoruj wszelkie błędy komendy wykonywanych przy odświeżaniu plików.
.TP  0.5i
\fB\-I\fP \fIkatalog\fP, \fB\-\-include\-dir\fP=\fIkatalog\fP
Podaje \fIkatalog\fP, w którym szukać załączanych (included) plików Makefile.
Jeśli podanych jest kilka opcji \fB\-I\fP, to są on przeszukiwane w podanej
kolejności.  W przeciwieństwie do innych flag \fBmake\fP, katalogi podane
flagami \fB\-I\fP mogą następować bezpośrednio po fladze: \fB\-I\fP\fIdir\fP jest
równoważne \fB\-I \fP\fIdir\fP. Składnia ta jest udostępniona dla kompatybilności z
flagą \fB\-I\fP preprocesora języka C.
.TP  0.5i
\fB\-j\fP [\fIjobs\fP], \fB\-\-jobs\fP[=\fIjobs\fP]
Specifies the number of \fIjobs\fP (commands) to run simultaneously.  If there
is more than one \fB\-j\fP option, the last one is effective.  If the \fB\-j\fP
option is given without an argument, \fBmake\fP will not limit the number of
jobs that can run simultaneously. When \fBmake\fP invokes a \fBsub\-make,\fP all
instances of make will coordinate to run the specified number of jobs at a
time; see the section \fBPARALLEL MAKE AND THE JOBSERVER\fP for details.
.TP  0.5i
\fB\-\-jobserver\-fds\fP [\fIR,W\fP]
Internal option \fBmake\fP uses to pass the jobserver pipe read and write file
descriptor numbers to \fBsub\-makes;\fP see the section \fBPARALLEL MAKE AND THE
JOBSERVER\fP for details
.TP  0.5i
\fB\-k\fP, \fB\-\-keep\-going\fP
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.
.TP  0.5i
\fB\-l\fP [\fIobciążenie\fP], \fB\-\-load\-average\fP[=\fIobciążenie\fP]
Określa, że nie należy uruchamiać nowych zadań (komend) jeśli pracują już
inne, a obciążenie wynosi co najmniej \fIobciążenie\fP (liczba
zmiennoprzecinkowa).  Bez argumentów, usuwany jest poprzedni limit.
.TP  0.5i
\fB\-L\fP, \fB\-\-check\-symlink\-times\fP
Używanie ostatniego mtime między dowiązaniem a celem.
.TP  0.5i
\fB\-n\fP, \fB\-\-just\-print\fP, \fB\-\-dry\-run\fP, \fB\-\-recon\fP
Drukuj komendy, które byłyby wykonywane, lecz nie wykonuj ich (z wyjątkiem
pewnych okoliczności).
.TP  0.5i
\fB\-o\fP \fIplik\fP, \fB\-\-old\-file\fP=\fIplik\fP, \fB\-\-assume\-old\fP=\fIplik\fP
Nie odświeżaj pliku \fIplik\fP nawet jeśli jest starszy niż jego zależności i
nie odświeżaj niczego na konto zmian \fIpliku\fP.  Ogólnie, plik jest
traktowany jako bardzo stary, a jego reguły są ignorowane.
.TP  0.5i
\fB\-O\fP[\fItyp\fP], \fB\-\-output\-sync\fP[=\fItyp\fP]
When running multiple jobs in parallel with \fB\-j\fP, ensure the output of each
job is collected together rather than interspersed with output from other
jobs.  If \fItype\fP is not specified or is \fBtarget\fP the output from the
entire recipe for each target is grouped together.  If \fItype\fP is \fBline\fP
the output from each command line within a recipe is grouped together.  If
\fItype\fP is \fBrecurse\fP output from an entire recursive make is grouped
together.  If \fItype\fP is \fBnone\fP output synchronization is disabled.
.TP  0.5i
\fB\-p\fP, \fB\-\-print\-data\-base\fP
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 \fB\-v\fP (patrz niżej).  Aby wydrukować bazę danych bez odświeżania
plików, użyj \fImake \-p \-f/dev/null\fP.
.TP  0.5i
\fB\-q\fP, \fB\-\-question\fP
\*(lqTryb pytania\*(rq.  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.
.TP  0.5i
\fB\-r\fP, \fB\-\-no\-builtin\-rules\fP
Eliminuje używanie wbudowanych reguł niejawnych. Czyści też domyślną listę
reguł przyrostkowych.
.TP  0.5i
\fB\-R\fP, \fB\-\-no\-builtin\-variables\fP
Wyłącza definiowanie wbudowanych zmiennych.
.TP  0.5i
\fB\-s\fP, \fB\-\-silent\fP, \fB\-\-quiet\fP
Ciche działanie; nie drukuje wykonywanych komend.
.TP  0.5i
\fB\-S\fP, \fB\-\-no\-keep\-going\fP, \fB\-\-stop\fP
Anuluje efekty opcji \fB\-k\fP.  Nie jest to zwykle potrzebne, poza \fBmake\fP
rekursywnym, gdzie \fB\-k\fP może być dziedziczone z wyższych poziomów \fBmake\fP
poprzez MAKEFLAGS, lub w wypadku gdy ustawisz \fB\-k\fP w MAKEFLAGS w swoim
środowisku.
.TP  0.5i
\fB\-t\fP, \fB\-\-touch\fP
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ń \fBmake\fP.
.TP  0.5i
\fB\-\-trace\fP
Information about the disposition of each target is printed (why the target
is being rebuilt and what commands are run to rebuild it).
.TP  0.5i
\fB\-v\fP, \fB\-\-version\fP
Wyświetla wersję \fBmake\fP, informację o prawach autorskich, listę autorów
oraz zastrzeżenie o braku g
.TP  0.5i
\fB\-w\fP, \fB\-\-print\-directory\fP
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 \fBmake\fP.
.TP  0.5i
\fB\-\-no\-print\-directory\fP
Wyłącza \fB\-w\fP, nawet jeśli było ono włączone domyślnie.
.TP  0.5i
\fB\-W\fP \fIplik\fP, \fB\-\-what\-if\fP=\fIplik\fP, \fB\-\-new\-file\fP=\fIplik\fP, \fB\-\-assume\-new\fP=\fIplik\fP
Udaj, że cel \fIplik\fP został właśnie zmodyfikowany.  Po użyciu z flagą \fB\-n\fP,
pokazuje ci to, co stałoby się, gdybyś rzeczywiście zmodyfikował ten plik.
Bez opcji \fB\-n\fP, jest to prawie równoważne uruchomieniu na podanym pliku
komendy \fItouch\fP. Jedyną różnicą jest fakt, że czas modyfikacji jest tu
zmieniany tylko w wyobraźni \fBmake\fP.
.TP  0.5i
\fB\-\-warn\-undefined\-variables\fP
Ostrzega przy odwołaniach do niezdefiniowanych zmiennych.
.SH "KOD ZAKOŃCZENIA"
GNU \fBmake\fP 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 \fB\-q\fP flag was used and \fBmake\fP determines that a target
needs to be rebuilt.  A status of two will be returned if any errors were
encountered.
.SH "ZOBACZ TAKŻE"
Pełna dokumentacja dla programu \fBmake\fP jest utrzymywana jako podręcznik
Texinfo. Jeśli programy  \fBinfo\fP oraz \fBmake\fP są właściwie zainstalowane,
polecenie
.IP
\fBinfo make\fP
.PP
should give you access to the complete manual. Additionally, the manual is
also available online at
\fIhttps://www.gnu.org/software/make/manual/html_node/index.html\fP
.SH "PARALLEL MAKE AND THE JOBSERVER"
Using the \fI\-j\fP option, the user can instruct \fBmake\fP to execute tasks in
parallel. By specifying a numeric argument to \fI\-j\fP the user may specify an
upper limit of the number of parallel tasks to be run.
.PP
When the build environment is such that a top level \fBmake\fP invokes
\fBsub\-makes\fP (for instance, a style in which each sub\-directory contains its
own \fIMakefile\fP ), no individual instance of \fBmake\fP 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 \fBmake\fP
instances running. While solutions like having the top level \fBmake\fP 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.
.PP
This pipe is created by the top\-level \fBmake\fP process, and passed on to all
the \fBsub\-makes.\fP The top level \fBmake\fPprocess\fBwrites\fP \fBN\-1\fP one\-byte
tokens into the pipe (The top level \fBmake\fP is assumed to reserve one token
for itself). Whenever any of the \fBmake\fP processes (including the top\-level
\fBmake\fP ) 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 \fBmake\fP process writes a token back to
the pipe (and thus, if the tokens had been exhausted, unblocking the first
\fBmake\fP process that was waiting to read a token).  Since only \fBN\-1\fP tokens
were written into the pipe, no more than \fBN\fP tasks can be running at any
given time.
.PP
If the job to be run is not a \fBsub\-make\fP then \fBmake\fP will close the
jobserver pipe file descriptors before invoking the commands, so that the
command can not interfere with the \fIjobserver,\fP and the command does not
find any unusual file descriptors.
.SH BŁĘDY
Zobacz rozdział `Problems and Bugs' w \fIThe GNU Make Manual\fP.
.SH 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.
.SH PRAWA\ AUTORSKIE
Copyright \(co 1992\-1993, 1996\-2016 Free Software Foundation, Inc.  Ten plik
jest częścią \fIGNU make\fP.
.LP
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.
.LP
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.
.LP
Wraz z \fBmake\fP powinieneś otrzymać egzemplarz Powszechnej Licencji
Publicznej GNU (GNU General Public License) \- zobacz
\fIhttp://www.gnu.org/licenses/\fP.

.SH 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
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

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