เชฐเชฟเชเชพเชฐเซเชก เชกเชฌเชฒเซเชฏเซเชเชฎ เชเซเชจเซเชธ, เชฒเซเชเช
เชฒเชเซเชทเซเชฏเซ เชธเซเชคเซเชฐเซเชค เชเซเชก
- เชฎเชพเชคเซเชฐ เชเช เช
เชตเชฒเชเชฌเชจ เชฐเชฟเชเซเชฒเซเชฏเซเชถเชจ เชฏเซเชเซเชคเชฟ เชฎเชพเชเซ เชธเชฎเชฐเซเชฅเชจ - "เชเซ เชฒเชเซเชทเซเชฏ เชซเชพเชเชฒ เชเซเชเซ เชเซ เช
เชฅเชตเชพ เชเช เชจเชฟเชฐเซเชญเชฐเชคเชพ เชเชฐเชคเชพเช เชเซเชจเซ เชนเซเชฏ เชคเซ เชเชธเซเชฎเซเชฌเชฒเซ เชธเซเชเชจเชพ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ." เชงเซเชฏเซเชฏเซ เช
เชจเซเชฏ เชฏเซเชเซเชคเชฟเชเชจเซ เช
เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพเชจเซ เชฏเซเชเชจเชพ เชงเชฐเชพเชตเซ เชเซ, เชเซเชฎ เชเซ URL เชจเซ เชนเชพเชเชฐเซเชจเซ เชคเชชเชพเชธ เชเชฐเชตเซ, เชเซเชเชชเชฃ เชซเชพเชเชฒ เชธเชพเชฅเซ เชซเซเชฐเชซเชพเชฐเชจเชพ เชธเชฎเชฏเชจเซ เชคเซเชฒเชจเชพ เชเชฐเชตเซ, เชชเซเชเซเช เชฌเชฟเชฒเซเชก เชเชจเชจเซเช เชฎเซเชฒเซเชฏเชพเชเชเชจ เชเชฐเชตเซเช
เชเซเชเซ , เชเซเชเชธเชฎเซเชธเชจเซ เชธเชฐเชเชพเชฎเชฃเซ, เชเซเชธเซเชเชจเชพ เชชเชธเชเชฆเชเซเชฏเซเชเซเชค เช เชตเชเชฃเชตเชพ เชธเชพเชฅเซ เชเซเชธเซเช เชเซเชธ เชเชพเชฒเซ เชฐเชนเซเชฏเชพ เชเซ. - เชฌเชฟเชฒเซเชก เชเชพเชฐเซเชเซเชเซเชธเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชคเซ เชตเชเชคเซ, เชฎเซเช เชซเชพเชเชฒเซ เช
เชจเซ เชจเชฟเชฏเชฎเชจเชพ เชจเชพเชฎเซเชจเซ เช
เชฒเช เชเชฐเชคเซเช เชจเชฅเซ เช
เชจเซ เชชเชฐเชฟเชฃเชพเชฎเซ, เชจเชฟเชฏเชฎ เชเชฒเชพเชตเชคเซ เชตเชเชคเซ, เชคเซ เชเซ เชซเชพเชเชฒ เชฌเชจเชพเชตเชตเชพเชจเซ เชฆเชพเชตเซ เชเชฐเซ เชเซ เชคเซ เชเชฐเซเชเชฐ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ เชคเซเชจเซ เชเซเช เชเชเชพเชธเชฃเซ เชฅเชคเซ เชจเชฅเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ "เชเซเชธเซเช" เชจเชพเชฎเชจเซ เชจเชฟเชฏเชฎ เชเซ เชเซ เชชเชฐเซเชเซเชทเชฃเซ เชธเชพเชฅเซ เชธเซเชเซเชฐเชฟเชชเซเชเซ เชเชฒเชพเชตเซ เชเซ, เชคเซ "เชเซเชธเซเช" เชจเชพเชฎเชจเซ เชซเชพเชเชฒ เชเชเชธเซเชฎเชฟเช เชฐเซเชคเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซ เชชเชเซ เชชเชฐเซเชเซเชทเชฃเซ เชนเชตเซ เชฌเซเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ เชจเชนเซเช, เชเชพเชฐเชฃ เชเซ เชฎเซเช เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชถเซ เชเซ เชฒเชเซเชทเซเชฏ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ เช
เชจเซ เชคเซเชจเซ เชเชฐเซเชฐ เชจเชฅเซ. เชเซเชเชชเชฃ เชเซเชฐเชฟเชฏเชพ (เชฎเซเชเชฎเชพเช เชธเชฎเชธเซเชฏเชพเชจเซ เชฆเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเซ ". PHONY: เชชเชฐเซเชเซเชทเชฃ" เชจเชฟเชฐเซเชฆเซเชถเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซ เชถเชเซ เชเซ). เชฒเชเซเชทเซเชฏเซ เชธเซเชชเชทเซเชเชชเชฃเซ เชซเชพเชเชฒเซ เช
เชจเซ เชจเชฟเชฏเชฎเชจเชพ เชจเชพเชฎเซเชจเซ เช
เชฒเช เชชเชพเชกเซ เชเซ.
- เชเชธเซเชฎเซเชฌเชฒเซ เชธเซเชเชจเชพเช เชฎเชพเชเซ เชฎเชพเชคเซเชฐ เชเช เชชเชฐเชฟเชฎเชพเชฃ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเชพเชฎเชพเช เชธเชฎเชธเซเชฏเชพ.
เชฒเชเซเชทเซเชฏเซ เชคเชฎเชจเซ เชจเชพเชฎเชพเชเชเชฟเชค เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชฎเชจเชธเซเชตเซ เชธเชเชเซเชฏเชพเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชคเชฎเซ เชจเชพเชฎเชฎเชพเชเชฅเซ เชกเซเชฌเช เชซเชพเชเชฒเชจเซ เชจเชฟเชถเชพเชจเซ เช เชฒเชเชฅเซ เชเชพเชขเซ เชถเชเซ เชเซ:
- เชถเซเชฒ เชฆเซเชญเชพเชทเชฟเชฏเชพ เชธเชพเชฅเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพเชฎเชพเช เชธเชฎเชธเซเชฏเชพเช. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชซเชพเชเชฒ เช
เชจเซ เชกเชพเชฏเชฐเซเชเซเชเชฐเซ เชจเชพเชฎเซเชฎเชพเช เชธเซเชชเซเชธเชจเซ เชฌเชนเชพเชฐ เชจเซเชเชณเซ เชเชตเชพเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชค, เชฆเชฐเซเช เชเชฎเชพเชจเซเชกเชจเซ เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเชคเซ เชตเชเชคเซ เช
เชฒเช เชถเซเชฒ เชเชจเซเชเชฐเชชเซเชฐเซเชเชฐ เชถเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชธเชเชธเชพเชงเชจเซเชจเซ เชฌเชเชพเชก, โ$โ เช
เชเซเชทเชฐเชจเซเช เชฌเซเชตเชกเซเช เช
เชฐเซเชฅเชเชเชจ (เชถเซเชฒ เช
เชจเซ เชฎเซเช เชฌเชเชจเซเชฎเชพเช เชตเชชเชฐเชพเชฏ เชเซ), เชเชจเซเชกเซเชจเซเชเซเชถเชจเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชตเซเช.
เชชเชพเชฐเซเชธเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชธเซเชฎเซเชฌเชฒเซ เชตเซเชฐเชฟเชฏเซเชฌเชฒเซเชธ ("$" เชซเชเซเชค เชถเซเชฒ เชฎเชพเชเซ เช เชฐเชนเซ เชเซ) เชฎเชพเชเซ "$" เชจเซ เชฌเชฆเชฒเซ "%" เชชเซเชฐเชคเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฒเชเซเชทเซเชฏเซเชฎเชพเช เช เชธเชฎเชธเซเชฏเชพเช เชเชเซเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
LALR(1) , เชเซเชจเชพ เชฎเชพเชเซ เชคเชฎเชพเชฐเซ เช เชตเชคเชฐเชฃ เชเชฟเชนเซเชจเซ เชธเชพเชฅเซ เชชเชพเชฅ เช เชจเซ เชซเชพเชเชฒ เชจเชพเชฎเซเชจเซ เชเซเชฐเซ เชฒเซเชตเชพ เช เชจเซ เชเชฐเซเชฒเซ เชเซเชเชธ เชธเชพเชฅเซ เชเซเชก เชฌเซเชฒเซเชเซเชธเชจเซ เชนเชพเชเชฒเชพเชเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชธเชฎเชเซเชฐ เชเชฎเชพเชจเซเชก เชฌเซเชฒเซเช เชเชฎเชพเชจเซเชก เชถเซเชฒเชจเชพ เชเช เชเชจเซเชธเซเชเชจเซเชธเชฎเชพเช เชฒเซเชเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช เชจเซ เชเชพเชธ เชเชเซเชฏเชพเชเชจเชพ เชธเชเชฆเชฐเซเชญ เชตเชฟเชจเชพ, เชฌเซเชฒเซเชเชจเซ เช เชเชฆเชฐ เชฎเชจเชธเซเชตเซ เชเซเชก เชซเซเชฐเซเชฎเซเชเชฟเชเชเชจเซ เชฎเชเชเซเชฐเซ เชเซ.เชนเชคเซ:
เชฒเชเซเชทเซเชฏ: foo.o bar.o
${CC} ${CFLAGS} $< -o $@เชคเซ เชฌเชจเซเชฏเซเช:
"target": "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 $@ } - เชเชธเซเชฎเซเชฌเชฒเซ เชฏเซเชเซเชคเชฟเช เชตเชฟเชถเชฟเชทเซเช เชจเชฟเชฏเชฎเซ เชฆเซเชตเชพเชฐเชพ เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซเชจเซ เชเชชเชฏเซเช เชเชธเซเชฎเซเชฌเชฒเซ เชฒเชเซเชทเซเชฏเชจเซ เชซเชฐเซเชฅเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชค เชจเชเซเชเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเช เชถเชเซ เชเซ. เชเซ เชเซเช เชซเชพเชเชฒเชจเซ เชนเชพเชเชฐเซ เชฎเชพเชเซ เชฒเชฟเชเช เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซ เชคเซ เชธเชเชฌเชเชงเชฟเชค เชเชฟเชนเซเชจ (เชจเชฟเชฏเชฎเชจเชพ เชจเชพเชฎ เชฎเชพเชเซ "เชฒเชเซเชทเซเชฏ" เช
เชจเซ เชซเชพเชเชฒเชจเซ เชคเชชเชพเชธเชตเชพ เชฎเชพเชเซ *เชซเชพเชเชฒ ("เชฒเชเซเชทเซเชฏ") เชฆเซเชตเชพเชฐเชพ เชธเซเชชเชทเซเชเชชเชฃเซ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
"เชฒเชเซเชทเซเชฏ" : "foo.o", "bar.o" { ... }
*เชซเชพเชเชฒ("เชฒเชเซเชทเซเชฏ"): *เชซเชพเชเชฒ("foo.o"), *เชซเชพเชเชฒ("bar.o") { ... }
- เชตเชฟเชเชพเชธเชเชฐเซเชคเชพ เชเชธเซเชฎเซเชฌเชฒเซ เชฏเซเชเซเชคเชฟเชเชจเชพ เชฎเชจเชธเซเชตเซ เชฒเชเซเชทเชฃเซเชจเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซ เชถเชเซ เชเซ. "*เชซเชพเชเชฒ" เชงเซเชตเช เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชฅเชฏเซเชฒ เชเซ (@{...} เชเชเชเชชเซเชเชจเชพ เชฆเชฎเชจเชจเซ เชธเซเชเชตเซ เชเซ, เช
เชจเซ "เชเชเซเชเชฟเช 99" เชชเซเชจเชเชจเชฟเชฐเซเชฎเชพเชฃเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชคเชจเซ เชธเชเชเซเชค เชเชชเซ เชเซ):
เชฏเซเชเซเชคเชฟ *เชซเชพเชเชฒ (เชซเชพเชเชฒเชจเชพเชฎ) = @{
เชเซเชธเซเช -f % เชซเชพเชเชฒเชจเชพเชฎ || เชฌเชนเชพเชฐ เชจเซเชเชณเซ 99
% เชฎเชพเช f เชฎเชพเชเซเชธเซเชฐเซเชธ: opennet.ru