1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278
|
.\" 2000 PTM Przemek Borys <pborys@dione.ids.pl>
.TH MAKE 1L "22 sierpnia 1989" "GNU" "LOKALNE KOMENDY UYTKOWNIKA"
.SH NAZWA
make \- narzdzie GNU make do obsugi grup programw
.SH SKADNIA
.B "make "
[
.B \-f
.I makefile
] [ opcja ] ...
cel ...
.SH OSTRZEENIE
Ta strona podrcznika man jest ekstraktem dokumentacji
.I GNU make .
Jest ona odwieana tylko od czasu do czasu, gdy projekt GNU nie uywa
nroff. Dla kompletnej i aktualnej dokumentacji przeczytaj plik Info,
.BR make.info ,
ktry zosta stworzony ze rda Texinfo
.BR make.texinfo .
Od tumacza: tak naprawd w wypadku narzdzi takich jak make aktualno nie
jest istotna, gdy z zasady powinny by one (po wzgldem obsugi) jak
najkompatybilniejsze z rnymi, nawet "przedpotopowymi" implementacjami.
.SH OPIS
.LP
Celem istnienia narzdzia
.I make
jest automatyczne okrelanie, ktre elementy duego programu naley
rekompilowa oraz wydawanie fizycznych komend rekompilacji.
Podrcznik ten opisuje implementacj GNU
.IR make ,
napisan przez Richarda Stallmana, zwanego wujkiem Rykiem i Rolanda
McGratha.
Nasze przykady to programy w C, gdy s one najpopularniejsze.
.I Make
moe by jednak uywany z dowolnym jzykiem programowania, ktrego
kompilator mona uruchomi z linii polece.
W rzeczywistoci,
.I make
nie jest ograniczone do programw. Np. mona go uywa do opisywania
dowolnego zadania, w ktrym cz plikw musi by odwieana automatycznie
na podstawie innych za kadym razem gdy one si zmieni. (Np. polskie XFAQ
jest zrealizowane na tej zasadzie--przyp. tum.)
.LP
Aby przygotowa si do uywania
.IR make ,
musisz napisa plik o nazwie
.IR Makefile ,
ktry opisuje zwizki zalenoci midzy plikami twojego programu (np.
obiekt.o musi by rekompilowany po kadej zmianie obiekt.c lub obiekt.h)
oraz okrela komendy, wykonywane do odwieania plikw (np. gcc -c
obiekt.c).
.LP
Gdy istnieje ju potrzebny Makefile, za kad zmian plikw rdowych
wystarczy proste polecenie powoki:
.sp 1
.RS
.B make
.RE
.sp 1
zajmie si ono wszelkimi niezbdnymi rekompilacjami.
Program
.I make
uywa danych z Makefile oraz czasw modyfikacji plikw i w ten sposb
decyduje, ktry z nich odwiey. Dla kadego z wymagajcych odwieenia
plikw wykonywane s komendy, zapisane w bazie Makefile.
.LP
W rzeczywistoci (patrzc fizycznie),
.I make
wykonuje komendy
.I Makefile
w celu odwieenia jednego lub wicej
.IR celw ,
gdzie
.I cel
jest zwykle programem. (cilej, \fIcel\fR jest dowolnym acuchem znakw
pliku Makefile, ktry znajduje si na pocztku linii i koczy si
dwukropkiem [za ktrym znajduj si obiekty zalenoci], np.
program:program.c program.h
\fR--przyp.tum.)
Jeli nie ma podanej adnej opcji
.BR \-f ,
make szuka plikw Makefile pod nastpujcymi nazwami:
.IR GNUmakefile ,
.IR makefile
i
.IR Makefile .
Obowizuje podana kolejno. Najpopularniejsze w uyciu s nazwy
\fIMakefile\fR, gdy s przenone i pojawiaj si na pocztku posortowanego
listingu plikw.
.LP
Jeli plik
.I Makefile
jest okreslony jako `\-', to jest nim standardowe wejcie.
.LP
.I make
odwiea cel tylko jeli zaley od plikw, ktre zostay zmienione od czasu
utworzenia ostatniego celu, lub jeli cel jeszcze nie istnieje.
.SH OPCJE
.sp 1
.TP 0.5i
.B \-b
.TP 0.5i
.B \-m
Opcje te s ignorowane i istniej dla zgodnoci z innymi wersjami
.IR make .
.TP 0.5i
.BI "\-C " katalog
Zmienia przed odczytywaniem plikw Makefile katalog biecy na
.IR katalog .
Jeli podanych jest wiele opcji
.B \-C
to kada jest interpretowana wzgldem poprzedniej:
.BR "\-C " /
.BR "\-C " etc
jest rwnowane
.BR "\-C " /etc.
Jest to zazwyczaj uywane w rekursywnych wywoaniach
.IR make .
.TP 0.5i
.B \-d
Drukuje informacje debuggowe. Informacje te mwi, ktre pliki wybrano do
odwieania, ktre czasy modyfikacji byy porwnywane i z jakimi
rezulatatami, ktre pliki wymagaj odwieenia, ktre niejawne reguy s
stosowane---wszystko co mona wymyli ciekawego o sposobie dziaania
.IR make .
.TP 0.5i
.B \-e
Daje zmiennym rodowiskowym pierwszestwo nad zmiennymi plikw Makefile.
.TP 0.5i
.BI "\-f " plik
Jako Makefile uyj
.IR pliku .
.TP 0.5i
.B \-i
Ignoruj wszelkie bdy komendy wykonywanych przy odwieaniu plikw.
.TP 0.5i
.BI "\-I " katalog
Podaje
.IR katalog ,
w ktrym szuka zaczanych (included) plikw Makefile.
Jeli podanych jest kilka opcji
.BR \-I ,
to s on przeszukiwane w podanej kolejnoci.
W przeciwiestwie do innych flag
.IR make ,
katalogi podane flagami
.B \-I
mog nastpowa bezporednio po fladze:
.BI \-I dir
jest rwnowane
.BI "\-I " dir.
Skadnia ta jest udostpniona dla kompatybilnoci z flag
.B \-I
preprocesora jzyka C.
.TP 0.5i
.BI "\-j " jobs
Podaje dozwolon liczb zada (komend), ktr mona wykonywa naraz. Jeli
jest wicej ni jedna opcja
.BR \-j ,
ostatnia jest znaczca.
Jeli opcja
.B \-j
jest podana bez argumentu,
.IR make
nie bdzie ogranicza liczby moliwych zada.
.TP 0.5i
.B \-k
Kontynuuj ile si da po bdzie. Chocia cel, ktry si nie powid i
zalenoci na nim si opierajce nie mog by zbudowane, to mona
przetworzy inne zalenoci celw.
.TP 0.5i
.B \-l
.TP 0.5i
.BI "\-l " obcienie
Okrela, e nie naley uruchamia nowych zada (komend) jeli pracuj ju
inne, a obcienie wynosi co najmniej
.I obcienie
(liczba zmiennoprzecinkowa).
Bez argumentw, usuwany jest poprzedni limit.
.TP 0.5i
.B \-n
Drukuj komendy, ktre byyby wykonywane, lecz nie wykonuj ich.
.TP 0.5i
.BI "\-o " plik
Nie odwieaj pliku
.I plik
nawet jeli jest starszy ni jego zalenoci i nie odwieaj niczego na
konto zmian
.IR pliku .
Oglnie, plik jest traktowany jako bardzo stary, a jego reguy s
ignorowane.
.TP 0.5i
.B \-p
Drukuje baz danych (reguy i wartoci zmiennych), ktre wynikaj z
odczytanych plikw Makefile. Nastpnie wykonuje si w trybie normalnym,
chyba e podano inaczej. Drukuje to te informacje o wersji, podawane przez
przecznik
.B \-v
(patrz niej).
Aby wydrukowa baz danych bez odwieania plikw, uyj
.B make
.B \-p
.BI \-f /dev/null.
.TP 0.5i
.B \-q
``Tryb pytania''.
Nie uruchamia adnych komend i niczego nie drukuje; zwraca tylko kod
wyjcia, ktry moe by zerowy jeli cele s wiee, lub niezereowy jeli s
stche.
.TP 0.5i
.B \-r
Eliminuje uywanie wbudowanych regu niejawnych. Czyci te domyln list
regu przyrostkowych.
.TP 0.5i
.B \-s
Ciche dziaanie; nie drukuje wykonywanych komend.
.TP 0.5i
.B \-S
Anuluje efekty opcji
.BR \-k .
Nie jest to zwykle potrzebne, poza
.I make
rekursywnym, gdzie
.B \-k
moe by dziedziczone z wyszych poziomw
.I make
poprzez MAKEFLAGS, lub w wypadku gdy ustawisz
.B \-k
w MAKEFLAGS w swoim rodowisku.
.TP 0.5i
.B \-t
Dotyka plikw (zaznacza je jako odwieone, bez zmieniania zawartoci),
zamiast normalnego uruchamiania komend. Jest to uywane do udawania, e
komendy zostay wykonane w celu ogupienia przyszych wywoa
.IR make .
.TP 0.5i
.B \-v
Drukuj wersj programu
.I make
oraz prawa kopiowania, list autorw i notk, e nie ma gwarancji.
Po wydrukowaniu tej informacji, przetwarzanie dziaa normalnie.
Aby uzyska informacj bez robienia innych rzeczy, uyj
.B make
.B \-v
.BI \-f /dev/null.
.TP 0.5i
.B \-w
Drukuj komunikat, zawierajcy katalog biecy przed i po dziaaniu. Moe to
by przydatne do cigania bdw w skomplikowanych zagniedeniach
rekursywnego
.IR make .
.TP 0.5i
.BI "\-W " plik
Udaj, e cel
.I plik
zosta wanie zmodyfikowany.
Po uyciu z flag
.BR \-n ,
pokazuje ci to, co staoby si, gdyby rzeczywicie zmodyfikowa ten plik.
Bez opcji
.BR \-n ,
jest to prawie rwnowane uruchomieniu na podanym pliku komendy
.I touch .
Jedyn rnic jest fakt, e czas modyfikacji jest tu zmieniany tylko w
wyobrani
.IR make .
.SH "ZOBACZ TAKE"
.I "The GNU Make Manual"
.SH BDY
Zobacz rozdzia `Problems and Bugs' w
.IR "The GNU Make Manual" .
.SH AUTOR
Podrcznik ten zosta stworzony przez Dennisa Morse'a z Uniwersytetu Stanforda.
Zosta przerobiony przez Rolanda McGratha.
|