Provided by: manpages-pl_20060617-1_all bug

NAZWA

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

SKŁADNIA

       make [ -f makefile ] [ opcja ] ...  cel ...

OSTRZEŻENIE

       Ta strona podręcznika man jest ekstraktem dokumentacji GNU make .  Jest
       ona odświeżana tylko od czasu do czasu,  gdyż  projekt  GNU  nie  używa
       nroff.  Dla  kompletnej  i aktualnej dokumentacji przeczytaj plik Info,
       make.info, który został stworzony ze źródła Texinfo make.texinfo.

       Od tłumacza: tak naprawdę w wypadku narzędzi takich jak make aktualność
       nie  jest  istotna, gdyż z zasady powinny być one (po względem obsługi)
       jak   najkompatybilniejsze   z   różnymi,    nawet    "przedpotopowymi"
       implementacjami.

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, zwanego wujkiem  Ryśkiem  i  Rolanda
       McGratha.    Nasze   przykłady   to   programy   w   C,   gdyż  są  one
       najpopularniejsze.  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 danych 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 bazie Makefile.

       W rzeczywistości (patrząc fizycznie), make wykonuje komendy Makefile  w
       celu  odświeżenia  jednego  lub  więcej  celw,  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.

       program:program.c program.h

       --przyp.tłum.)

       Jeśli nie ma podanej żadnej  opcji -f, make szuka plików  Makefile  pod
       następującymi  nazwami:  GNUmakefile,  makefile i Makefile.  Obowiązuje
       podana kolejność. Najpopularniejsze w użyciu są nazwy Makefile, gdyż są
       przenośne i pojawiają się na początku posortowanego listingu plików.

       Jeśli  plik  Makefile  jest okreslony jako `-', to jest nim standardowe
       wejście.

       make odświeża cel tylko jeśli zależy od plików, które zostały zmienione
       od  czasu  utworzenia  ostatniego  celu,  lub  jeśli  cel  jeszcze  nie
       istnieje.

OPCJE

       -b

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

       -C 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.

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

       -f plik
            Jako Makefile użyj pliku.

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

       -I 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
            Podaje  dozwoloną  liczbę  zadań  (komend),  którą można wykonywać
            naraz. Jeśli  jest  więcej  niż  jedna  opcja  -j,  ostatnia  jest
            znacząca.   Jeśli  opcja  -j  jest  podana bez argumentu, make nie
            będzie ograniczać liczby możliwych zadań.

       -k   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

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

       -n   Drukuj komendy, które byłyby wykonywane, lecz nie wykonuj ich.

       -o 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.

       -p   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   ``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   Eliminuje   używanie  wbudowanych  reguł  niejawnych.  Czyści  też
            domyślną listę reguł przyrostkowych.

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

       -S   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   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.

       -v   Drukuj wersję programu make oraz prawa kopiowania, listę autorów i
            notkę,  że  nie  ma  gwarancji.   Po  wydrukowaniu tej informacji,
            przetwarzanie  działa  normalnie.   Aby  uzyskać  informację   bez
            robienia innych rzeczy, użyj make -v -f/dev/null.

       -w   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.

       -W 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.

ZOBACZ TAKŻE

       The GNU Make Manual

BŁĘDY

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

AUTOR

       Podręcznik ten został stworzony przez Dennisa  Morse'a  z  Uniwersytetu
       Stanforda.  Został przerobiony przez Rolanda McGratha.