Provided by:
manpages-pl_20060617-2_all 
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.