File: make.1

package info (click to toggle)
manpages-pl 20050320-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 12,200 kB
  • ctags: 16
  • sloc: makefile: 1,454; perl: 477; sh: 316
file content (278 lines) | stat: -rw-r--r-- 7,918 bytes parent folder | download | duplicates (4)
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.