MAKE(1) Polecenia uzytkownika MAKE(1) NAZWA make - GNU Make utility to maintain groups of programs SKLADNIA make [OPCJA]... [OBIEKT]... OPIS Celem istnienia narzedzia make jest automatyczne okreslanie, ktore elementy duzego programu nalezy rekompilowac oraz wydawanie fizycznych komend rekompilacji. Podrecznik ten opisuje implementacje GNU make, napisana przez Richarda Stallmana i Rolanda McGratha, a obecnie utrzymywana przez Paula Smitha. Nasze przyklady to programy w C, gdyz sa one bardzo popularne. Make moze byc jednak uzywany z dowolnym jezykiem programowania, ktorego kompilator mozna uruchomic z linii polecen. W rzeczywistosci, make nie jest ograniczone do programow. Np. mozna go uzywac do opisywania dowolnego zadania, w ktorym czesc plikow musi byc odswiezana automatycznie na podstawie innych za kazdym razem gdy one sie zmienia. (Np. polskie XFAQ jest zrealizowane na tej zasadzie--przyp. tlum.) To prepare to use make, you must write a file called the makefile that describes the relationships among files in your program, and provides commands for updating each file. In a program, typically the executable file is updated from object files, which are in turn made by compiling source files. Gdy istnieje juz potrzebny Makefile, za kazda zmiana plikow zrodlowych wystarczy proste polecenie powloki: make zajmie sie ono wszelkimi niezbednymi rekompilacjami. Program make uzywa opisu z Makefile oraz czasow modyfikacji plikow i w ten sposob decyduje, ktory z nich odswiezyc. Dla kazdego z wymagajacych odswiezenia plikow wykonywane sa komendy, zapisane w pliku Makefile. make executes commands in the makefile to update one or more targets, where target is typically a program. If no -f option is present, make will look for the makefiles GNUmakefile, makefile, and Makefile, in that order. 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 sa ignorowane i istnieja dla zgodnosci z innymi wersjami make. -B, --always-make Bezwarunkowe utworzenie wszystkich obiektow. -C katalog, --directory=katalog Zmienia przed odczytywaniem plikow Makefile katalog biezacy na katalog. Jesli podanych jest wiele opcji -C to kazda jest interpretowana wzgledem poprzedniej: -C / -C etc jest rownowazne -C /etc. Jest to zazwyczaj uzywane w rekursywnych wywolaniach make. -d Drukuje informacje debuggowe. Informacje te mowia, ktore pliki wybrano do odswiezania, ktore czasy modyfikacji byly porownywane i z jakimi rezulatatami, ktore pliki wymagaja odswiezenia, ktore niejawne reguly sa stosowane---wszystko co mozna wymyslic ciekawego o sposobie dzialania 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 any or all of the following names, comma- or space-separated. Only the first character is significant: the rest may be omitted: all for all debugging output (same as using -d), basic for basic debugging, verbose for more verbose basic debugging, implicit for showing implicit rule search operations, jobs for details on invocation of commands, makefile for debugging while remaking makefiles, print shows all recipes that are run even if they are silent, and why shows the reason make decided to rebuild each target. Use none to disable all previous debugging flags. -e, --environment-overrides Daje zmiennym srodowiskowym pierwszenstwo nad zmiennymi plikow Makefile. -E lancuch, --eval lancuch Intepretuje lancuch przy pomocy funkcji eval, przed przetworzeniem plikow Makefile. -f plik, --file=plik, --makefile=PLIK Jako Makefile uzyj pliku. -i, --ignore-errors Ignoruj wszelkie bledy komendy wykonywanych przy odswiezaniu plikow. -I katalog, --include-dir=katalog Podaje katalog, w ktorym szukac zalaczanych (included) plikow Makefile. Jesli podanych jest kilka opcji -I, to sa on przeszukiwane w podanej kolejnosci. W przeciwienstwie do innych flag make, katalogi podane flagami -I moga nastepowac bezposrednio po fladze: -Idir jest rownowazne -I dir. Skladnia ta jest udostepniona dla kompatybilnosci z flaga -I preprocesora jezyka C. -j [jobs], --jobs[=jobs] Podaje dozwolona liczbe zadan (komend), ktora mozna wykonywac naraz. Jesli jest wiecej niz jedna opcja -j, ostatnia jest znaczaca. Jesli opcja -j jest podana bez argumentu, make nie bedzie ograniczac liczby mozliwych zadan. --jobserver-style=style The style of jobserver to use. The style may be one of fifo, pipe, or sem (Windows only). -k, --keep-going Kontynuuj ile sie da po bledzie. Chociaz cel, ktory sie nie powiodl i zaleznosci na nim sie opierajace nie moga byc zbudowane, to mozna przetworzyc inne zaleznosci celow. -l [obciazenie], --load-average[=obciazenie] Okresla, ze nie nalezy uruchamiac nowych zadan (komend) jesli pracuja juz inne, a obciazenie wynosi co najmniej obciazenie (liczba zmiennoprzecinkowa). Bez argumentow, usuwany jest poprzedni limit. -L, --check-symlink-times Uzywanie ostatniego mtime miedzy dowiazaniem a celem. -n, --just-print, --dry-run, --recon Drukuj komendy, ktore bylyby wykonywane, lecz nie wykonuj ich (z wyjatkiem pewnych okolicznosci). -o plik, --old-file=plik, --assume-old=plik Nie odswiezaj pliku plik nawet jesli jest starszy niz jego zaleznosci i nie odswiezaj niczego na konto zmian pliku. Ogolnie, plik jest traktowany jako bardzo stary, a jego reguly sa 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 baze danych (reguly i wartosci zmiennych), ktore wynikaja z odczytanych plikow Makefile. Nastepnie wykonuje sie w trybie normalnym, chyba ze podano inaczej. Drukuje to tez informacje o wersji, podawane przez przelacznik -v (patrz nizej). Aby wydrukowac baze danych bez odswiezania plikow, uzyj make -p -f/dev/null. -q, --question "Tryb pytania". Nie uruchamia zadnych komend i niczego nie drukuje; zwraca tylko kod wyjscia, ktory moze byc zerowy jesli cele sa swieze, lub niezereowy jesli sa stechle. -r, --no-builtin-rules Eliminuje uzywanie wbudowanych regul niejawnych. Czysci tez domyslna liste regul przyrostkowych. -R, --no-builtin-variables Wylacza definiowanie wbudowanych zmiennych. -s, --silent, --quiet Ciche dzialanie; nie drukuje wykonywanych komend. --no-silent Wylacza -s. -S, --no-keep-going, --stop Wylacza -k. -t, --touch Dotyka plikow (zaznacza je jako odswiezone, bez zmieniania zawartosci), zamiast normalnego uruchamiania komend. Jest to uzywane do udawania, ze komendy zostaly wykonane w celu oglupienia przyszlych wywolan 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 Wyswietla wersje make, informacje o prawach autorskich, liste autorow oraz zastrzezenie o braku g -w, --print-directory Drukuj komunikat, zawierajacy katalog biezacy przed i po dzialaniu. Moze to byc przydatne do scigania bledow w skomplikowanych zagniezdzeniach rekursywnego make. --no-print-directory Wylacza -w, nawet jesli bylo ono wlaczone domyslnie. --shuffle[=MODE] Enable shuffling of goal and prerequisite ordering. MODE is one of none to disable shuffle mode, random to shuffle prerequisites in random order, reverse to consider prerequisites in reverse order, or an integer which enables random mode with a specific seed value. If MODE is omitted the default is random. -W plik, --what-if=plik, --new-file=plik, --assume-new=plik Udaj, ze cel plik zostal wlasnie zmodyfikowany. Po uzyciu z flaga -n, pokazuje ci to, co staloby sie, gdybys rzeczywiscie zmodyfikowal ten plik. Bez opcji -n, jest to prawie rownowazne uruchomieniu na podanym pliku komendy touch. Jedyna roznica jest fakt, ze czas modyfikacji jest tu zmieniany tylko w wyobrazni make. --warn-undefined-variables Ostrzega przy odwolaniach do niezdefiniowanych zmiennych. STATUS ZAKONCZENIA 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 TAKZE Pelna dokumentacja dla programu make jest utrzymywana jako podrecznik Texinfo. Jesli programy info oraz make sa wlasciwie zainstalowane, polecenie info make powinno dac dostep do pelnego podrecznika. USTERKI Zobacz rozdzial `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 (C) 1992-1993, 1996-2023 Free Software Foundation, Inc. This file is part of 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 nadzieja, iz bedzie uzyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyslnej gwarancji PRZYDATNOSCI HANDLOWEJ albo PRZYDATNOSCI DO OKRESLONYCH ZASTOSOWAN. W celu uzyskania blizszych informacji siegnij do Powszechnej Licencji Publicznej GNU. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/. TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . GNU 26 May 2023 MAKE(1)