เชฐเชฟเชเชพเชฐเซเชก เชกเชฌเชฒเซเชฏเซเชเชฎ เชเซเชจเซเชธ, เชฒเซเชเช , เชฐเซเชก เชนเซเชเชฎเชพเช เชเชพเชฎ เชเชฐเชคเชพ, เชจเชตเซ เชเชธเซเชฎเซเชฌเชฒเซ เชฏเซเชเชฟเชฒเชฟเชเซ , เชเซเชจเซ เชเชฆเซเชฆเซเชถเซเชฏ เชฎเซเช เชฏเซเชเชฟเชฒเชฟเชเซเชจเซ เชเชพเชฎเซเช เช
เชจเซ เชธเชฎเชธเซเชฏเชพเชเชจเซ เชฆเซเชฐ เชเชฐเชตเชพเชจเซ เชเซ, เชธเชพเชฅเซ เชธเชพเชฅเซ เชธเซเชเซเชฐเชฟเชชเซเชเซเชจเซ เชเชเชเชฆเชฐ เชธเชฐเชณเชคเชพ เช
เชจเซ เชธเซเชชเชทเซเชเชคเชพ เชเชพเชณเชตเซ เชฐเชพเชเชตเชพเชจเซ เชเซ. เชฎเซเช เชฏเซเชเชฟเชฒเชฟเชเซ 1976 เชฎเชพเช เชกเชฟเชเชพเชเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ เช
เชจเซ เชคเซเชฎเชพเช เชเชฃเซ เชฌเชงเซ เชตเซเชเชพเชฐเชฟเช เชเชพเชฎเซเช เชเซ. เชเซเชฒเซเชธเชจเซ เชนเซเชคเซ เชเชเชเชฆเชฐ เชเซเชฏเชพเชฒเชจเซ เชฌเชฆเชฒเซเชฏเชพ เชตเชฟเชจเชพ เช เชเชพเชฎเซเชเชจเซ เชฆเซเชฐ เชเชฐเชตเชพเชจเซ เชเซ.
เชเซเชฒเซเชธ เชธเซเชฐเซเชธ เชเซเชก GPLv2+ เชนเซเช เชณ เชฒเชพเชเชธเชจเซเชธ.
:
- เชซเชเซเชค เชเช เช เชกเชฟเชชเซเชจเซเชกเชจเซเชธเซ เชฐเชฟเชเซเชฒเซเชฏเซเชถเชจ เชฏเซเชเซเชคเชฟ เชฎเชพเชเซ เชธเชชเซเชฐเซเช - "เชเซ เชเชพเชฐเซเชเซเช เชซเชพเชเชฒ เชเซเชฎ เชฅเชฏเซเชฒ เชนเซเชฏ เช เชฅเชตเชพ เชกเชฟเชชเซเชจเซเชกเชจเซเชธเซเชฎเชพเชเชฅเซ เชเช เชเชฐเชคเชพเช เชเซเชจเซ เชนเซเชฏ เชคเซ เชฌเชฟเชฒเซเชก เชธเซเชเชจเชพ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ." เชเซเชฒเซเชธ เช เชจเซเชฏ เชฏเซเชเซเชคเชฟเช เช เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพเชจเซ เชฏเซเชเชจเชพ เชงเชฐเชพเชตเซ เชเซ, เชเซเชฎ เชเซ URL เชนเชพเชเชฐเซ เชคเชชเชพเชธเชตเซ, เชเซเชเชชเชฃ เชซเชพเชเชฒ เชธเชพเชฅเซ เชซเซเชฐเชซเชพเชฐ เชธเชฎเชฏเชจเซ เชคเซเชฒเชจเชพ เชเชฐเชตเซ, เช เชจเซ เชชเซเชเซเช เชฌเชฟเชฒเซเชก เชเชจเชจเซเช เชฎเซเชฒเซเชฏเชพเชเชเชจ เชเชฐเชตเซเช. , เชเซเชเชธเชฎเชจเซ เชธเชฐเชเชพเชฎเชฃเซ, เชชเชฐเซเชเซเชทเชฃเซเชจเชพ เชชเชธเชเชฆเชเซเชฏเซเชเซเชค เช เชตเชเชฃเซ เชธเชพเชฅเซ เชชเชฐเซเชเซเชทเชฃ เชธเซเชฏเซเชเซเชธ เชเชฒเชพเชตเชตเซเช.
- เชฌเชฟเชฒเซเชก เชเชพเชฐเซเชเซเชเซเชธเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชคเซ เชตเชเชคเซ, เชฎเซเช เชซเชพเชเชฒเซ เช
เชจเซ เชจเชฟเชฏเชฎ เชจเชพเชฎเซ เชตเชเซเชเซ เชญเซเชฆ เชชเชพเชกเชคเซเช เชจเชฅเซ, เช
เชจเซ เชชเชฐเชฟเชฃเชพเชฎเซ, เชคเซ เชเซ เชซเชพเชเชฒ เชฌเชจเชพเชตเชตเชพเชจเซ เชฆเชพเชตเซ เชเชฐเซ เชเซ เชคเซ เชเชฐเซเชเชฐ เชจเชฟเชฏเชฎ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ เชคเซเชจเซ เชเชพเชคเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเช เชคเชชเชพเชธ เชจเชฅเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซ "เชเซเชธเซเช" เชจเชพเชฎเชจเซ เชจเชฟเชฏเชฎ เชเซเชธเซเช เชธเซเชเซเชฐเชฟเชชเซเชเซ เชเชฒเชพเชตเซ เชเซ เช
เชจเซ "เชเซเชธเซเช" เชจเชพเชฎเชจเซ เชซเชพเชเชฒ เชเชเชธเซเชฎเชฟเช เชฐเซเชคเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซ เชชเชฐเซเชเซเชทเชฃเซ เชเชนเซเชตเชพเชจเซเช เชฌเชเชง เชฅเช เชเชถเซ, เชเชพเชฐเชฃ เชเซ เชฎเซเช เชงเชพเชฐเซ เชเซ เชเซ เชฒเชเซเชทเซเชฏ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ เช
เชจเซ เชคเซเชจเซ เชเซเช เชเซเชฐเชฟเชฏเชพเชเชจเซ เชเชฐเซเชฐ เชจเชฅเซ. (เชเชจเซ เชเชธเชชเชพเชธ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเซ เชฎเซเชเชฎเชพเช ".PHONY:test" เชจเชฟเชฐเซเชฆเซเชถเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซ เชถเชเซ เชเซ.) เชเซเชฒเซเชธ เชซเชพเชเชฒเซ เช
เชจเซ เชจเชฟเชฏเชฎ เชจเชพเชฎเซ เชตเชเซเชเซ เชธเซเชชเชทเซเช เชฐเซเชคเซ เชคเชซเชพเชตเชค เชเชฐเซ เชเซ.

- เชเชธเซเชฎเซเชฌเชฒเซ เชธเซเชเชจเชพเช เชฎเชพเชเซ เชซเชเซเชค เชเช เช เชชเชฐเชฟเชฎเชพเชฃ เชชเซเชฐเซเช เชชเชพเชกเชตเชพเชฎเชพเช เชธเชฎเชธเซเชฏเชพ.

เชเซเชฒเซเชธ เชเซเชเชชเชฃ เชธเชเชเซเชฏเชพเชจเชพ เชจเชพเชฎเชตเชพเชณเชพ เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชคเชฎเซ เชจเชพเชฎเชฎเชพเชเชฅเซ เชกเซเชฌเช เชซเชพเชเชฒ เชซเซเชฒเซเชเชจเซ เช เชฒเชเชฅเซ เชเชพเชขเซ เชถเชเซ เชเซ:

- เชถเซเชฒ เชเชจเซเชเชฐเชชเซเชฐเซเชเชฐ เชธเชพเชฅเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชฐเชคเซ เชธเชฎเชธเซเชฏเชพเช. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชซเชพเชเชฒ เช
เชจเซ เชกเชฟเชฐเซเชเซเชเชฐเซ เชจเชพเชฎเซเชฎเชพเช เชเชเซเชฏเชพเชเชจเชพ เชเชธเซเชเซเชชเชฟเชเชเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชค, เชฆเชฐเซเช เชเชฆเซเชถ เชฎเชพเชเซ เช
เชฒเช เชถเซเชฒ เชเชจเซเชเชฐเชชเซเชฐเซเชเชฐ เชฒเซเชจเซเช เชเชฐเชตเชพเชจเซ เชฐเชฟเชธเซเชฐเซเชธ เชเชตเชฐเชนเซเชก, "$" เชชเซเชฐเชคเซเชเชจเซเช เชฌเซเชตเชกเซเช เช
เชฐเซเชฅเชเชเชจ (เชถเซเชฒ เช
เชจเซ เชฎเซเช เชฌเชเชจเซเชฎเชพเช เชตเชชเชฐเชพเชฏ เชเซ), เช
เชจเซ เชเชจเซเชกเซเชจเซเชเซเชถเชจ.
เชเชฒเซเชฒเซเชเชฟเชค เชธเชฎเชธเซเชฏเชพเชเชจเซ เชเชเซเชฒ เชเซเชฒเซเชธเชฎเชพเช เชเชธเซเชฎเซเชฌเชฒเซ เชตเซเชฐเซเชเชฌเชฒ เชฎเชพเชเซ "$" เชจเซ เชฌเชฆเชฒเซ "%" เชชเซเชฐเชคเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ ("$" เชซเชเซเชค เชถเซเชฒ เชฎเชพเชเซ เชฐเชนเซ เชเซ), เชชเชพเชฐเซเชธเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. , เชเซเชจเชพ เชฎเชพเชเซ เชชเชพเชฅ เช เชจเซ เชซเชพเชเชฒ เชจเชพเชฎเซเชจเซ เชเซเชตเซเช เชเชฐเชตเชพ เช เชจเซ เชเชฐเซเชฒเซ เชเซเชเชธ เชธเชพเชฅเซ เชเซเชก เชฌเซเชฒเซเชเซเชธเชจเซ เชธเซเชฎเชพเชเชเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชเชเซ เชเชฎเชพเชจเซเชก เชฌเซเชฒเซเช เชเชฎเชพเชจเซเชก เชถเซเชฒเชจเชพ เชเช เช เชเชฆเชพเชนเชฐเชฃเชฎเชพเช เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช เชจเซ เชฌเซเชฒเซเชเชจเซ เช เชเชฆเชฐ, เชเชพเชธ เชเชเซเชฏเชพเช เชฆเซเชตเชพเชฐเชพ เชฌเชเชงเชพเชฏเซเชฒเชพ เชตเชฟเชจเชพ, เชฎเชจเชธเซเชตเซ เชเซเชก เชซเซเชฐเซเชฎเซเชเชฟเชเชเชจเซ เชฎเชเชเซเชฐเซ เชเซ.
เชนเชคเซ:
เชฒเชเซเชทเซเชฏ: foo.o bar.o
${CC} ${CFLAGS} $< -o $@เชคเซ เชฌเชจเซเชฏเซเช:
"เชฒเชเซเชทเซเชฏ": "foo.o", "bar.o" {
%CC %CFLAGS %< -o %@
}
เช เชจเซเชฏ เชงเซเชฏเซเชฏ เชธเซเชตเชฟเชงเชพเช:
- เชเชธเซเชเชฎ เชจเชพเชฎเซ เช
เชจเซ เชชเชฐเชฟเชฎเชพเชฃเซ เชธเซเชชเชทเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชตเซเชเชฒเซเชชเชฟเช เชธเชชเซเชฐเซเช:
เชฌเชงเชพ เชฒเชเซเชทเซเชฏ = : "เชฒเชเซเชทเซเชฏ"
เชงเซเชฏเซเชฏ เชฒเชฟเชเช =
"เชฒเชเซเชทเซเชฏ" : "foo.o", "bar.o" { ... }เชงเซเชฏเซเชฏ เชเชฎเซเชชเชพเชเชฒ (เชจเชพเชฎ) =
"%name.o" : "%name.c", "dep.h" { %CC %CFLAGS -c $^ -o $@ } - เชฌเซ เชฒเซเชจเซเช เชฎเซเชกเซเชธ: เชซเชพเชเชฒ เชจเชพเชฎเซ เชธเชพเชฅเซ เชฌเชฟเชฒเซเชก เชเชพเชฐเซเชเซเชเซเชธเชจเซ เชฎเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชฎเซเช เชฎเซเชก (เชฆเชพ.เชค. เชซเชพเชเชฒ "foo.o" เชเชพเชฐเซเชเซเช "%name.o" เชธเชพเชฅเซ เชฎเซเช เชเชฐเซ เชเซ), เช
เชจเซ เชกเชพเชฏเชฐเซเชเซเช เชเชฎเซเชชเชพเชเชฒเซเชถเชจ เชฎเซเชก:
เชฌเชงเชพ เชฒเชเซเชทเซเชฏ = : เชฒเชฟเชเช
เชงเซเชฏเซเชฏ เชฒเชฟเชเช =
"เชฒเชเซเชทเซเชฏ" : "foo.o", เชเชฎเซเชชเชพเชเชฒ ("เชฌเชพเชฐ") { ... }เชงเซเชฏเซเชฏ เชเชฎเซเชชเชพเชเชฒ (เชจเชพเชฎ) =
"%name.o" : "%name.c", "dep.h" { %CC %CFLAGS -c $^ -o $@ } - เชฌเชฟเชฒเซเชก เชฏเซเชเซเชคเชฟเช เชเชพเชธ เชจเชฟเชฏเชฎเซ เชฆเซเชตเชพเชฐเชพ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซเชจเซ เชเชชเชฏเซเช เชฌเชฟเชฒเซเชก เชเชพเชฐเซเชเซเชเชจเซ เชซเชฐเซเชฅเซ เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเซ เชเซเชฎ เชคเซ เชจเชเซเชเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเช เชถเชเซ เชเซ. เชเซ เชซเชพเชเชฒ เชนเชพเชเชฐเซ เชเชฐเซเชฐเซ เชนเซเชฏ, เชคเซ เชฏเซเชเซเชฏ เชซเซเชฒเซเช ("เชเชพเชฐเซเชเซเช" เชจเชฟเชฏเชฎ เชจเชพเชฎ เชฎเชพเชเซ เช
เชจเซ *file("เชเชพเชฐเซเชเซเช") เชซเชพเชเชฒ เชเชเชพเชธเชฃเซ เชฎเชพเชเซ) เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช เชธเซเชชเชทเซเชเชชเชฃเซ เชธเซเชชเชทเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
"เชฒเชเซเชทเซเชฏ" : "foo.o", "bar.o" { ... }
*เชซเชพเชเชฒ("เชเชพเชฐเซเชเซเช"): *เชซเชพเชเชฒ("foo.o"), *เชซเชพเชเชฒ("bar.o") { ... }
- เชกเซเชตเชฒเชชเชฐ เชเชธเซเชเชฎ เชฌเชฟเชฒเซเชก เชธเซเชเซเชฐเซเชเซเชเซ เชซเซเชฒเซเชเซเชธเชจเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซ เชถเชเซ เชเซ. "*file" เชซเซเชฒเซเช เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชฅเชฏเซเชฒ เชเซ (@{โฆ} เชเชเชเชชเซเช เชธเชชเซเชฐเซเชถเชจ เชธเซเชเชตเซ เชเซ, เช
เชจเซ "exit 99" เชชเซเชจเชเชจเชฟเชฐเซเชฎเชพเชฃเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชค เชฆเชฐเซเชถเชพเชตเซ เชเซ):
เชฏเซเชเซเชคเชฟ *เชซเชพเชเชฒ (เชซเชพเชเชฒเชจเซเช เชจเชพเชฎ) = @{
เชเซเชธเซเช -เชเชซ % เชซเชพเชเชฒเชจเชพเชฎ || เชฌเชนเชพเชฐ เชจเซเชเชณเซ 99
% เชฎเชพเช f เชฎเชพเชเซเชธเซเชฐเซเชธ: opennet.ru



