เด‡เด‚เด—เตเดฒเต€เดทเตเดซเตเดฐเดžเตเดšเตเดธเตเดชเดพเดจเดฟเดทเต

Ad


OnWorks เดซเต†เดตเดฟเด•เตเด•เต‹เตบ

makepp_rules - เด•เตเดฒเต—เดกเดฟเตฝ เด“เตบเดฒเตˆเดจเดฟเตฝ

เด‰เดฌเตเดฃเตเดŸเต เด“เตบเดฒเตˆเตป, เดซเต†เดกเต‹เดฑ เด“เตบเดฒเตˆเตป, เดตเดฟเตปเดกเต‹เดธเต เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ MAC OS เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‚เดŸเต† OnWorks เดธเต—เดœเดจเตเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเดตเดฟเตฝ makepp_rules เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

Ubuntu Online, Fedora Online, Windows online emulator เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ MAC OS เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดŽเดจเตเดจเดฟเด™เตเด™เดจเต†เดฏเตเดณเตเดณ เดžเด™เตเด™เดณเตเดŸเต† เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดธเต—เดœเดจเตเดฏ เด“เตบเดฒเตˆเตป เดตเตผเด•เตเด•เตเดธเตเดฑเตเดฑเต‡เดทเดจเตเด•เดณเดฟเดฒเตŠเดจเตเดจเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต OnWorks เดธเต—เดœเดจเตเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดตเตเดจเตเดจ makepp_rules เด•เดฎเดพเตปเดกเต เด†เดฃเดฟเดคเต.

เด‰เดฌเตเดฃเตเดŸเตเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดซเต†เดกเต‹เดฑเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดตเดฟเตปเดกเต‹เดธเต เดธเดฟเดฎเตเดฎเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• MACOS เดธเดฟเดฎเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

เดชเดŸเตเดŸเดฟเด•:

NAME


makepp_rules -- เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เดฎเต‡เด•เตเด•เดชเตเดชเดฟเดจเต‹เดŸเต เดŽเด™เตเด™เดจเต† เดชเดฑเดฏเตเด‚

เดตเดฟเดตเดฐเดฃเด‚


?: &,
-,
@, B: :build_cache,
:เดฌเดฟเตฝเดกเต_เดšเต†เด•เตเด•เต, D: :เด…เดฏเดฏเตเด•เตเด•เตเด•, E: :env, I: "ignore_error",
:เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต, L: :เด…เดตเดธเดพเดจเดคเตเดคเต† เด…เดตเดธเดฐเด‚, M: เดฎเต‡เด•เตเด•เดชเตเดชเตผ, N: "เดจเต‹เด•เตเด•เต‹", P: :เดชเดพเดดเตเดธเตผ,
"เดชเต‡เตพ", S: :เด•เดฏเตเดฏเต†เดพเดชเตเดชเต

เด’เดฐเต เดซเดฏเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เด•เตเดฒเดพเดธเต เดซเดฏเดฒเตเด•เตพ เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดฎเต‡เด•เตเด•เดชเตเดชเดฟเดจเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเดคเต เด’เดฐเต เดฑเต‚เตพ เด†เดฃเต. เดฎเต‡เด•เตเด•เดชเตเดชเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต
เดฎเต‡เด•เตเด•เดฟเดจเตเดฑเต† เดฎเดฑเตเดฑเต เดจเดฟเตผเดตเตเดตเดนเดฃเด™เตเด™เดณเตเดŸเต† เด…เดคเต‡ เดฑเต‚เตพ เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเตเด‚ เด•เต‚เดŸเดพเดคเต† เด…เดคเดฟเดจเตเดฑเต‡เดคเดพเดฏ เดšเดฟเดฒ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เดฒเตเด•เดณเตเด‚.

เด’เดฐเต เดจเดฟเดฏเดฎเดคเตเดคเดฟเดจเต เดชเตŠเดคเตเดตเดพเดฏ เดฐเต‚เดชเดฎเตเดฃเตเดŸเต

เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดŽเด•เตเดธเตเดชเตเดฐเดทเตป : เดกเดฟเดชเตปเดกเตปเดธเดฟ_เดŽเด•เตเดธเตเดชเตเดฐเดทเตป [ : เด“เดชเตเดทเดฃเตฝ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เตพ]
เด“เดนเดฐเดฟ

เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดฟเตฝ เดฏเดพเดจเตเดคเตเดฐเดฟเด• เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตŠเดจเตเดจเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดฃเดฎเต†เดจเตเดจเดฟเดฒเตเดฒ ("$(foreach)" เด’เดดเดฟเด•เต†). เดฆเดฟ
เดกเดฟเดชเตปเดกเตปเดธเดฟ เดฒเดฟเดธเตเดฑเตเดฑเดฟเตฝ เดŸเดพเตผเด—เต†เดฑเตเดฑเดฟเดจเต† เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เตเดจเตเดจ เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดฎเดพเดคเตเดฐเดฎเต‡ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเตเดณเตเดณเต‚ (เด…เดคเดพเดฏเดคเต,
"$(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)", "$(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเตเด•เตพ)", เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดตเดฏเตเดŸเต† เดชเดฐเตเดฏเดพเดฏเด™เตเด™เตพ). เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเตฝ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเตเดตเดฏเดฎเต‡เดต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚
เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ.

เดฑเต‚เตพ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดฃเดฎเต†เดจเตเดจเต makepp เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดฑเต‚เดณเดฟเดจเตเดฑเต† เด“เดฐเต‹ เดตเดฐเดฟเดฏเตเด‚ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด‚
เด•เตเดฐเดฎเดพเดจเตเด—เดคเดฎเดพเดฏเดฟ, เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเต‚เดœเตเดฏเด‚ เด…เดฒเตเดฒเดพเดคเตเดค เด…เดตเดธเตเดฅ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เดฟเดฏเดพเตฝ, เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฒเตเดฒ (เด•เต‚เดŸเดพเดคเต†
เดจเดฟเด™เตเด™เตพ เด•เดฎเดพเตปเดกเต เดฒเตˆเดจเดฟเตฝ "-k" เด“เดชเตเดทเตป เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, makepp เด’เดฐเต เดชเดฟเดถเด•เดฟเดจเดพเตฝ เดจเดฟเตผเดคเตเดคเดฒเดพเด•เตเด•เตเดจเตเดจเต.)
เด“เดฐเต‹ เดชเตเดฐเดตเตผเดคเตเดคเดจเดตเตเด‚ เด’เดฐเต เดตเดฐเดฟ เดฎเดพเดคเตเดฐเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เด’เดฐเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดตเดณเดฐเต† เดฆเตˆเตผเด˜เตเดฏเดฎเต‡เดฑเดฟเดฏเดคเดพเดฃเต†เด™เตเด•เดฟเตฝ a-เดฏเดฟเตฝ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏเดฟ เดŽเดดเตเดคเดพเตป
เดธเดฟเด‚เด—เดฟเตพ เดฒเตˆเตป, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเดฟเดจเต† เดชเดฒ เดตเดฐเดฟเด•เดณเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเดšเตเดšเต เด’เดฐเต เดฌเดพเด•เตเด•เตเดธเตเดฒเดพเดทเต เด‡เดŸเดพเตป เด•เดดเดฟเดฏเตเด‚
เดจเดฟเดฐเดตเดงเดฟ เดตเดฐเดฟเด•เตพ เด’เดจเตเดจเดพเดฏเดฟ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เดฃเด‚.

เด…เดŸเตเดคเตเดค เดจเดฟเดฏเดฎเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเต† เดตเต‡เตผเดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเตป, เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เด•เต‚เดŸเตเดคเตฝ เด‡เตปเดกเดจเตเดฑเต เดšเต†เดฏเตเดฏเดฃเด‚
เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เดณเตเด‚ เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เดณเตเด‚ เด…เดŸเด™เตเด™เตเดจเตเดจ เดตเดฐเดฟเดฏเต†เด•เตเด•เดพเตพ. เดฎเดฑเตเดฑเต เดจเดŸเดชเตเดชเดพเด•เตเด•เดฒเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ
เด‰เดฃเตเดŸเดพเด•เตเด•เตเด•, เดจเดฟเด™เตเด™เตพ เด…เดคเต เดŽเดคเตเดฐเดฎเดพเดคเตเดฐเด‚ เด‡เตปเดกเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต เดŽเดจเตเดจเต‹ เดŸเดพเดฌเต เดชเตเดฐเดคเต€เด•เด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต‹ เดฎเต‡เด•เตเด•เดชเตเดชเต เด•เดพเดฐเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ
เดชเด•เดฐเด‚ เด‡เดŸเด™เตเด™เตพ. เดชเดฐเดฎเตเดชเดฐเดพเด—เดค เดจเดฟเตผเดฎเตเดฎเดพเดฃเดตเตเดฎเดพเดฏเดฟ เดชเดฟเดจเตเดจเดพเด•เตเด• เด…เดจเตเดฏเต‹เดœเตเดฏเดค เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเดพเตป, เดจเดฟเดฏเดฎเด™เตเด™เตพ
เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดŽเดชเตเดชเต‹เตพ เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดŸเตเดคเตเดค เดจเดฟเดฏเดฎเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเดฃเดฎเต†เดจเตเดจเต เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เดพเตป makepp เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต:

ยท เด†เดฆเตเดฏ เด†เด•เตเดทเตป เดฒเตˆเตป เดŸเดพเตผเด—เต†เดฑเตเดฑเต เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจ เดฒเตˆเดจเต‡เด•เตเด•เดพเตพ เด•เต‚เดŸเตเดคเตฝ เด‡เตปเดกเดจเตเดฑเต เดšเต†เดฏเตเดฏเดฃเด‚.

ยท เด’เดฐเต เดŸเดพเดฌเต เดชเตเดฐเดคเต€เด•เดฎเต‹ 8 เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ เด’เดฐเต เดตเดฐเดฟ เด‡เตปเดกเดจเตเดฑเต เดšเต†เดฏเตโ€ŒเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเด‚
เด’เดฐเต เด†เด•เตเดทเตป เดฒเตˆเตป.

เดตเดฒเดคเต เดฎเดพเตผเดœเดฟเดจเดฟเตฝ "#" เดŽเดจเตเดจ เด…เด•เตเดทเดฐเดฎเตเดณเตเดณ เด’เดฐเต เดถเต‚เดจเตเดฏเดฎเดพเดฏ เดตเดฐเดฟ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เด•เดฎเดจเตเดฑเต เดฒเตˆเตป เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต
เดจเดฟเดฏเดฎเด‚, เด…เดŸเตเดคเตเดค เดจเต‹เตบ-เดฌเตเดฒเดพเด™เตเด•เต เดฒเตˆเตป 8 เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดจเตเดจเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ) เด‡เตปเดกเดจเตเดฑเต เดšเต†เดฏเตโ€ŒเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ
เดŸเดพเดฌเต).

ยท เด’เดฐเต เดตเดฐเดฟ เด†เดฆเตเดฏ เด†เด•เตเดทเตป เดฒเตˆเดจเดฟเดจเต‡เด•เตเด•เดพเตพ เด•เต‚เดŸเตเดคเดฒเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ เด‡เตปเดกเดจเตเดฑเต เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด…เดคเต
เด’เดฐเต เด…เดงเดฟเด• เดชเตเดฐเดตเตผเดคเตเดคเดจ เดฐเต‡เด–เดฏเดพเดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต.

เดšเดฟเดฒ เดชเตเดฐเดคเตเดฏเต‡เด• เดชเตเดฐเดตเตผเดคเตเดคเดจ เด‡เดจเด™เตเด™เตพ เด‰เดฃเตเดŸเต:

& เดˆ เดšเดฟเดนเตเดจเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เด’เดฐเต เด•เดฎเดพเตปเดกเต เดจเดพเดฎเดตเตเด‚ เดŽเดคเตเดฐ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเตเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เดทเต†เตฝ
เดตเดพเด•เตเดฏเด˜เดŸเดจ เด‡เดตเดฟเดŸเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เด’เดฑเตเดฑ, เด‡เดฐเดŸเตเดŸ เด‰เดฆเตเดงเดฐเดฃเดฟเด•เดณเตเด‚ เดฌเดพเด•เตเด•เตโ€Œเดธเตเดฒเดพเดทเตเด‚ เดฎเดพเดคเตเดฐเด‚
เดฎเต‡เด•เตเด•เดชเตเดชเดฟเดฒเตเดŸเดจเต€เดณเด‚ เด‰เดณเตเดณเดคเตเดชเต‹เดฒเต† เด•เดฅเดพเดชเดพเดคเตเดฐเด™เตเด™เตพ. เด•เดฎเดพเตปเดกเต เดจเดพเดฎเด‚ เด’เดจเตเดจเตเด•เดฟเตฝ เด’เดฐเต เดซเด‚เด—เตเดทเดจเดฟเดฒเต‡เด•เตเด•เต เดจเดฏเดฟเด•เตเด•เตเดจเตเดจเต
"เดธเดฟ_เดชเต‡เดฐเต" เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดšเดฐเดŸเตเด•เตพ เดตเดพเดฆเด™เตเด™เดณเดพเดฏเดฟ เดตเดฟเดณเดฟเด•เตเด•เดพเตป. เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดซเด‚เด—เตเดทเตป เด•เดดเดฟเดฏเตเดฎเต†เด™เตเด•เดฟเตฝ
เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ, เด‡เดคเต "เดชเต‡เตพ" เดฌเตเดฒเต‹เด•เตเด•เดฟเตฝ เดจเดฟเดจเตเดจเต "เดฑเตบ" เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต.

เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป, เดฎเต‡เด•เตเด•เตเดซเดฏเตฝ เดจเตฝเด•เดฟเดฏ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฌเดพเดนเตเดฏ เด•เดฎเดพเตปเดกเต เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดฎเดพเดฏเดฟ เดตเดฟเดณเดฟเด•เตเด•เดพเตป เด‡เดคเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.
"&" เดŽเดจเตเดจ เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต, เด•เดพเดฐเดฃเด‚ เด‡เดคเต เดชเต‡เดณเดฟเดฒเต† เดซเด‚เด—เตโ€Œเดทเตป เด‡เตปเดตเต‹เด•เตเด•เตผ เด†เดฏเดคเดฟเดจเดพเตฝ, เด•เดพเดฐเดฃเด‚
เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เด‡เดคเต เดทเต†เดฒเตเดฒเดฟเตฝ เดจเดฟเดฏเดฎเดตเดฟเดฐเตเดฆเตเดงเดฎเดพเดฃเต.

$(เดฑเต‚เดŸเตเดŸเต)/เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•/%.h: %.h
&ln $(เด‡เตปเดชเตเดŸเตเดŸเต) $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

noecho
@ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ, เด“เดฐเต‹ เดทเต†เตฝ เด•เดฎเดพเตปเดกเตเด‚ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดชเตเดฐเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด†เดฆเตเดฏ เดตเดพเด•เตเด•เต เดŽเด™เตเด•เดฟเตฝ
เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต† "noecho" (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเต "@" เดŽเดจเตเดจ เด…เด•เตเดทเดฐเดคเตเดคเดฟเตฝ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ), เดคเตเดŸเตผเดจเตเดจเต เด•เดฎเดพเตปเดกเต
เด…เดšเตเดšเดŸเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต,

%.o: %.cxx
noecho $(LIBTOOL) --mode=compile $(CC) -c $(เด‡เตปเดชเตเดŸเตเดŸเต)

เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ libtool เด•เดฎเดพเตปเดกเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เด…เดคเต เดชเตเดฐเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ เดŽเดจเตเดจเดพเดฃเต. (เดฒเดฟเดฌเตเดŸเต‚เตพ
เด…เดคเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจ เดชเดฐเดฟเดทเตเด•เดฐเดฟเดšเตเดš เด•เดฎเดพเตปเดกเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดชเตเดฐเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เด‡เดคเต เด…เดจเดพเดตเดถเตเดฏเดฎเดพเดฃเต
เดฐเดฃเตเดŸเตเดคเดตเดฃ เดชเตเดฐเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเด•.)

เด…เดตเด—เดฃเดฟเด•เตเด•เตเด•_เดชเดฟเดถเด•เต
- เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ, เดทเต†เตฝ เด•เดฎเดพเตปเดกเต เดชเต‚เดœเตเดฏเดฎเดฒเตเดฒเดพเดคเตเดค เด’เดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เดจเตฝเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, makepp เด…เดฌเต‹เตผเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต
เด•เดฎเดพเตปเดกเต เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดšเดฟเดฒ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เตพ เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เดคเต†เดฑเตเดฑเดพเดฏเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ
เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดฎเดพเดฐเด•เดฎเดฒเตเดฒเดพเดคเตเดค เด’เดฐเต เดชเดฟเดถเด•เต เด‰เดฃเตเดŸเดพเดฏเต‡เด•เตเด•เดพเด‚
เดธเดฎเดพเดนเดพเดฐเด‚. เดฑเดฟเดŸเตเดŸเต‡เตบ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต makepp เด…เดตเด—เดฃเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚
"ignore_error" เด•เดฎเดพเตปเดกเต เดฒเตˆเดจเดฟเดฒเต† เด†เดฆเตเดฏ เดชเดฆเดฎเดพเดฏเดฟ (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "-" เด†เดฆเตเดฏ เดชเตเดฐเดคเต€เด•เดฎเดพเดฏเดฟ).
เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต,

$(เดตเตเดฏเดพเดœ เดตเดฟเดคเดฐเดฃเด‚):
เด…เดตเด—เดฃเดฟเด•เตเด•เตเด•_เดชเดฟเดถเด•เต rm -r my_program-$(VERSION) # เดฎเตเดฎเตเดชเดคเตเดคเต† เดœเด™เตเด•เต เด’เดดเดฟเดตเดพเด•เตเด•เตเด•.
&mkdir my_program-$(VERSION)
&cp $(FILES) my_program-$(VERSION)
tar cf my_program-$(VERSION).tar my_program-$(VERSION)

เดˆ เด•เดฎเดพเตปเดกเต เด’เดฐเต เดกเดฏเดฑเด•เตเดŸเดฑเดฟ เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดซเดฏเดฒเตเด•เตพ เดชเด•เตผเดคเตเดคเตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เด‡เดŸเตเดจเตเดจเต
เดตเดฟเดคเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เดŽเดฒเตเดฒเดพเด‚ เด’เดฐเต เดŸเดพเตผ เดซเดฏเดฒเดพเด•เตเด•เดฟ. เด‡เดคเต เดตเตƒเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเดจเตเดจเดคเต เดจเดฒเตเดฒเดคเดพเดฃเต
เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเดฒเต† เดฎเตเตป เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เตพ, เดฎเตเดฎเตเดชเต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต†เด™เตเด•เดฟเตฝ, เด…เดคเดพเดฃเต
เด†เดฆเตเดฏ เดตเดฐเดฟ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต. "rm" เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸเต‡เด•เตเด•เดพเด‚, เดŽเดจเตเดจเดพเตฝ เด…เดคเดฟเดจเตเดฑเต† เดฑเดฟเดŸเตเดŸเต‡เตบ เดจเดฟเดฒ เด…เดตเด—เดฃเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚.

เดฎเตเดคเตเดคเต
makeperl
เด‡เดคเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ perl เดชเตเดฐเดธเตเดคเดพเดตเดจเดฏเตเด•เตเด•เต เดธเดฎเดพเดจเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เด“เดฐเต‹ เดคเดตเดฃเดฏเตเด‚ เด‡เดคเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต
เดฑเต‚เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•, เดฎเต‡เด•เตเด•เตเดซเดฟเตฝ เดตเดพเดฏเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดฒเตเดฒ. เด†เดฆเตเดฏเดคเตเดคเต† เดตเต‡เดฐเดฟเดฏเดจเตเดฑเต เดชเตเดฒเต†เดฏเดฟเตป เดชเต‡เตพ เด†เดฃเต
เด•เต‹เดกเต, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เดตเต‡เดฐเดฟเดฏเตปเดฑเต เด†เดฆเตเดฏเด‚ เดฎเต‡เด•เตเด•เต-เดธเตเดฑเตเดฑเตˆเตฝ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดฒเต‚เดŸเต† เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตเดฎเต†เดจเตเดฑเต เด•เตˆเดฎเดพเดฑเตเดจเตเดจเต
เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด‚

เดถเดฐเต€เดฐเดคเตเดคเดฟเดจเตเดฑเต† เดฌเตเดฐเต‡เดธเตเด•เตพ เด‡เดŸเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฐเดฃเตเดŸเต เดธเดพเดงเตเดฏเดคเด•เตพเด•เตเด•เดพเดฏเดฟ, เด‡เดตเดฟเดŸเต† เดตเดฟเดถเดฆเต€เด•เดฐเดฃเด‚ เด•เดพเดฃเตเด•
makepp_statements-เตฝ "perl_perlcode". เดฎเต‚เดจเตเดจเดพเดฎเดคเตเดคเต† เดตเต‡เดฐเดฟเดฏเดจเตเดฑเต เด…เดตเดฟเดŸเต† เดตเดฟเดถเดฆเต€เด•เดฐเดฟเดšเตเดšเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เด‡เดตเดฟเดŸเต† เด…เตผเดคเตเดฅเดฎเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เดŽเดฒเตเดฒเดพ เดชเตเดฐเดตเตผเดคเตเดคเดจ เดฒเตˆเดจเตเด•เดณเตเด‚ เด‡เตปเดกเดจเตเดฑเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดจเดฟเด™เตเด™เตพ เดธเดฟเด—เตเดจเตฝ เดšเต†เดฏเตเดฏเดฃเด‚
"เดกเตˆ" เดŽเดจเตเดจเต เดตเดฟเดณเดฟเดšเตเดšเต เดชเต‡เตพ เดชเตเดฐเดธเตเดคเดพเดตเดจเด•เดณเดฟเดฒเต† เดชเดฐเดพเดœเดฏเด‚.

เดจเดฟเดฏเดฎเดฎเดจเตเดธเดฐเดฟเดšเตเดšเต, เด“เตบ เด’เดดเดฟเด•เต†เดฏเตเดณเตเดณ เด’เดฐเต เดชเตŠเดคเต เด‰เดชเดชเตเดฐเต‹เดธเดธเดฟเดฒเดพเดฃเต เดจเดฟเดฒเดตเดฟเตฝ เดชเต‡เตพ เดชเตเดฐเดธเตเดคเดพเดตเดจเด•เตพ เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเดจเตเดจเดคเต
เดตเดฟเตปเดกเต‹เดธเต. เด…เดคเดฟเดจเตผเดคเตเดฅเด‚ เด…เดตเตผเด•เตเด•เต เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดฎเต‡เด•เตเด•เต เดซเดฏเตฝ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเต‡ เดฑเต€เดกเต เด†เด•เตโ€Œเดธเดธเต เด‰เดณเตเดณเต‚ เดŽเดจเตเดจเดพเดฃเต. เด…เดคเตเด•เต‚เดŸเดฟเดฏเดพเดฃเต
เดจเต‹เตบ-เดชเต‡เตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏ. เด…เดคเดฟเดจเดพเตฝ เดŽเด•เตเดธเดฟเดฑเตเดฑเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเด•เตเดธเดฟเดฑเตเดฑเต เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเต เด†เดถเดฏเด•เตเด•เตเดดเดชเตเดชเดคเตเดคเดฟเดฒเดพเด•เตเด•เตเด‚
makepp. เดŽเดจเตเดจเดพเตฝ เดญเดพเดตเดฟเดฏเดฟเตฝ เด‡เดคเต เดฎเดพเดฑเดฟเดฏเต‡เด•เตเด•เดพเด‚. Perl-เดจเต† เดตเดฟเดณเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดฎเดพเดฏ เดฎเดพเตผเด—เดคเตเดคเดฟเดจเต
เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ, เดฎเตเดฎเตเดชเดคเตเดคเต† เด‡เดจเด‚ "&" เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "เดฑเตบ" เด•เดพเดฃเตเด•.

$(เดซเต‹เดฃเดฟ เดชเดคเดฟเดชเตเดชเต):
noecho perl {{ # $(เดฒเด•เตเดทเตเดฏเด‚) & $(VERSION) เดชเต‡เดณเดฟเตฝ เดจเดฟเดจเตเดจเต:
เดชเตเดฐเดฟเดจเตเดฑเต "เด‡เดคเต ".f_target()." $VERSION\n";
}}
echo เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดทเต†เตฝ เด•เดฎเดพเตปเดกเตเด•เดณเตเดฎเดพเดฏเดฟ เดฎเดฟเด•เตเดธเต เดšเต†เดฏเตเดฏเดพเด‚
-makeperl {print "เด‡เดคเต $(เดฒเด•เตเดทเตเดฏเด‚) $(VERSION)\n" }

เดชเดฒ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดจเดฟเดฏเดฎเด™เตเด™เดณเตเดฃเตเดŸเต, เด“เดฐเต‹เดจเตเดจเดฟเดจเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดค เด‰เดฆเตเดฆเต‡เดถเตเดฏเด™เตเด™เดณเตเดฃเตเดŸเต.

เดชเตเดฐเดพเดฏเดชเต‚เตผเดคเตเดคเดฟเดฏเดพเดฏเดตเตผเด•เตเด•เตเดณเตเดณเดคเต เดจเดฟเดฏเดฎเด™เตเด™เตพ
เดฒเด•เตเดทเตเดฏเด‚1 เดฒเด•เตเดทเตเดฏเด‚2: เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚1 เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚2 ...
เดจเดŸเดคเตเดคเต‡เดฃเตเดŸ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ

เด’เดจเตเดจเตเด•เดฟเตฝ เด‰เดฃเตเดŸเดพเด•เตเด•เดพเตป เดตเต‡เดฃเตเดŸเดฟ เดˆ เดตเดพเด•เตเดฏเด˜เดŸเดจ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต เดฒเด•เตเดทเตเดฏเด‚1 or เดฒเด•เตเดทเตเดฏเด‚2, เดŽเดฒเตเดฒเดพ เดซเดฏเดฒเตเด•เดณเตเด‚
เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚1, เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚2เดฎเตเดคเดฒเดพเดฏเดต, เด‡เดคเดฟเดจเด•เด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เด…เดชเตเดชเต‹เตพ เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ
เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เดทเต†เตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต.

เด’เดฐเต เดซเดฏเดฒเดฟเดฒเต† เด†เดฆเตเดฏเดคเตเดคเต† เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดจเดฟเดฏเดฎเด‚ เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดŸเดพเตผเด—เต†เดฑเตเดฑเดพเดฃเต, เดจเดฟเด™เตเด™เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเต เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚
เด•เดฎเดพเตปเดกเต เดฒเตˆเดจเดฟเดฒเต† เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เตพ.

เดชเดฐเดฎเตเดชเดฐเดพเด—เดค เดฎเต‡เด•เตเด•เต เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เดฎเต‡เด•เตเด•เดชเตเดชเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดพเดฃเต†เดจเตเดจเต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต
เดŽเดฒเตเดฒเดพ เดฒเด•เตเดทเตเดฏเด™เตเด™เดณเตเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเต (เด†เดถเตเดฐเดฟเดคเดคเตเดตเด™เตเด™เตพ เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ). เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ
เดˆ เดจเดฟเดฏเดฎเดคเตเดคเดฟเดจเดพเดฏเดฟ yacc เดฐเดฃเตเดŸเต เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดซเดฏเดฒเตเด•เดณเตเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต:

y.tab.c y.tab.h : parser.y
$(YACC) -d parser.y

Make-เดจเตเดฑเต† เดฎเดฑเตเดฑเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฒเตเด•เตพเด•เตเด•เต เด’เดฐเตŠเดฑเตเดฑ เด•เดฎเดพเตปเดกเต เดŽเดจเตเดจ เด†เดถเดฏเด‚ เด‡เดฒเตเดฒ เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดซเดฏเดฒเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดต เดšเต†เดฏเตเดฏเตเด‚
เด“เดฐเต‹ เดฒเด•เตเดทเตเดฏเดคเตเดคเดฟเดจเตเด‚ เด’เดฐเดฟเด•เตเด•เตฝ เดจเดฟเดฏเดฎเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด•. เด‡เดคเตเดชเต‹เดฒเต† เดคเต‹เดจเตเดจเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เดฎเต‡เด•เตเด•เดชเตเดชเต เดˆ เดธเตเดตเดญเดพเดตเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด‚
เด‡เดคเตŠเดฐเต เดชเดดเดฏ เดฐเต€เดคเดฟเดฏเดฟเดฒเตเดณเตเดณ เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเดพเดฃเต. เดชเตเดฐเดคเตเดฏเต‡เด•เดฎเดพเดฏเดฟ, เด‡เดคเต เด“เดฐเต‹ เดฒเด•เตเดทเตเดฏเดคเตเดคเดฟเดจเตเด‚ เด’เดฐเดฟเด•เตเด•เตฝ เดจเดฟเดฏเดฎเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด‚,
เดฎเตŠเดคเตเดคเดคเตเดคเดฟเตฝ เด’เดฐเดฟเด•เตเด•เตฝ เดŽเดจเตเดจเดคเดฟเดจเตเดชเด•เดฐเด‚, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดตเดฏเต†เดฒเตเดฒเดพเด‚ เดถเดฐเดฟเดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ:

ยท เดฑเต‚เตพ เด†เด•เตเดทเตป $@ เดŽเดจเตเดจ เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเต† เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เตเดจเตเดจเต. (เดชเดฐเตเดฏเดพเดฏเด™เตเด™เตพ "$(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)" เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ
"$(เดฒเด•เตเดทเตเดฏเด‚)" เดˆ เดธเตเดตเดญเดพเดตเด‚ เดŸเตเดฐเดฟเด—เตผ เดšเต†เดฏเตเดฏเดฐเตเดคเต.)

ยท เดฑเต‚เตพ เด†เด•เตเดทเตป เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ "$(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเตเด•เตพ)" (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเดฟเดจเตเดฑเต† เดชเดฐเตเดฏเดพเดฏเดชเดฆเด‚) เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ
"$(เดฒเด•เตเดทเตเดฏเด™เตเด™เตพ)").

ยท เด‡เดคเตŠเดฐเต เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเดฎเดฒเตเดฒ, เด•เต‚เดŸเดพเดคเต† เดซเต‹เตผเดšเตเดšเต เด•เตเดฒเต‹เดธเตเด‚ เด‡เดฒเตเดฒ.

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต,

เดŽเดฒเตเดฒเดพ เดŸเต†เดธเตเดฑเตเดฑเต เด‡เตปเดธเตเดฑเตเดฑเดพเดณเตเด‚:
$(SUBDIRS) เดŽเดจเตเดจเดคเดฟเดฒเต† เดธเดฌเตเดฆเดฟเดฑเดฟเดจเดพเดฏเดฟ; เดธเดฟเดกเดฟ เดšเต†เดฏเตเดฏเตเด• $$subdir && $(เด‰เดฃเตเดŸเดพเด•เตเด•เตเด•) $@; cd ..; เดšเต†เดฏเตเดคเต

เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเตเด•เดณเดฟเดฒเต† เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดเดกเดฟเดฏเด‚ เด†เดฃเต, makepp เด…เดคเดฟเดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต. (เดจเดฟเด™เตเด™เตพ เด’เดฐเดฟเด•เตเด•เดฒเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฐเตเดคเต เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เดจเดฟเด™เตเด™เตพ เดŽเดดเตเดคเตเดจเตเดจ เดเดคเตŠเดฐเต เดชเตเดคเดฟเดฏ เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเตเด•เดณเดฟเดฒเตเด‚ เด†เดตเตผเดคเตเดคเดจเดฐเต‚เดชเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เตเด•--"load_makefile" เดชเตเดฐเดธเตเดคเดพเดตเดจ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ
เดชเด•เดฐเด‚ เด‡เด‚เดชเตเดฒเดฟเดธเดฟเดฑเตเดฑเต เดฎเต‡เด•เตเด•เต เดซเดฏเตฝ เดฒเต‹เดกเดฟเด‚เด—เต.)

เด“เดฐเต‹ เดฒเด•เตเดทเตเดฏเดคเตเดคเดฟเดจเตเด‚ เด’เดฐเต‡ เดจเดฟเดฏเดฎเด‚ เด’เดฐเดฟเด•เตเด•เตฝ เดจเดฟเตผเดตเตเดตเดนเดฟเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ (เด‰เดฆเดพ, เดฒเด•เตเดทเตเดฏเด™เตเด™เตพ
เดธเดฎเดพเดจเดฎเดพเดฏ เด•เดฎเดพเตปเดกเตเด•เตพ เด‰เดฃเตเดŸเต), เด’เดฐเต เดชเดพเดฑเตเดฑเต‡เตบ เดฑเต‚เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต (เดšเตเดตเดŸเต† เด•เดพเดฃเตเด•) เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ a
"เดซเต‹เดฑเดšเตเดšเต" เด•เตเดฒเต‹เดธเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เดชเดฐเดฎเตเดชเดฐเดพเด—เดค เดฎเต‡เด•เตเด•เต เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เตพ เดŽเดดเตเดคเตเด‚:

เดŽ เดฌเดฟ เดธเดฟ เดกเดฟ:
เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป_เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเต†เดฏเตเดฏเตเด• $@ > $@

makepp-เตฝ, เดจเดฟเด™เตเด™เตพ เด‡เดคเต เด‡เดคเตเดชเต‹เดฒเต† เดŽเดดเตเดคเดพเตป เด†เด—เตเดฐเดนเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚:

$(foreach) :: foreach abcd
$(เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต) > $(เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต) เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป_เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเต†เดฏเตเดฏเตเด•

เดซเต‹เดฃเดฟ เดฒเด•เตเดทเตเดฏเด™เตเด™เตพ

A เดตเตเดฏเดพเดœเตป เดฒเด•เตเดทเตเดฏเด‚ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด’เดฐเดฟเด•เตเด•เดฒเตเด‚ เดจเดฟเดฒเดจเดฟเตฝเด•เตเด•เดพเดคเตเดค เด’เดฐเต เดฒเด•เตเดทเตเดฏเดฎเดพเดฃเต; เด…เดคเต เดตเต†เดฑเตเด‚ เด’เดฐเต
เดšเดฟเดฒ เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดšเดฟเดฒ เด…เดงเดฟเด• เด•เดฎเดพเตปเดกเตเด•เตพ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เดฎเต‡เด•เตเด•เดชเตเดชเต เดจเต‡เดŸเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฎเดพเตผเด—เด‚.

เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดตเตเดฏเดพเดœ เดฒเด•เตเดทเตเดฏเด‚ "เดŽเดฒเตเดฒเดพเด‚" เด†เดฃเต, เด‡เดคเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดธเดพเดงเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเด‚ เด•เดพเดฐเดฃเดฎเดพเด•เตเดจเตเดจเต
เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเดคเต, เด‡เดคเตเดชเต‹เดฒเต†:

เดŽเดฒเตเดฒเดพเด‚: prog1 prog2 subdir/prog3 subdir2/libmine.a
@&echo "เดŽเดฒเตเดฒเดพเด‚ เดšเต†เดฏเตเดคเต!"

เดจเดฟเด™เตเด™เตพ "makepp all" เดŽเดจเตเดจเต เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเดฒเตเดฒเดพเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเดฟเดฒเต† เด†เดฆเตเดฏ เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดŸเดพเตผเด—เต†เดฑเตเดฑเดพเดฏเดฟ เด‡เดŸเตเดŸเดพเตฝ
(เด‡เดคเต เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฃเต) เด•เต‚เดŸเดพเดคเต† "makepp" เดŽเดจเตเดจเต เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเตเด•, เดคเตเดŸเตผเดจเตเดจเต เด…เดคเต เดŽเดฒเตเดฒเดพ เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เดณเตเด‚ เด†เด•เตเด‚
เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเต, เด…เดชเตเดชเต‹เตพ เด…เดคเต "เดŽเดฒเตเดฒเดพเด‚ เดšเต†เดฏเตเดคเต!" เดŽเดจเตเดจเต เดชเตเดฐเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเด‚. เดˆ เดธเดฎเดฏเดคเตเดคเต, makepp เดซเดฏเดฒเดฟเดจเดพเดฏเดฟ เดจเต‹เด•เตเด•เตเด‚ ./เดŽเดฒเตเดฒเดพเด‚
เด…เดคเต เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒเต†เดจเตเดจเต เด•เดฃเตเดŸเต†เดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚. เด‰เดฑเด•เตเด•เต† เดชเดฐเดพเดคเดฟ เดชเดฑเดฏเตเด‚.

เดซเดฏเตฝ เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต makepp เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเดพเตป ./เดŽเดฒเตเดฒเดพเด‚ เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เดพเตป, เด…เดคเต เด’เดฐเต เด†เดฃเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เดชเดฑเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต
เดตเตเดฏเดพเดœ เดฒเด•เตเดทเตเดฏเด‚. เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเดฟเตฝ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดคเตเดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เดฒเตˆเตป เด‡เดŸเตเด• (เด‡เดคเต เด’เดฐเต เดตเตเดฏเดคเตเดฏเดพเดธเดตเตเดฎเดฟเดฒเตเดฒ
เดŽเดตเดฟเดŸเต†):

.เดซเต‹เดฃเดฟ: เดŽเดฒเตเดฒเดพเด‚

"$(phony )" เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต เดšเดฟเดฒเดชเตเดชเต‹เตพ เด•เต‚เดŸเตเดคเตฝ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เดคเดคเตเดคเตเดฒเตเดฏเดฎเดพเดฏ เดฌเดฆเตฝ
เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚, เด‡เดคเตเดชเต‹เดฒเต†:

$(เดŽเดฒเตเดฒเดพเด‚ เดตเตเดฏเดพเดœเด‚): prog1 prog2 subdir/prog3 subdir2/libmine.a

เด’เดฐเต เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเดฟเดฒเต† เดซเต‹เดฃเดฟ เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เตพเด•เตเด•เต เดฎเดฑเตเดฑเตŠเดฐเต เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเดฟเดฒเต† เดตเตเดฏเดพเดœ เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เดณเต† เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เด‡เดคเดพเดฃเต
เดชเดฒเดชเตเดชเต‹เดดเตเด‚ "เดตเตƒเดคเตเดคเดฟเดฏเตเดณเตเดณ" เดŸเดพเตผเด—เต†เดฑเตเดฑเดฟเดฒเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต, เด‡เดคเตเดชเต‹เดฒเต†:

# เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดฎเต‡เด•เตเด•เต เดซเดฏเตฝ:
# เดงเดพเดฐเดพเดณเด‚ เดจเดฟเดฏเดฎเด™เตเด™เดณเตเด‚ เด•เดพเดฐเตเดฏเด™เตเด™เดณเตเด‚ เด‡เดตเดฟเดŸเต†เดฏเตเดฃเตเดŸเต
# ....
$(phony clean): subdir1/clean subdir2/clean
&rm -fm my_program

เด‰เดชเดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เดณเดฟเตฝ, เดฎเต‡เด•เตเด•เตโ€Œเดซเดฏเดฒเตเด•เตพ เด‡เดคเตเดชเต‹เดฒเต† เดตเดพเดฏเดฟเด•เตเด•เดพเด‚:

# เด’เดฐเต เด‰เดชเดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ เดซเดฏเตฝ เด‰เดฃเตเดŸเดพเด•เตเด•เตเด•
#...
$(เดซเต‹เดฃเดฟ เด•เตเดฒเต€เตป):
&rm -fm $(เดตเตˆเตฝเดกเตเด•เดพเตผเดกเต *.o *.a)

เดŽเดจเตเดจเดพเตฝ เด‡เด•เตเด•เดพเดฒเดคเตเดคเต เดจเดฟเด™เตเด™เตพ เด’เดฐเต เด•เตเดฒเต€เตป เดŸเดพเตผเด—เต†เดฑเตเดฑเดฟเดจเต เดชเด•เดฐเด‚ "makeppclean" เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚.

เดตเตˆเตฝเดกเตเด•เดพเตผเดกเตเด•เตพ

เดกเดฟเดชเตปเดกเตปเดธเดฟ เดฒเดฟเดธเตเดฑเตเดฑเดฟเตฝ เดตเตˆเตฝเดกเตเด•เดพเตผเดกเตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฃเต. เดตเตˆเตฝเดกเต เด•เดพเตผเดกเตเด•เตพ เดซเดฏเดฒเตเด•เดณเตเดฎเดพเดฏเดฟ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเดคเต
เด…เดคเต เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเดฟเดฒเต† เดจเดฟเดฏเดฎเด™เตเด™เตพ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดซเดฏเดฒเตเด•เตพ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต,
เด’เดฐเต เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเดฒเต† เดŽเดฒเตเดฒเดพ .o เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เด’เดฐเต เดฒเตˆเดฌเตเดฐเดฑเดฟ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดŽเดดเตเดคเดพเด‚:

libmine.a: *.o
&rm -f $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)
ar cr $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต) $(เด‡เตปเดชเตเดŸเตเดŸเตเด•เตพ)

".o" เดซเดฏเดฒเตเด•เดณเตŠเดจเตเดจเตเด‚ เด‡เดคเตเดตเดฐเต† เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเดฒเตเด‚ เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚, เด•เดพเดฐเดฃเด‚ makepp เดจเตเดฑเต†เดคเดพเดฃเต
เดตเตˆเตฝเดกเตเด•เดพเตผเดกเตเด•เตพ เด‡เดคเตเดตเดฐเต† เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒเดพเดคเตเดคเดคเตเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฎเดพเดฏ เดซเดฏเดฒเตเด•เดณเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต. เด‡เดคเต เดชเต‹เดฒเตเด‚ เดŽเดŸเตเด•เตเด•เตเด‚
เดฑเต‚เตพ เดชเดฟเดจเตเดจเต€เดŸเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏ เดซเดฏเดฒเตเด•เตพ (เด…เดคเต‡ เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเดฟเตฝ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เดคเตเดตเดฐเต† เดตเดพเดฏเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเดพเดคเตเดค เด’เดจเตเดจเต). เด‡เดคเดฟเตฝ
เด…เดตเดธเดพเดจ เดชเต‹เดฏเดฟเดจเตเดฑเต "เดตเตˆเตฝเดกเตเด•เดพเตผเดกเต" เดซเด‚เด—เตเดทเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต, เด…เดคเต เด…เดฑเดฟเดฏเดชเตเดชเต†เดŸเตเดจเตเดจ เดจเดฟเดฏเดฎเด™เตเด™เดณเดฟเตฝ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต,
เด•เดพเดฐเดฃเด‚ เด…เดคเต เดตเดฟเด•เดธเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดคเดฟเดจเตเดฑเต† เดซเดฒเด‚ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เดฃเด‚.

Makepp เดŽเดฒเตเดฒเดพ เดธเดพเดงเดพเดฐเดฃ เดทเต†เตฝ เดตเตˆเตฝเดกเตเด•เดพเตผเดกเตเด•เดณเต†เดฏเตเด‚ ("*", "?", เด•เต‚เดŸเดพเดคเต† "[]") เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต. เด‡เดคเดฟเดจเต เด’เดฐเต เด‰เดฃเตเดŸเต
เดตเตˆเตฝเดกเตเด•เดพเตผเดกเต "**" เดเดคเต เด‡เดจเตเดฑเตผเดตเต†เตปเดธเดฟเด‚เด—เต เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เดณเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต. (เดˆ เด†เดถเดฏเด‚ เดฎเต‹เดทเตเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเดคเดพเดฃเต
zsh-เตฝ เดจเดฟเดจเตเดจเต.) เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, "**/*.c" เดŽเดฒเตเดฒเดพเด‚ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต .c เดฎเตเดดเตเดตเตป เดธเต‹เดดเตเดธเต เดŸเตเดฐเต€เดฏเดฟเดฒเต†เดฏเตเด‚ เดซเดฏเดฒเตเด•เตพ.
"objects/**/*.o" เดŽเดฒเตเดฒเดพเด‚ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต .o เด‰เดชเดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ เดŽเดตเดฟเดŸเต†เดฏเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดซเดฏเดฒเตเด•เตพ เดตเดธเตเดคเตเด•เตเด•เตพ
เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเดฟเดจเตเดฑเต† เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดชเดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดตเดฏเตเดŸเต† เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดชเดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เตพ. "**" เดตเตˆเตฝเดกเตเด•เดพเตผเดกเต เดšเต†เดฏเตเดฏเดฟเดฒเตเดฒ
เดเดคเต เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดธเต‹เดซเตเดฑเตเดฑเต เดฒเดฟเด™เตเด•เตเด•เตพ เดชเดฟเดจเตเดคเตเดŸเดฐเตเด•. เด‡เดคเต เด’เดฐเดฟเด•เตเด•เดฒเตเด‚ เดตเตเดฏเดพเดœ เดฒเด•เตเดทเตเดฏเด™เตเด™เดณเต† เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เดฟเดฒเตเดฒ.

เดฎเต‡เด•เตเด•เดชเตเดชเดฟเดจเตเดฑเต† เดตเตˆเตฝเดกเตเด•เดพเตผเดกเตเด•เตพ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณเดคเตเด‚ เดŽเดจเตเดจเดพเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดคเดคเตเดฎเดพเดฏ เดซเดฏเดฒเตเด•เดณเต†เดฏเต‹ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เดณเต†เดฏเต‹ เด…เดตเด—เดฃเดฟเด•เตเด•เตเด‚. เดถเต‡เดทเด‚
เดŽเดฒเตเดฒเดพเดตเดฟเดงเดคเตเดคเดฟเดฒเตเด‚, เดฌเดฟเตฝเดกเต เดชเตเดฐเต‹เดธเดธเตเดธเดฟเตฝ เด…เดคเตเดคเดฐเด‚ เดซเดฏเดฒเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดค เดซเดฏเดฒเตเด•เตพ เดŽเดฏเดฟเตฝ เด‡เดŸเตเดจเตเดจเต
เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดซเดฏเดฒเดฟเดจเตเดฑเต† เดธเตเดตเดฏเดฎเต‡เดต เด‡เดฑเด•เตเด•เตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดคเดŸเดฏเดพเตป เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดชเตเดฐเดพเดฅเดฎเดฟเด•เดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต
เดธเด‚เดญเดฐเดฃเดฟเดฏเดพเดฃเต.

เด‡เดคเต เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฃเต†เดจเตเดจเดพเดฃเต เดชเตเดฐเดพเดฅเดฎเดฟเด• เดจเดฟเด—เดฎเดจเด‚. เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจ เด…เตผเดคเตเดฅเดคเตเดคเดฟเดฒเดพเดฃเต เด‡เดคเต
เดซเดฏเดฒเตเด•เตพ เด‡เดคเดฟเดจเด•เด‚ เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด†เดฆเตเดฏเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚ เด‡เดคเต เด…เตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดฒเตเดฒ
makepp เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดš เดซเดฏเดฒเตเด•เดณเตเดฎเดพเดฏเดฟ เด‡เดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเด‚, เดŽเดจเตเดจเดพเตฝ เด‡เดจเดฟ เด’เดฐเต เดจเดฟเดฏเดฎเดตเตเดฎเดฟเดฒเตเดฒ (เด‰เดฆเดพ
เดจเดฟเด™เตเด™เตพ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดคเต .c เดซเดฏเตฝ, เดŽเดจเตเดจเดพเตฝ .o เดซเดฏเตฝ เด‡เดชเตเดชเต‹เดดเตเด‚ เด…เดตเดฟเดŸเต†เดฏเตเดฃเตเดŸเต.) เด‡เดคเต เดคเดŸเดฏเดพเตป, เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•
"--rm-stale" เด“เดชเตเดทเตป.

เดฎเดพเดคเตƒเด• เดจเดฟเดฏเดฎเด™เตเด™เตพ
เดšเดฟเดฒ เดตเดพเดšเด• เดชเดพเดฑเตเดฑเต‡เดฃเดฟเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดจเดฟเดฏเดฎเดฎเดพเดฃเต เดชเดพเดฑเตเดฑเต‡เตบ เดฑเต‚เตพ. เด‡เดคเต เดชเดคเดฟเดตเดพเดฃเต
เด’เดฐเต เดฎเตเดดเตเดตเตป เดคเดฐเด‚ เดซเดฏเดฒเตเด•เดณเดฟเดฒเตเด‚ เด‡เดคเต‡ เดจเดฟเดฏเดฎเด‚ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเด•. เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเตเด‚ เด—เตเดจเต เดฎเต‡เด•เตเด•เดฟเดจเตเดฑเต† เดธเดฎเดพเดจเดฎเดพเดฃเต
เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด™เตเด™เตพ:

%.o: %.c
$(CC) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

เดจเดฟเดฒเดตเดฟเดฒเต† เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ "*.c" เดŽเดจเตเดจเดคเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจ เดเดคเต เดซเดฏเดฒเตเด‚ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเดพเดฎเต†เดจเตเดจเต เด‡เดคเต เดชเดฑเดฏเตเดจเตเดจเต
เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดจเตเดฌเดจเตเดง .o เดซเดฏเตฝ.

เดจเดฟเดฐเดตเดงเดฟ เดชเดพเดฑเตเดฑเต‡เตบ เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เตพ เดจเตฝเด•เดฟเดฏเต‡เด•เตเด•เดพเดฎเต†เดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เดณเตเดŸเต‡เดคเดพเดฃเต†เด™เตเด•เดฟเตฝ xyz.o เดซเดฏเดฒเต
เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดคเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต xyz.cpp เดซเดฏเตฝ, เด•เต‚เดŸเดพเดคเต† เด’เดฐเต เดซเดฏเดฒเดฟเดฒเตเด‚ moc_xyz.cflags เดเดคเต
เด•เด‚เดชเตˆเดฒเตผ เด“เดชเตโ€Œเดทเดจเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเด•เดŸเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚:

%.o: %.cpp %.cflags
$(CXX) `เดชเต‚เดšเตเดš $(เดธเตเดฑเตเดฑเต†เด‚).cflags` -c $(เด‡เตปเดชเตเดŸเตเดŸเตเด•เตพ) -o $(เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต)

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฐเดตเดงเดฟ เดชเดพเดฑเตเดฑเต‡เตบ เดฒเด•เตเดทเตเดฏเด™เตเด™เดณเตเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต,

%.tab.h %.tab.c : %.y
yacc -d $(เด‡เตปเดชเตเดŸเตเดŸเต)
&mv y.tab.h $(stem).tab.h
&mv y.tab.c $(stem).tab.c

เดธเดพเดงเดพเดฐเดฃเด—เดคเดฟเดฏเดฟเตฝ, เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดจเดฟเดฒเดตเดฟเดฒเต† เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เดณเดฟเดฒเต† เดซเดฏเดฒเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดฎเดพเดคเตเดฐเดฎเต‡ เดจเต‹เด•เตเด•เต‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเตผเดฌเดจเตเดงเดฟเด•เตเด•เดพเด‚
เดจเดฟเดฒเดตเดฟเดฒเต† เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเดฒเตเด‚ เด…เดคเดฟเดจเต เดคเดพเดดเต†เดฏเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เดณเดฟเดฒเตเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด‚ เดตเดดเดฟ เดคเดฟเดฐเดฏเดพเตป เด…เดต

makepp_percent_subdirs := 1

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฎเต‡เด•เตเด•เตโ€Œเดซเตˆเดฒเดฟเดฒเต† เด†เดฆเตเดฏ เดชเดพเดฑเตเดฑเต‡เตบ เดฑเต‚เดณเดฟเดจเต เดฎเตเดฎเตเดชเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เด•เดฎเดพเตปเดกเต เดฒเตˆเดจเดฟเตฝ.

"%" เด‰เด‚ เดตเตˆเตฝเดกเตเด•เดพเตผเดกเต "*" เด‰เด‚ เดคเดฎเตเดฎเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดตเตเดฏเดคเตเดฏเดพเดธเดฎเตเดฃเตเดŸเต, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚ เด‡เดต เดฐเดฃเตเดŸเตเด‚ เดคเดฎเตเดฎเดฟเตฝ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต
string: เดตเตˆเตฝเดกเตเด•เดพเตผเดกเต เด† เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดš เดซเดฏเดฒเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดจเตฝเด•เตเดจเตเดจเต. เด…เด™เตเด™เดจเต†
เด‡เดคเต เดŽเดฒเตเดฒเดพเดตเดฐเต†เดฏเตเด‚ เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต .o เด‡เดตเดฟเดŸเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เดซเดฏเดฒเตเด•เตพ:

เดชเตเดฐเต‹เด—เต: *.เด’
$(LD) $(LDFLAGS) $(เด‡เตปเดชเตเดŸเตเดŸเตเด•เตพ) -o $(เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต)

"*" เดŽเดจเตเดจเดคเดฟเดจเต เดชเด•เดฐเด‚ "%" เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดคเต เดจเต‡เดŸเดพเดจเดพเดฏเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เด“เดฐเต‹เดจเตเดจเดพเดฏเดฟ
เด‡เตปเดชเตเดŸเตเดŸเต เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ, เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจ เด“เดฐเต‹ เดคเดฃเตเดŸเดฟเดจเตเด‚ เด†เดจเตเดคเดฐเดฟเด•เดฎเดพเดฏเดฟ เด’เดฐเต เดจเดฟเดฏเดฎเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเต.

เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด™เตเด™เตพ
เด’เดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดชเดพเดฑเตเดฑเต‡เตบ เดฑเต‚เตพ เดŽเดจเตเดจเดคเต เด’เดฐเต เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฏ เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเดพเดฑเตเดฑเต‡เตบ เดฑเต‚เดณเดพเดฃเต:

$(SPECIAL_MODULES).o : %.o : %.cpp
$(CXX) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

"$(SPECIAL_MODULES).o" เดŽเดจเตเดจเดคเดฟเดฒเต† เดซเดฏเดฒเตเด•เตพเด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเต‡ เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด‚ เดฌเดพเดงเด•เดฎเดพเด•เต‚ เดŽเดจเตเดจเต เด‡เดคเต เดชเดฑเดฏเตเดจเตเดจเต.

เด‡เดคเต เด•เต‚เดŸเตเดคเดฒเตเด‚ เด—เตเดจเต เดจเดฟเตผเดฎเตเดฎเดพเดฃเดตเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเดคเดฟเดจเดพเดฃเต; foreach เดจเดฟเดฏเดฎเด™เตเด™เตพ (เดคเดพเดดเต† เด•เดพเดฃเตเด•) เด•เต‚เดŸเตเดคเตฝ
เด’เดฐเต‡ เด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เดถเด•เตเดคเดฎเดพเดฏ เดฎเดพเตผเด—เด‚.

เดซเต‹เดฑเต†เดšเตเดšเต เดจเดฟเดฏเดฎเด™เตเด™เตพ
เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดชเดพเดฑเตเดฑเต‡เตบ เดฑเต‚เตพ เดตเดพเด•เตเดฏเด˜เดŸเดจ เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพ เดฌเดฟเตฝเดกเตเด•เดณเต†เดฏเตเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เดพเตป เดชเดฐเตเดฏเดพเดชเตเดคเดฎเดพเดฃเต, เดชเด•เตเดทเต‡
เด‡เดŸเดฏเตเด•เตเด•เดฟเดŸเต† เด•เต‚เดŸเตเดคเตฝ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. Makepp เด•เต‚เดŸเตเดคเตฝ เดจเตฝเด•เตเดจเตเดจเต
เดถเด•เตเดคเดฎเดพเดฏ เดตเดพเด•เตเดฏเด˜เดŸเดจ: เดฑเต‚เดณเดฟเดจเตเดณเตเดณ ":foreach" เด•เตเดฒเต‹เดธเต.

target_expression : เดกเดฟเดชเตปเดกเตปเดธเดฟ_เดŽเด•เตโ€Œเดธเตโ€Œเดชเตเดฐเดทเตป: เดซเดฏเตฝ-เดฒเดฟเดธเตเดฑเตเดฑเต เดซเต‹เดฑเต†เดšเตเดšเต
เด“เดนเดฐเดฟ

เดเดฑเตเดฑเดตเตเด‚ เดฒเดณเดฟเดคเดฎเดพเดฏ เดฐเต€เดคเดฟเดฏเดฟเดฒเตเดณเตเดณ เดซเต‹เตผเดšเตเดšเต เดฑเต‚เตพ, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเดพเดฑเตเดฑเต‡เตบ เดฑเต‚เตพ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต
เดซเดฏเดฒเตเด•เดณเตเดŸเต† เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฒเดฟเดธเตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเดฑเดฏเตเดจเตเดจ เด’เดฐเต เดชเดพเดฑเตเดฑเต‡เตบ เดฑเต‚เตพ เด‰เดฃเตเดŸเต†เดจเตเดจเต เด•เดฐเตเดคเตเด•
เดŽเดฒเตเดฒเดพเด‚ เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต†เด™เตเด™เดจเต†เดฏเต†เดจเตเดจเต makepp .c เดซเดฏเดฒเตเด•เตพ. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เด‰เดฃเตเดŸเต .c เดจเดฟเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดซเดฏเดฒเตเด•เตพ
เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเต†เดฏเตเดฏเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚:

# เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเด‚ เดฌเดพเดงเด•เดฎเดพเดฏ เดจเดฟเดฏเดฎเด‚ เด‡เดคเดพ:
%.o : %.c
$(CC) $(CFLAGS) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

%.o : %.c : foreach $(SPECIAL_MODULES)
$(CC) $(SPECIAL_CFLAGS) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต)

เดซเต‹เตผเดšเตเดšเต เดจเดฟเดฏเดฎเด™เตเด™เดณเตเดŸเต† เด•เต‚เดŸเตเดคเตฝ เดถเด•เตเดคเดฎเดพเดฏ เด‰เดชเดฏเต‹เด—เด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดŽเดจเตเดจ เดตเดธเตเดคเตเดค เดชเตเดฐเดฏเต‹เดœเดจเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต
"$(foreach)" เดŽเดจเตเดจเดคเต เดซเดฏเตฝ เดฒเดฟเดธเตเดฑเตเดฑเตเด‚ เดŸเดพเตผเด—เต†เดฑเตเดฑเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจ เด“เดฐเต‹ เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เตเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
เด†เดถเตเดฐเดฟเดคเดคเตเดต เดชเดฆเดชเตเดฐเดฏเต‹เด—เด™เตเด™เตพ เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต. เดซเดฏเตฝ-เดฒเดฟเดธเตเดฑเตเดฑเดฟเตฝ เดตเตˆเตฝเดกเตเด•เดพเตผเดกเตเด•เดณเตเด‚ เด‡เดตเดฏเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚
เด‡เดคเตเดตเดฐเต† เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒเดพเดคเตเดคเดคเตเด‚ เดŽเดจเตเดจเดพเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฎเดพเดฏ เดซเดฏเดฒเตเด•เดณเตเดฎเดพเดฏเดฟ เดชเต‹เดฒเตเด‚ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเด• ("เดตเตˆเตฝเดกเตเด•เดพเตผเดกเตเด•เตพ" เด•เดพเดฃเตเด•
makepp_rules).

เด‡เดคเตŠเดฐเต เด…เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเดพเดฃเต, เดชเด•เตเดทเต‡ เด‡เดคเต เดตเดณเดฐเต† เดตเดดเด•เตเด•เดฎเตเดณเตเดณเดคเดพเดฃเต, เด•เดพเดฐเดฃเด‚ "$(foreach)" เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ
เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเดฟเตฝ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเดฟเดงเดคเตเดคเดฟเตฝ เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเดพเด‚. เด†เดฆเตเดฏเด‚, เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ a เด†เดฃเต†เดจเตเดจเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เดซเต‹เตผเดšเตเดšเต เดจเดฟเดฏเดฎเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเดคเตเดฏเต‡เด• เด•เต‡เดธเต; เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด‚

%.o : %.c
$(CC) $(CFLAGS) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

เด‡เดคเดฟเดจเต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดคเตเดฒเตเดฏเดฎเดพเดฃเต:

$(patsubst %.c, %.o, $(foreach)) : $(foreach) : foreach *.c
$(CC) $(CFLAGS) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

(เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เด‡เดคเต เด†เดจเตเดคเดฐเดฟเด•เดฎเดพเดฏเดฟ เดเด•เดฆเต‡เดถเด‚ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต.)

เด’เดฐเต เดชเดพเดฑเตเดฑเต‡เตบ เดฑเต‚เตพ เด‡เดฒเตเดฒเดพเดคเตเดค เด’เดฐเต ":foreach" เด•เตเดฒเต‹เดธเต เดจเดฟเด™เตเด™เตพ เดŽเด™เตเด™เดจเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚ เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ
เดฎเดคเดฟ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เตเดฑเดšเตเดšเต เด‰เดฃเตเดŸเต†เดจเตเดจเต เด•เดฐเตเดคเตเด• .c เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเตเดฐเต€เดชเตเดฐเตŠเดธเดธเตเดธเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดš เดซเดฏเดฒเตเด•เตพ
เด‡เดคเต เด’เดฐเต เด‡เตปเดชเตเดŸเตเดŸเต เดซเดฏเดฒเตเด•เดณเดพเดฏเดฟ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเต .k เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด‚. เดจเดฟเด™เตเด™เตพ เด…เดต เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต .c เดŽ เด‰เดณเตเดณ เดซเดฏเดฒเตเด•เตพ
เดธเดพเดงเดพเดฐเดฃเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เด•เด‚เดชเตˆเดฒเต‡เดทเตป เด“เดชเตเดทเดจเตเด•เตพ .c เดธเดพเดงเดพเดฐเดฃ เด‰เดฑเดตเดฟเดŸเดฎเดพเดฏ เดซเดฏเดฒเตเด•เตพ
เดซเดฏเดฒเตเด•เตพ. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚:

# เดธเดพเดงเดพเดฐเดฃ .c เดซเดฏเดฒเตเด•เตพเด•เตเด•เตเดณเตเดณ เดจเดฟเดฏเดฎเด‚:
%.o : %.c
$(CC) $(CFLAGS) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

# .k เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต .c เดซเดฏเดฒเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดจเดฟเดฏเดฎเด‚:
%.c : %.k
$(เดชเตเดฐเดฟเดชเตเดฐเตŠเดธเดธเตเดธเตผ) $(เด‡เตปเดชเตเดŸเตเดŸเต) > $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

# .k เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดš .c เดซเดฏเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เดชเตเดฐเดคเตเดฏเต‡เด• เดฌเดฟเตฝเดกเต เดจเดฟเดฏเดฎเด™เตเด™เตพ:
$(foreach:%.k=%.o) : $(foreach:%.c=%.k) : foreach *.k
$(CC) $(SPECIAL_CFLAGS) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต)

(เด‡เดคเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เด…เตฝเดชเตเดชเด‚ เด•เต‚เดŸเตเดคเตฝ เดธเด‚เด•เตเดทเดฟเดชเตเดคเดฎเดพเดฏ เดธเดฌเตเดธเตเดฑเตเดฑเดฟเดฑเตเดฑเตเดฏเต‚เดทเตป เดฑเดซเดฑเตปเดธเต เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต
"patsubst" เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ.)

เดจเดฟเด™เตเด™เตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต† ("CFLAGS") เดฎเต‚เดฒเตเดฏเด‚ เดฎเดพเดฑเตเดฑเตเด• เดŽเดจเตเดจเดคเดพเดฃเต.
เด•เต‡เดธเต) เดŸเดพเตผเด—เต†เดฑเตเดฑเต-เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดšเดฟเดฒเดชเตเดชเต‹เตพ เด•เต‚เดŸเตเดคเตฝ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต.

เดฒเต†เด—เดธเดฟ เดธเดซเดฟเด•เตเดธเต เดจเดฟเดฏเดฎเด™เตเด™เตพ
เดฌเดพเด•เตเด•เตโ€Œเดตเต‡เตผเดกเต เด•เต‹เด‚เดชเดพเดฑเตเดฑเดฟเดฌเดฟเดณเดฟเดฑเตเดฑเดฟเด•เตเด•เต, เดชเดดเดฏ เดฐเต€เดคเดฟเดฏเดฟเดฒเตเดณเตเดณ เดธเดซเดฟเด•เตเดธเต เดจเดฟเดฏเดฎเด™เตเด™เดณเต† makepp เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต.

.suffix1.suffix2:
เด“เดนเดฐเดฟ

เดŽเดจเตเดจเดคเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฃเต

%.suffix2: %.suffix1
เด“เดนเดฐเดฟ

เดŽเดจเตเดจเดพเตฝ เด“เตผเด•เตเด•เดพเตป เดตเดณเดฐเต† เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเดฃเต. (เดเดคเต เดชเตเดฐเดคเตเดฏเดฏเดฎเดพเดฃเต เด†เดฆเตเดฏเด‚ เดตเดฐเตเดจเตเดจเดคเต?) เดธเดพเดงเดพเดฐเดฃ, เด’เดฐเต เดจเดฟเดฏเดฎเด‚ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเด‚
เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เดฒเต†เด—เดธเดฟ เดฎเต‡เด•เตเด•เตเดซเดฏเดฒเดฟเตฝ:

.co:
$(CC) $(CFLAGS) -c $*.c -o $*.o

เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดคเตเดฒเตเดฏเดฎเดพเดฃเต

%.o : %.c
$(CC) $(CFLAGS) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

เดธเด‚เด˜เดŸเตเดŸเดจเด‚ เดจเดฟเดฏเดฎเด™เตเด™เตพ
เด’เดฐเต เดซเดฏเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดฎเดพเตผเด—เด™เตเด™เดณเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, makepp เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดจเดŸเดชเดŸเดฟเด•เตเดฐเดฎเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
เดเดคเต เดจเดฟเดฏเดฎเดฎเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต†เดจเตเดจเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเด•.

ยท เด’เดฐเต เดซเดฏเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดชเดฐเดธเตเดชเดฐเดตเดฟเดฐเตเดฆเตเดงเดฎเดพเดฏ เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดจเดฟเดฏเดฎเด™เตเด™เตพ เด‰เดณเตเดณเดคเต เด’เดฐเต เดชเดฟเดถเด•เดพเดฃเต.

ยท เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด™เตเด™เดณเตเด‚ เดตเตˆเตฝเดกเตเด•เดพเตผเดกเตเด•เดณเตเดณเตเดณ เดซเต‹เตผเดšเตเดšเต เดจเดฟเดฏเดฎเด™เตเด™เดณเตเด‚ เด’เดฐเดฟเด•เตเด•เดฒเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดจเดฟเดฏเดฎเด™เตเด™เดณเต† เดฎเดฑเดฟเด•เดŸเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด…เด™เตเด™เดจเต†
เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เด’เดดเดฟเดตเดพเด•เตเด•เดฒเตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดจเดฟเดฏเดฎเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต. (เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เด’เดฐเต ":foreach" เด•เตเดฒเต‹เดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด’เดฐเต เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเดฎเดพเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด…เดคเดฟเดจเต เด’เดฐเต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚
เดตเตˆเตฝเดกเตเด•เดพเตผเดกเต ("*" เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "?" เดชเต‹เดฒเต†) ":foreach" เด•เตเดฒเต‹เดธเดฟเดฒเต† เดซเดฏเตฝเดจเดพเดฎเดคเตเดคเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฏเดฟ. เด…เด™เตเด™เดจเต† เดŽเด™เตเด•เดฟเตฝ
เดซเดฏเดฒเตเด•เดณเตเดŸเต† เด’เดฐเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดฒเดฟเดธเตเดฑเตเดฑเต, เด…เดต เด“เดฐเต‹เดจเตเดจเดฟเดจเตเด‚ เด’เดฐเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดจเดฟเดฏเดฎเดฎเดพเดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต
เดซเดฏเดฒเตเด•เตพ.)

ยท เดชเดฐเดธเตเดชเดฐเดตเดฟเดฐเตเดฆเตเดงเดฎเดพเดฏ เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดตเตเดฏเดคเตเดฏเดธเตเดค เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดฐเตเดฎเตเดชเต‹เตพ, "เดธเดฎเต€เดชเด‚" เดŽเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดจเดฟเดฏเดฎเด™เตเด™เตพ
เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเตเด•เตพ "เดฆเต‚เดฐเต†" เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดจเดฟเดฏเดฎเด™เตเด™เดณเต† เดฎเดฑเดฟเด•เดŸเด•เตเด•เตเดจเตเดจเต. "เดธเดฎเต€เดชเด‚" เดŽเดจเตเดจเดพเตฝ เดฎเต‡เด•เตเด•เต เดซเดฏเตฝ เดŽเดจเตเดจเดพเดฃเต
เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดถเตเดฐเต‡เดฃเดฟเดฏเดฟเดฒเต† เดฒเด•เตเดทเตเดฏเดคเตเดคเต‹เดŸเต เด…เดŸเตเดคเตเดคเต เดธเตเดฅเดฟเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเต (เด…เดคเดพเดฏเดคเต, เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต
เดฎเต†เดฏเตเด•เตเด•เต เดซเดฏเตฝ เดฑเตบ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดฒเด•เตเดทเตเดฏเด‚ เดšเต†เดฑเตเดคเดพเดฃเต). เด‡เดคเต เดŽเด™เตเด•เดฟเตฝ
เดฎเต‡เด•เตเด•เตโ€Œเดซเตˆเดฒเตเด•เดณเต† เดตเต‡เตผเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดชเดฟเดจเตเดจเต† เดฒเต‹เดกเตเดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฑเต‚เตพ
เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏเดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดŽเดฒเตเดฒเดพ เดซเดฏเดฒเตเด•เตพเด•เตเด•เตเด‚ เดฌเดพเดงเด•เดฎเดพเดฏ เด’เดฐเต เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดพเดฃเต
เดฎเตเดดเตเดตเตป เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดŸเตเดฐเต€เดฏเตเด‚ เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดฎเต‡เด•เตเด•เตโ€Œเดซเดฏเดฒเดฟเตฝ เดฎเดพเดคเตเดฐเด‚, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เด…เดธเดพเดงเตเดตเดพเด•เตเด•เดพเดจเดพเด•เตเด‚
เด’เดฐเต เดคเดพเดดเตเดจเตเดจ เดจเดฟเดฒเดฏเดฟเดฒเตเดณเตเดณ เดฎเต‡เด•เตเด•เต เดซเดฏเตฝ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เดณเตเดŸเต† เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดฎเต‡เด•เตเด•เต เดซเดฏเดฒเดฟเตฝ เด‡เดต เด‰เตพเดชเตเดชเต†เดŸเดพเด‚:

%.o : %.c : foreach **/*.c
$(CC) $(CFLAGS) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

เด‰เดชเดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เดณเดฟเดฒเตŠเดจเตเดจเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดฎเต‡เด•เตเด•เตโ€Œเดซเตˆเตฝ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚:

%.o : %.c
$(CC) $(SPECIAL_CFLAGS) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต)

ยท เด…เดจเตเดฎเดพเดจเดคเตเดคเดฟเดจเตเดฑเต† เดšเต†เดฑเดฟเดฏ เดถเตƒเด‚เด–เดฒเดฏเตเดณเตเดณ เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดฎเดฑเตเดฑเต เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เดณเต‡เด•เตเด•เดพเตพ เดฎเตเตปเด—เดฃเดจ เดจเตฝเด•เตเดจเตเดจเต
เดจเดฟเดฏเดฎเด™เตเด™เตพ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดจเดฟเดฏเดฎเด™เตเด™เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ (เด‡เดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ
เดฒเดฟเดจเด•เตเดธเต เด•เต‡เตผเดฃเตฝ):

%.s: %.c
$(CC) -s $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

%.o: %.s
$(AS) $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

%.o: %.c
$(CC) -c $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

เดจเดฎเตเด•เตเด•เต "xyz.o" เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เด’เดจเตเดจเตเด•เดฟเตฝ เดจเดฎเตเด•เตเด•เต เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต ".s" เดซเดฏเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚.
เด†เดฆเตเดฏเดคเตเดคเต† เดฐเดฃเตเดŸเต เดจเดฟเดฏเดฎเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดธเด‚เดฌเตเดฒเดฑเดฟเดฒเต‚เดŸเต† เด…เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฎเตเด•เตเด•เต เดจเต‡เดฐเดฟเดŸเตเดŸเต a เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเด‚
เด…เดตเดธเดพเดจ เดจเดฟเดฏเดฎเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต ".o" เดซเดฏเตฝ. เด•เตเดฑเดตเตเดณเตเดณเดคเดฟเดจเดพเตฝ เด…เดตเดธเดพเดจ เดจเดฟเดฏเดฎเด‚ เดฎเตเตปเด—เดฃเดจ เดจเตฝเด•เตเดจเตเดจเต
เด…เดจเตเดฎเดพเดจ เดถเตƒเด‚เด–เดฒเดฏเดฟเดฒเต† เด˜เดŸเตเดŸเด™เตเด™เตพ (เดฐเดฃเตเดŸเดฟเดจเต เดชเด•เดฐเด‚ เด’เดจเตเดจเต).

ยท เดชเดฟเดจเตเดจเต€เดŸเต เด’เดฐเต เดฎเต‡เด•เตเด•เตโ€Œเดซเตˆเตฝ เด“เดตเตผเดฑเตˆเดกเต เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด™เตเด™เดณเดฟเตฝ เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดจเต‡เดฐเดคเตเดคเต†เดฏเตเดณเตเดณเดคเดพเดฃเต. (เด‡เดคเต
GNU-เตฝ เดจเดฟเดจเตเดจเต เดชเดฟเดจเตเดจเต‹เดŸเตเดŸเต.) เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เดจเดฟเด™เตเด™เตพ เด•เต‚เดŸเตเดคเตฝ เดชเตŠเดคเตเดตเดพเดฏ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดจเตฝเด•เดฃเด‚ เดŽเดจเตเดจเดพเดฃเต
เดจเต‡เดฐเดคเตเดคเต†, เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เต‚เดŸเตเดคเตฝ เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดชเดฟเดจเตเดจเต€เดŸเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต,

%.o: %.c # เดชเตŠเดคเต เดธเดฎเดพเดนเดพเดฐ เดจเดฟเดฏเดฎเด‚.
เดจเดŸเดชเดŸเดฟ

special_%.o: special_%.c # a เด‰เดณเตเดณ เดซเดฏเดฒเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเตเดฐเดคเตเดฏเต‡เด• เดจเดฟเดฏเดฎเด‚
เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ # "เดธเตเดชเต†เดทเตเดฏเตฝ_" เดชเตเดฐเดฟเดซเดฟเด•เตเดธเต.

เดšเดŸเตเดŸเด‚ เด“เดชเตเดทเดจเตเด•เตพ
เดฎเต‡เด•เตเด•เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต เดŽเดจเตเดจเต เดชเดฐเดฟเดทเตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดšเดฟเดฒเดชเตเดชเต‹เตพ เด…เดงเดฟเด• เด“เดชเตเดทเดจเตเด•เตพ เดจเตฝเด•เต‡เดฃเตเดŸเดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต
เดญเดฐเดฃเด‚. เดˆ เด“เดชเตโ€Œเดทเดจเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดตเดฐเดฟเดฏเดฟเตฝ ":optionname value" เดŽเดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เตพ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดŸเตเดคเตเดค เดตเดฐเดฟเดฏเดฟเตฝ.

เดตเต†เดตเตเดตเต‡เดฑเต† เดฒเตˆเดจเตเด•เดณเดฟเตฝ เด“เดชเตโ€Œเดทเดจเตเด•เตพ เดจเตฝเด•เตเดจเตเดจเดคเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เดคเดจเตเดจเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เดฟเดฏเต‡เด•เตเด•เดพเด‚
เดฎเต‡เด•เตเด•เดชเตเดชเตเด‚ เดชเดฐเดฎเตเดชเดฐเดพเด—เดค เดจเดฟเตผเดฎเตเดฎเดพเดฃเดตเตเด‚ เด‰เดณเตเดณ makefile. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต,

เดฒเด•เตเดทเตเดฏเด‚: เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚
: เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดจเตเดฏเต‚เดตเตผ
เด“เดนเดฐเดฟ

เด’เดฐเต เดชเดฐเดฎเตเดชเดฐเดพเด—เดค Unix เดจเดฟเตผเดฎเตเดฎเดพเดฃเด‚ เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚, เด•เดพเดฐเดฃเด‚ เด…เดคเต ": เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ" เดฒเตˆเตป เดตเตเดฏเดพเด–เตเดฏเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต
เด’เดฐเต เดทเต†เตฝ เด•เดฎเดพเตปเดกเต เดชเต‹เดฒเต†, เด•เต‹เดณเดจเดฟเตฝ เดคเตเดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เด•เดฎเดพเตปเดกเต เด’เดจเตเดจเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ.

:build_cache /เดชเดพเดคเตเดคเต/เดŸเต/เดฌเดฟเตฝเดกเต/เด•เดพเดทเต†
เดฒเด•เตเดทเตเดฏเด‚: เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚
: build_cache /put/cache/files/over/there
เด“เดนเดฐเดฟ

เดˆ เดจเดฟเดฏเดฎเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจ เดซเดฏเดฒเตเด•เตพเด•เตเด•เดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‡เดฃเตเดŸ เด’เดฐเต เดฌเดฟเตฝเดกเต เด•เดพเดทเต†เดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดพเดค เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต. เดˆ
"build_cache" เดชเตเดฐเดธเตเดคเดพเดตเดจเดฏเตเดŸเต†เดฏเต‹ "--build-cache" เด•เดฎเดพเตปเดกเดฟเดจเตเดฑเต†เดฏเต‹ เดชเตเดฐเดญเดพเดตเด‚ เด…เดธเดพเดงเตเดตเดพเด•เตเด•เตเดจเตเดจเต
เดฒเตˆเตป เด“เดชเตเดทเตป, เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดˆ เดจเดฟเดฏเดฎเดคเตเดคเดฟเดจเต. เดจเดฟเตผเดฎเตเดฎเดพเดฃเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพเด•เตเด•เต makepp_build_cache เด•เดพเดฃเตเด•
เด•เดพเดทเต†เด•เตพ.

เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดชเดพเดคเตเดคเดฟเดจเต เดชเด•เดฐเด‚ "เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ" เดŽเดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‡เดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เดฌเดฟเตฝเดกเต เด•เดพเดทเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต
เดชเตเดฐเดคเตเดฏเต‡เด• เดจเดฟเดฏเดฎเด‚. เดจเดฟเด™เตเด™เดณเตเดŸเต‡เดคเดพเดฏ เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดกเดฟเดธเตเด•เต เดธเตเดฅเดฒเด‚ เดชเดพเดดเดพเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เด‡เดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเด•เตเด‚
เด…เดฑเดฟเดฏเตเด• เด•เดพเดทเต† เดšเต†เดฏเตเดฏเดพเตป เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดฒเตเดฒ, เด’เดจเตเดจเตเด•เดฟเตฝ เด…เดต เด’เดฐเดฟเด•เตเด•เดฒเตเด‚ เด‰เดฃเตเดŸเดพเด•เดฟเดฒเตเดฒเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดฑเดชเตเดชเตเดฃเตเดŸเต
เดตเต€เดฃเตเดŸเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดคเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดต เดตเดณเดฐเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเดคเดฟเดจเดพเตฝ เด…เดต เด•เดพเดทเต† เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดฎเต‚เดฒเตเดฏเดตเดคเตเดคเดฒเตเดฒ.

:เดฌเดฟเตฝเดกเต_เดšเต†เด•เตเด•เต เดฌเดฟเตฝเดกเต_เดšเต†เด•เตเด•เต_เดฐเต€เดคเดฟ
เดฒเด•เตเดทเตเดฏเด‚: เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚
: build_check target_new
เด“เดนเดฐเดฟ

เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เตพ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เดพเตป เดŽเดจเตเดคเต เด…เตฝเด—เต‹เดฐเดฟเดคเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฃเดฎเต†เดจเตเดจเต เด‡เดคเต makepp-เดจเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต.
เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพเด•เตเด•เต makepp_build_check เด•เดพเดฃเตเด•. เด‡เดคเต เดซเดฒเดคเตเดคเต† เดฎเดฑเดฟเด•เดŸเด•เตเด•เตเดจเตเดจเต
"build_check" เดชเตเดฐเดธเตเดคเดพเดตเดจ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "--build-check-method" เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เด“เดชเตเดทเตป, เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ,
เดˆ เดจเดฟเดฏเดฎเด‚.

:env เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ ...
เดชเต‡เดฐเดฟเดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเดฟเตฝ เด’เดฐเต เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚ เดšเต‡เตผเด•เตเด•เตเด•. เด…เดตเดฏเดฟเดฒเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ
เดฎเตเดฎเตเดชเดคเตเดคเต† เดจเดฟเตผเดฎเตเดฎเดพเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต, เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เตพ เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต, เดŽเด™เตเด•เดฟเตฝ
build_check เดฐเต€เดคเดฟ เด…เด™เตเด™เดจเต† เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเต. (เด‡เดคเต เด’เดดเดฟเด•เต†เดฏเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดฌเดฟเตฝเดกเต เดšเต†เด•เตเด•เต เดฐเต€เดคเดฟเด•เดณเตเด‚
เดฒเด•เตเดทเตเดฏเด‚_เดชเตเดคเดฟเดฏ เดฌเดนเตเดฎเดพเดจเด‚.)

VARIABLE เดŽเดจเตเดจเดคเต "PATH_VARIABLE-เดฒเต† เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต" (เด‰เดฆเตเดงเดฐเดฃเดฟเด•เดณเดฟเตฝ) เดŽเดจเตเดจ เดฐเต‚เดชเดคเตเดคเดฟเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚, เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ
เด•เต‹เดณเดจเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด†เดฆเตเดฏ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดกเดฟเดฒเดฟเดฎเดฟเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดคเดพเตฝ เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เตพ เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเด‚
เดซเดฏเตฝเดจเดพเดฎเด‚ เดจเดฟเดฒเดตเดฟเดฒเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ PATH_VARIABLE เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เด•เดดเดฟเดžเตเดž เดฌเดฟเตฝเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต.
PATH_VARIABLE เดฎเดพเดฑเตเดฎเตเดชเต‹เตพ เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เตพ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเต เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚
เด…เดชเตเดฐเดธเด•เตเดคเดฎเดพเดฏ เดตเดดเดฟ.

:เด…เดฏเดฏเตเด•เตเด•เตเด• เด•เดฎเดพเตปเดกเต ...
เด’เดฐเต "sh -c '...'"-เตฝ เด“เดฐเต‹ เดทเต†เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเดตเตเด‚ (เดชเด•เตเดทเต‡ เดชเต‡เตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเต‹ เดชเต‡เตพ เด•เดฎเดพเตปเดกเตเด•เดณเต‹ เด…เดฒเตเดฒ) เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•
เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดฟเดซเดฟเด•เตเดธเต เดšเต†เดฏเตเดฏเตเด•, เดชเด•เตเดทเต‡ เดฒเด•เตเดทเตเดฏเด‚ เด•เดฎเดพเตปเดกเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เดจเตเดจเต เด•เดฐเตเดคเตเด•.
เด’เดฐเต เดœเต‹เดฒเดฟ เด•เตเดฏเต‚เดฏเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด…เดฏเดฏเตโ€Œเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ เด‡เดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต, เดชเด•เตเดทเต‡ เดซเดฒเด‚
เด•เตเดฏเต‚เดฏเดฟเด‚เด—เต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เด•เตเดฏเต‚เดฏเดฟเด‚เด—เต เด†เดฃเต‹ เดŽเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดฃเต†เดจเตเดจเต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต
เดธเดฟเดธเตเดฑเตเดฑเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

:เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต file_or_pattern
เด•เด‚เดชเตˆเดฒเดฑเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเต เดจเดฟเดฏเดฎเด‚ เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเตเดจเตเดจเต:

%.o : %.c
: %.d เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต: เด’เดชเตเดชเต เดธเดฟ
gcc -MD -c ...

%.o : %.c
: เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด• %.u : เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ C # IBM เดฎเดฑเตเดฑเตŠเดฐเต เดชเตเดฐเดคเตเดฏเดฏเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
xlc -M -c...

subdependentify { # เดฎเตˆเด•เตเดฐเต‹เดธเต‹เดซเตเดฑเตเดฑเดฟเดจเตเดฑเต† เดธเด‚เดญเดพเดทเดฃเด‚ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเด•
s/\$/\$\$/g;
s/(เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•: เดซเดฏเตฝ เด‰เตพเดชเตเดชเต†เดŸเต†: *)?(.+?)\r?\n/$1 ? "'$2' " : "'".f_output()."': "/e;
}
%.o : %.c
: %.d เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต: เด’เดชเตเดชเต เดธเดฟ
cl -showIncludes -c ... >$(stem).d
&sed &dependify -o +<$(stem).d

เดšเดฟเดฒ เด•เด‚เดชเตˆเดฒเดฑเตเด•เตพเด•เตเด•เต (เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ gcc เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด‡เดจเตเดฑเดฒเดฟเดจเตเดฑเต† icc เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ IBM-เดจเตเดฑเต† xlc) เดกเดฟเดชเตปเดกเตปเดธเดฟ เด‰เดฃเตเดŸเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚
เดˆเดšเตเดšเดฏเดฟเตฝ เดซเดฏเดฒเตเด•เตพ. เด…เดคเดพเดฏเดคเต, เด…เดตเตผ เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, makepp-เดจเต เด•เดดเดฟเดฏเตเดจเตเดจ เด’เดฐเต เดฎเต‡เด•เตเด•เต เดซเดฏเตฝ เดŽเดดเตเดคเตเดจเตเดจเต
เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. เดฎเต‡เด•เตเด•เดชเตเดชเดฟเดจเตเดฑเต† เดธเตเด•เดพเดจเดฑเดฟเดจเต‡เด•เตเด•เดพเตพ เดชเตเดฐเดฏเต‹เดœเดจเด‚ เด…เดคเต 100% เด‰เดฑเดชเตเดชเตเดจเตฝเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดพเดฃเต
เดถเดฐเดฟเดฏเดพเดฃเต, เดจเดฎเตเด•เตเด•เต เด…เดŸเตเดคเตเดคเต เดฎเดพเดคเตเดฐเดฎเต‡ เดตเดฐเดพเตป เด•เดดเดฟเดฏเต‚.

เดˆ เดเดšเตเด›เดฟเด•เด‚ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฐเต€เดคเดฟเดฏเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต: เดซเดฏเตฝ เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเดพเดฏเดคเต
เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ 1st เดฌเดฟเตฝเดกเดฟเตฝ, เดธเดพเดงเดพเดฐเดฃ เดธเตเด•เดพเดจเดฟเด‚เด—เต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เดซเดฏเตฝ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด‡เดฒเตเดฒ
เดธเตเด•เดพเดจเดฟเด‚เด—เต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต (เด…เดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดžเด™เตเด™เตพ เดฎเตเด•เดณเดฟเตฝ เด’เดฐเต เดธเตเดฎเดพเตผเดŸเตเดŸเต เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต -- เดธเตเด•เดพเดจเดฟเด‚เด—เต เดซเดพเตพเดธเต เด…เดฒเตเดฒ
เดŸเตˆเด‚เดธเตเดฑเตเดฑเดพเดฎเตเดชเดฟเดจเตเดฑเต†เดฏเตเด‚ เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เดกเด‚ เดกเดฟเดซเต‹เตพเดŸเตเดŸเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•). เดชเด•เดฐเด‚ เด…เดคเดฟเตฝ เดฎเตเดฎเตเดชเตเดณเตเดณ เดซเดฏเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต
เดญเดฐเดฃเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต. เดจเดฟเดฏเดฎเด‚ เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏ เดถเต‡เดทเด‚, เด…เดคเต เดŽเดจเตเดคเตเด‚ เดฎเดฑเด•เตเด•เตเดจเตเดจเต
เดซเดฏเตฝ เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸเดคเดพเด•เดพเดฎเต†เดจเตเดจเดคเดฟเดจเดพเตฝ, เด†เดฆเตเดฏเดฎเดพเดฏเดฟ เดตเดพเดฏเดฟเดšเตเดšเต. เดชเด•เดฐเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต
เดซเดฏเตฝ เดตเต€เดฃเตเดŸเตเด‚, เด…เดคเต เดฎเดพเดฑเดฟเดฏเต†เด™เตเด•เดฟเตฝ, เด•เดพเดฒเดฟเด•เดฎเดพเดฏ เดฌเดฟเตฝเดกเต เดตเดฟเดตเดฐเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ.

เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต: เด‡เดคเต เด…เดจเตเดคเตผเดฒเต€เดจเดฎเดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดฒเตเดฒ. เดกเดฟเดชเตปเดกเตปเดธเดฟ เดซเดฏเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเต เดตเดณเดฐเต† เด†เดฃเต
เด…เดคเต เด’เดฐเต เด†เดถเตเดฐเดฟเดคเดคเตเดตเดฎเดพเดฃเต. เดฎเดฑเตเดตเดถเดคเตเดคเต, เด•เด‚เดชเตˆเดฒเดฑเดฟเดจเต เดŽเดฒเตเดฒเดพ เด•เดพเดฐเตเดฏเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เด…เดฑเดฟเดฏเดพเด‚
เดฎเต‡เด•เตเด•เดชเตเดชเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด…เดตเด—เดฃเดฟเด•เตเด•เตเดจเตเดจ เด†เดจเตเดคเดฐเดฟเด• เด‰เดช-เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. เด‡เดคเตŠเดฐเต เดตเดฟเดถเตเดตเดพเดธเตเดฏเดคเดฏเดพเดฃเต
เด’เดฐเต เด•เด‚เดชเตˆเดฒเตผ เดชเดพเดšเตเดšเต เด‰เดช-เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเดต เดฎเดพเดคเตเดฐเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เดชเตเดฐเดฏเต‹เดœเดจเด‚. เดฆเดฟ
เดฎเต‡เด•เตเด•เดชเตเดชเต เด•เต‚เดŸเตเดคเตฝ เดซเดฏเดฒเตเด•เตพ เดจเต‹เด•เตเด•เตเดจเตเดจเดคเต เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเดฟเดจเต เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด‚.

เดจเดฟเด™เตเด™เตพ เด’เดฐเต "#เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•" เดชเตเดฐเดธเตเดคเดพเดตเดจ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด’เดฐเต เด•เตเดฏเดพเดšเตเดšเต เด‰เดฃเตเดŸเต เด’เดชเตเดชเด‚ เด…เดจเตเดฌเดจเตเดง เดซเดฏเตฝ:
เดกเดฟเดชเตปเดกเตปเดธเดฟ เดซเดฏเดฒเดฟเตฝ, เด•เดดเดฟเดžเตเดž เดคเดตเดฃ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเดคเต เดฎเตเดคเตฝ เด…เดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚
เด†เดตเดถเตเดฏเดฎเตเดฃเตเดŸเต. เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดกเดฟเดชเตปเดกเตปเดธเดฟ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เดกเดฟเดชเตปเดกเตปเดธเดฟ เดซเดฏเตฝ เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดฃเด‚
เด‡เดจเดฟ เดจเดฟเดตเตƒเดคเตเดคเดฟเดฏเดฟเดฒเตเดฒเดพเดคเตเดคเดคเต.

เด’เดฐเต เดฌเดฟเตฝเดกเต เด•เดพเดทเต† เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดˆ เดธเดตเดฟเดถเต‡เดทเดค เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เด…เดตเดฟเดŸเต† เดจเดฟเดจเตเดจเต เด’เดฐเต เดซเดฏเตฝ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต
เดซเดฏเดฒเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเต เดŽเดฒเตเดฒเดพเด‚ เด…เดฑเดฟเดžเตเดžเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดŽเดจเตเดจเดพเตฝ เด’เดฐเต เดกเดฟเดชเตปเดกเตปเดธเดฟ เดซเดฏเตฝ เด…เดตเดฏเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
files makepp เด…เดคเต เดตเดพเดฏเดฟเดšเตเดšเดพเดฃเต เดชเด เดฟเด•เตเด•เตเดจเตเดจเดคเต. เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดตเตƒเดคเตเดคเดพเด•เตƒเดคเดฟเดฏเดฟเดฒเตเดณเตเดณ เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚ เดธเดพเดงเดพเดฐเดฃเดฎเดฒเตเดฒ
เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดฌเดฟเตฝเดกเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เดธเดพเดงเตเดฏเดฎเดพเดฃเต. เด‡เดคเต เด’เดฐเต เด…เดชเดตเดพเดฆเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เดชเตเดจเตผเดจเดฟเตผเดฎเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚
เด’เดฐเต เดกเดฟเดชเตปเดกเตปเดธเดฟ เดซเดฏเตฝ เดตเต€เดฃเตเดŸเตเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดŽเดฒเตเดฒเดพเด‚ เดถเดฐเดฟเดฏเดพเด•เตเด‚.

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, makepp เตฝ เดจเดฟเดจเตเดจเต เดกเดฟเดชเตปเดกเตปเดธเดฟ เดซเดฏเตฝ เดŽเดŸเตเด•เตเด•เตเด‚
เด’เดจเตเดจเต เด…เดŸเด™เตเด™เตเดจเตเดจ 1st เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ. เด‡เดคเต เดฎเดฑเตเดฑเต เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต, เด‡เดตเดฟเดŸเต† เด‡เดคเต 1st เดŽเดŸเตเด•เตเด•เตเด‚
เดชเตเดฐเดคเต€เด•เตเดทเดฟเดšเตเดš เด’เดชเตเดชเดฟเดจเตŠเดชเตเดชเด‚. เด•เดพเดทเต†เด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เด‡เดคเต เดฎเดฟเด•เดšเตเดšเดคเดพเดฃเต, เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เด…เดญเดพเดตเด‚
เด’เดชเตเดชเต, เดซเดฏเตฝ เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เดชเต‹เดฒเตเด‚ เด•เดดเดฟเดฏเดฟเดฒเตเดฒ.

:เด…เดตเดธเดพเดจเดคเตเดคเต† เด…เดตเดธเดฐเด‚
เดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เด“เดชเตเดชเตบ-เดŽเตปเดกเต เดฑเต‚เตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเด•

%.foo foo%.bar: :last_chance
&เดŽเด•เตเด•เต‹ $@ -o $@
&cp $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเตเด•เตพ)

เด•เดพเดฐเดฃเด‚ เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เดฑเต‚เตพ เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดฟ เด…เดจเดจเตเดคเดฎเดพเดฏ เดฒเด•เตเดทเตเดฏเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚,
เดˆ เดจเดฟเดฏเดฎเดคเตเดคเดฟเดจเตเดฑเต† เดฒเด•เตเดทเตเดฏเด‚ $(เดตเตˆเตฝเดกเตเด•เดพเตผเดกเต) เดซเด‚เด—เตเดทเดจเตเดฎเดพเดฏเต‹ เดชเดพเดฑเตเดฑเต‡เตบ เดจเดฟเดฏเดฎเดตเตเดฎเดพเดฏเต‹ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ
เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดชเตเดฐเดคเตเดฏเต‡เด•เดฎเดพเดฏเดฟ เดชเดฐเดพเดฎเตผเดถเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต เดฎเดฑเตเดฑเต†เดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดจเดฟเดฏเดฎเด‚ เด‡เดคเดฟเดจเด•เด‚ เดธเตเดฅเดพเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต.
เด•เต‚เดŸเดพเดคเต†, "--rm-stale" เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดฎเตเดฎเตเดชเดคเตเดคเต‡เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดŸเดพเตผเด—เต†เดฑเตเดฑเต เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเต
เดฒเดพเดธเตเดฑเตเดฑเต_เดšเดพเตปเดธเต เดฑเต‚เตพ เดตเดดเดฟเดฏเดพเดฃเต เด‡เดคเต เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดเด• เดฎเดพเตผเด—เด‚ เดŽเด™เตเด•เดฟเตฝ makepp เดฑเตบ เดชเดดเดฏเดคเดพเดฏเดฟ เด•เดพเดฃเดชเตเดชเต†เดŸเตเด‚
เดŸเดพเตผเด—เต†เดฑเตเดฑเดฟเดจเดพเดฏเดฟ เด‡เดคเตเดตเดฐเต†เดฏเตเด‚ เด‡เดคเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เด‡เดคเต เด…เดญเดฟเด•เดพเดฎเตเดฏเดฎเดพเดฏ เดชเต†เดฐเตเดฎเดพเดฑเตเดฑเดฎเดพเดฃเต
เด’เดฐเต เดตเตˆเตฝเดกเตเด•เดพเตผเดกเดฟเดจเต† เดคเต†เดฑเตเดฑเดพเดฏเดฟ เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดฌเดฟเตฝเดกเต เด•เต‚เดŸเตเดคเตฝ เดธเตเดฅเดฟเดฐเดฎเดพเดฏเดฟ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเด‚
เดฎเตเดฎเตเดชเดคเตเดคเต† เดฑเดฃเตเดฃเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเดคเตเดธเดฐ เดฒเด•เตเดทเตเดฏเด™เตเด™เตพ.

":last_chance" เดŽเดจเตเดจ เด“เดชเตโ€Œเดทเตป เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดคเตเดฏเต‡เด• เดธเตเดตเดญเดพเดตเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดถเตเดฐเดฆเตเดง เด•เตเดทเดฃเดฟเด•เตเด•เดพเตป เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดšเตเดณเตเดณเดคเดพเดฃเต
เดตเตˆเตฝเดกเตเด•เดพเตผเดกเตเด•เตพ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเต เดญเดฐเดฃเด‚.

: เดชเดพเตผเดธเตผ เดชเดพเดดเตโ€Œเดธเตผ
เดซเดฏเดฒเตเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ (เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•) เด•เดฎเดพเตปเดกเต เดŽเด™เตเด™เดจเต† เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเดพเดฎเต†เดจเตเดจเต เด‡เดคเต makepp-เดจเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต. เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ,
เด•เดฎเดพเตปเดกเดฟเดฒเต† เดตเดพเด•เตเด•เตเด•เดณเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เด‡เดคเต เดŽเด™เตเด™เดจเต† เดšเต†เดฏเตเดฏเดพเดฎเต†เดจเตเดจเต makepp เดŠเดนเดฟเด•เตเด•เตเดจเตเดจเต (เด•เดพเดฃเตเด•
เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ makepp_scanning). เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, makepp เดคเต†เดฑเตเดฑเดพเดฏเดฟ เดŠเดนเดฟเดšเตเดšเดพเตฝ, เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚
เดชเดพเตผเดธเดฑเดฟเดจเต† เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเด•, เด‡เดคเตเดชเต‹เดฒเต†:

%.o: %.abc
: เดชเดพเตผเดธเตผ c_compilation
เด‡เดตเดฟเดŸเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚

C/C++ เดจเต เดšเต†เดฏเตเดฏเตเดจเตเดจ เด…เดคเต‡ เดชเดพเดดเตโ€Œเดธเดฟเด‚เด—เตเด‚ เดธเตเด•เดพเดจเดฟเด‚เด—เตเด‚ เดฎเต‡เด•เตเด•เดชเตเดชเตเด‚ เดจเดฟเตผเดตเดนเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด‡เดคเต เด•เดพเดฐเดฃเดฎเดพเด•เตเดจเตเดจเต
เด’เดฐเต C เด•เด‚เดชเตˆเดฒเต‡เดทเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดžเตเดžเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเดฒเตเด‚, เด•เดฎเดพเตปเดกเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเด•.

เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดชเดพเดดเตเดธเตผ เด•เดฎเดพเตปเดกเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ เด’เดฐเต ": เดชเดพเตผเดธเตผ" เด“เดชเตเดทเตป เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ,
เด…เดชเตเดชเต‹เตพ เด“เดฐเต‹ เด•เดฎเดพเตปเดกเดฟเดจเตเดฑเต†เดฏเตเด‚ เด†เดฆเตเดฏ เดตเดพเด•เตเด•เต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เด’เดฐเต เด•เด‚เดชเตˆเดฒเดฟเดจเต‹ เดฒเดฟเด™เตเด•เดฟเดจเต‹ เดตเต‡เดฃเตเดŸเดฟ
เด•เดฎเดพเตปเดกเต, makepp "c_compilation" เดชเดพเดดเตเดธเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚; เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เดฎเดพเตปเดกเต เดชเต‹เดฒเต†เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ
GNU เดตเต‡เดฐเดฟเดฏเดจเตเดฑเต, "gcc_compilation". เดชเดพเตผเดธเดฑเตŠเดจเตเดจเตเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเต "เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ" เดชเดพเดดเตเดธเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดตเต‡เดฃเตเดŸเดฟ
เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดตเดจเตเดคเดฎเดพเดฏเดฟ เดชเดพเดดเตโ€Œเดธเตผ เดŽเดดเตเดคเดพเดจเต‹ เดฎเต‡เด•เตเด•เดชเตเดชเต เดฎเดพเดฑเตเดฑเดพเดจเต‹ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ
เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดชเดพเตผเดธเดฑเตเด•เตพ, makepp_scanning เด•เดพเดฃเตเด•.

เดฑเต‚เดณเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เด•เดฎเดพเตปเดกเดฟเดจเตเด‚ เด‡เดคเต เดฌเดพเดงเด•เดฎเดพเด•เตเดฎเต†เดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•, เด…เดคเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเต‡เดฃเตเดŸเดคเต เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ:

%.o: %.c : เดชเดพเตผเดธเตผ เดธเดฟ-เด•เด‚เดชเตˆเดฒเต‡เดทเตป
@echo 'เดฌเดฟเตฝเดกเดฟเด‚เด—เต $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)'
@funny_cc...

เด‡เดคเต "เดŽเด•เตเด•เต‹" เดฏเต† เด’เดฐเต เด•เด‚เดชเตˆเดฒเดฑเดพเดฏเดฟ เดตเตเดฏเดพเด–เตเดฏเดพเดจเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเดฟเดจเตเดฑเต† เดตเดพเดฆเดฎเดพเดฏ 'เดฌเดฟเตฝเดกเดฟเด‚เด—เต' เด•เตเดฑเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚
mymodule.o' เด’เดฐเต เดชเดฐเต‹เด•เตเดทเดฎเดพเดฏ เด†เดถเตเดฐเดฟเดคเดคเตเดตเดฎเดพเดฏเดฟ. เดŽเดจเตเดจ เดชเดฐเดพเดคเดฟเด•เตเด•เต เด‡เดคเต เดตเดดเดฟเดตเต†เด•เตเด•เตเด‚
เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดซเดฏเตฝ เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดฃเดฎเต†เดจเตเดจเต เด…เดฑเดฟเดฏเดฟเดฒเตเดฒ. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด•เต‚เดŸเตเดคเตฝ เดจเดจเตเดจเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚
"register_parser". เดŽเด™เตเด™เดจเต† เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เดตเดฟเดถเดฆเต€เด•เดฐเดฃเด‚ เด…เดตเดฟเดŸเต† เด•เดพเดฃเดพเด‚ เดชเดพเดดเตโ€Œเดธเตผ a เด†เดฏเดฟ เดจเตฝเด•เดพเด‚
เด•เตเดฒเดพเดธเต เดจเดพเดฎเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดซเด‚เด—เตโ€Œเดทเตป เดจเดพเดฎเดฎเดพเดฏเดฟ.

:เด•เดฏเตเดฏเต†เดพเดชเตเดชเต เด’เดชเตเดชเต_เดฐเต€เดคเดฟ
เดฒเด•เตเดทเตเดฏเด‚: เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚
: เด’เดชเตเดชเต md5
เด“เดนเดฐเดฟ

เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เตพ เดฎเดพเดฑเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป เดŽเดจเตเดคเต เด…เตฝเด—เต‹เดฐเดฟเดคเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฃเดฎเต†เดจเตเดจเต เด‡เดคเต makepp-เดจเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต.
เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดตเดฐเด™เตเด™เตพเด•เตเด•เต makepp_signatures เด•เดพเดฃเตเด•. เด•เต‚เดŸเต† เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ เดฐเต€เดคเดฟเด•เตพ
makepp เดตเดฟเดคเดฐเดฃเด‚ "เดชเตเดฒเต†เดฏเดฟเตป", "md5", "C" เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "c_compilation_md5" เดŽเดจเตเดจเดฟเดตเดฏเดพเดฃเต, เด•เต‚เดŸเดพเดคเต†
"เดชเด™เตเด•เดฟเดŸเตเดŸ_เดตเดธเตเดคเต". เด‡เดคเต "-m" เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ เดฐเต€เดคเดฟเดฏเต† เด…เดธเดพเดงเตเดตเดพเด•เตเด•เตเดจเตเดจเต
"--เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ-เดฎเต†เดคเตเดคเต‡เดกเต" เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เด“เดชเตเดทเดจเตเด•เตพ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ" เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตเดฎเต†เดจเตเดฑเต.

เดชเตเดฐเดคเตเดฏเต‡เด• เดชเตเดฐเดคเต€เด•เด™เตเด™เตพ
เดตเตปเด•เตเดŸเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเต เดชเต‹เดฒเตเดณเตเดณ เดชเตเดฐเดคเตเดฏเต‡เด• เดชเตเดฐเดคเต€เด•เด™เตเด™เดณเตเดณเตเดณ เดซเดฏเตฝ เดจเดพเดฎเด™เตเด™เดณเต† เดฎเต‡เด•เตเด•เดชเตเดชเดฟเดจเต เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.
เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, "b:thing" เดŽเดจเตเดจ เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต "a:thing" เดŽเดจเตเดจ เดชเต‡เดฐเดฟเตฝ เด’เดฐเต เดซเดฏเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เด•เดฐเตเดคเตเด•.
เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดˆ เดจเดฟเดฏเดฎเด‚ เดŽเดดเตเดคเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ:

a:thing : b:thing # เด‡เดคเตŠเดฐเต เดตเดพเด•เตเดฏเด˜เดŸเดจ เดชเดฟเดถเด•เดพเดฃเต
&เดชเต‚เดšเตเดš $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

เด•เดพเดฐเดฃเด‚, เด†เดถเตเดฐเดฟเดคเดคเตเดตเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เดณเต† เดตเต‡เตผเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด•เต‹เดณเดจเตเด•เตพ เดเดคเตŠเด•เตเด•เต†เดฏเดพเดฃเต†เดจเตเดจเตเด‚ เดฎเต‡เด•เตเด•เดชเตเดชเดฟเดจเต เด…เดฑเดฟเดฏเดฟเดฒเตเดฒ
เดซเดฏเดฒเตเด•เดณเตเดŸเต† เด’เดฐเต เดญเดพเด—เด‚. เดชเด•เดฐเด‚, เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด‰เดฆเตเดงเดฐเดฃเดฟเด•เดณเดฟเตฝ เดชเต‡เดฐเต เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•:

"a:thing" : "b:thing"
&เดชเต‚เดšเตเดš $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

เด‡เดชเตเดชเต‹เตพ เดญเดฐเดฃเด‚ เด…เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต.

เดฎเต‡เด•เตเด•เดชเตเดชเดฟเดจเตเดฑเต† เด‰เดฆเตเดงเดฐเดฃเดฟ เดตเดพเด•เตเดฏเด˜เดŸเดจ เดทเต†เดฒเตเดฒเดฟเดจเต‹เดŸเต เดธเดพเดฎเตเดฏเดฎเตเดณเตเดณเดคเดพเดฃเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฑเตเดฑเดคเตเดคเดตเดฃ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚
เด‡เดฐเดŸเตเดŸ เด‰เดฆเตเดงเดฐเดฃเดฟเด•เตพเด•เตเด•เต เดชเด•เดฐเด‚ เด‰เดฆเตเดงเดฐเดฃเดฟเด•เตพ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดฌเดพเด•เตเด•เตเดธเตเดฒเดพเดทเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดคเตเดฏเต‡เด• เดชเตเดฐเดคเต€เด•เด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดฐเด•เตเดทเดชเตเดชเต†เดŸเดพเด‚:

a\:thing : 'b: เด•เดพเดฐเตเดฏเด‚'
&เดชเต‚เดšเตเดš $(เด‡เตปเดชเตเดŸเตเดŸเต) -o $(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต "'"!;\$" เด†เดฃเต†เดจเตเดจเต เด•เดฐเตเดคเตเด•. เด‡เดชเตเดชเต‹เตพ เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดซเดฏเตฝเดจเดพเดฎเด‚ เดตเต‡เดฃเตเดŸเดคเต
เดŽเดจเดฟเด•เตเด•เดฑเดฟเดฏเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต makepp-เดฒเต‡เด•เตเด•เต (เดทเต†เดฒเตเดฒเตเด‚) เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดจเดฟเดฐเดตเดงเดฟ เดฎเดพเตผเด—เด™เตเด™เดณเตเดฃเตเดŸเต:

\''"!;\$$'
"'\"!;\\$$"

เดฎเต‡เด•เตเด•เดชเตเดชเต เดธเตเดŸเตเดฐเดฟเดชเตเดชเตเด•เตพ เดŽเดชเตเดชเต‹เตพ เด‰เดฆเตเดงเดฐเดฃเดฟเด•เตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเตเดตเต†เดจเตเดจเตเด‚ เดทเต†เตฝ เดŽเดชเตเดชเต‹เตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเตเดตเต†เดจเตเดจเตเด‚ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•. เดฎเต‡เด•เตเด•เดชเตเดชเต เดจเต‹เด•เตเด•เตเดจเตเดจเต
เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เด‰เดฆเตเดงเดฐเดฃเดฟเด•เตพ:

ยท เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† "ifeq" เด•เตเดŸเตเด‚เดฌเดคเตเดคเดฟเตฝ

เดฑเต‚เตพ เด•เต‹เดณเดฃเดฟเดจเต เดฎเตเดฎเตเดชเตเด‚ เดถเต‡เดทเดตเตเด‚

เด’เดฐเต makepp buildin เด•เดฎเดพเตปเดกเดฟเตฝ

ยท เดซเดฏเดฒเตเด•เดณเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เด’เดฐเต เดซเด‚เด—เตเดทเดจเดฟเตฝ

เดทเต†เดฒเตเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดฒเต‡เด•เตเด•เต เด‰เดฆเตเดงเดฐเดฃเดฟเด•เตพ เด…เดธเตˆเตป เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ makepp เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด…เด™เตเด™เดจเต†
เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดธเดฎเดพเดจเดฎเดพเดฃเต:

FILE = 'เดธเตเดชเต†เดฏเตเดธเต เด‰เดณเตเดณ เดชเต‡เดฐเต'
x := $(print $(FILE)) # เด‰เดฆเตเดงเดฐเดฃเดฟเด•เตพ เด‡เดชเตเดชเต‹เดดเตเด‚ เด‰เดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เดฎเดพเดคเตเดฐเด‚
$(FILE): makepp เดธเตเดŸเตเดฐเดฟเดชเตเดชเต เดšเต†เดฏเตเดค เด’เดฐเตŠเดฑเตเดฑ เดซเดฏเดฒเดฟเดจเต เดšเตเดฑเตเดฑเตเดฎเตเดณเตเดณ # เด‰เดฆเตเดงเดฐเดฃเดฟเด•เตพ
&echo hello -o$(FILE) # เด•เตเดตเต‹เดŸเตเดŸเตเด•เตพ เด’เดฑเตเดฑ เดซเดฏเดฒเดฟเดจเต เดšเตเดฑเตเดฑเตเด‚ makepp เดธเตเดŸเตเดฐเดฟเดชเตเดชเต เดšเต†เดฏเตเดคเต
เด…เดตเดฟเดŸเต† เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเด• >>$(FILE) # เดทเต†เตฝ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดค เด’เดฐเตŠเดฑเตเดฑ เดซเดฏเดฒเดฟเดจเต เดšเตเดฑเตเดฑเตเดฎเตเดณเตเดณ เด‰เดฆเตเดงเดฐเดฃเดฟเด•เตพ
'เดธเตเดชเต†เดฏเตเดธเต เด‰เดณเตเดณ เดชเต‡เดฐเต':
&เดŽเด•เตเด•เต‹ เดนเดฒเต‹ -เด“'เดจเต†เดฏเดฟเด‚ เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เตพ'
เด…เดตเดฟเดŸเต† เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟเด•เตเด•เตเด• >>'$(เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต)' # เด‰เดฆเตเดงเดฐเดฃเดฟเด•เตพ เดฎเตเด•เดณเดฟเตฝ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตโ€Œเดคเต, เด…เดต เดตเต€เดฃเตเดŸเตเด‚ เดšเต‡เตผเด•เตเด•เตเด•

"$" เตฝ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจ (เดทเต†เดฒเตเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ) เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดธเดฟเด‚เด—เดฟเดณเดฟเดจเตเดณเตเดณเดฟเตฝ เดชเต‹เดฒเตเด‚ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเตเดตเต†เดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เด‰เดฆเตเดงเดฐเดฃเดฟเด•เตพ. เด‰เดฆเตเดงเดฐเดฃเดฟเด•เดณเต‹ เดฌเดพเด•เตเด•เตโ€Œเดธเตเดฒเดพเดทเตเด•เดณเต‹ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดกเต‹เดณเตผ เดšเดฟเดนเตเดจเด™เตเด™เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เด…เด•เตเดทเดฐเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดฒเดญเดฟเด•เตเด•เดพเตป
เดกเต‹เดณเตผ เดšเดฟเดนเตเดจเด‚, เด‡เดฐเดŸเตเดŸ เดกเต‹เดณเตผ เดšเดฟเดนเตเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•, เด‰เดฆเดพ,

$(เดŽเดฒเตเดฒเดพเด‚ เดตเตเดฏเดพเดœเด‚):
@&echo เด‡เดคเตŠเดฐเต เดกเต‹เดณเตผ เดšเดฟเดนเตเดจเดฎเดพเดฃเต: $$
@ for abcd เตฝ; เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเด• $$val; เดšเต†เดฏเตเดคเต

เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ, เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเดคเตเดฏเต‡เด• เด•เดฅเดพเดชเดพเดคเตเดฐเดคเตเดคเต† เด‰เดฆเตเดงเดฐเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฃเด‚
เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดฐเดคเตเดคเดฟเตฝ. เด‡เดคเดฟเตฝ เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เตพ, เดจเดฟเดฏเดจเตเดคเตเดฐเดฃ เดชเตเดฐเดคเต€เด•เด™เตเด™เตพ เดฎเตเดคเดฒเดพเดฏเดต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดŽเดจเตเดจเดคเดฟเตฝ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เดจเดฟเดฒเดตเดฟเตฝ, makepp-เดจเตเดฑเต† เด•เดฎเดจเตเดฑเต เดธเตเดŸเตเดฐเดฟเดชเตเดชเดฟเด‚เด—เต เด•เตเดฑเดšเตเดšเต เดฒเดณเดฟเดคเดฎเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ "#" เดชเตเดฐเดคเต€เด•เด™เตเด™เดณเตเด‚
เดตเตˆเดฑเตเดฑเตโ€Œเดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดจเต เดฎเตเดฎเตเดชเตเดณเตเดณเดคเต เด…เดต เดŽเด™เตเด™เดจเต† เด‰เดฆเตเดงเดฐเดฟเดšเตเดšเดพเดฒเตเด‚ เด•เดฎเดจเตเดฑเตเด•เดณเดพเดฏเดฟ เดตเตเดฏเดพเด–เตเดฏเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚.

"$(เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต)" เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด’เดฐเต เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดŸเดพเตผเด—เต†เดฑเตเดฑเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดกเดฟเดชเตปเดกเตปเดธเดฟ เดจเดพเดฎเด‚ เด‡เดŸเตเดฎเตเดชเต‹เตพ, เดคเตเดŸเตผเดจเตเดจเต
เด‰เดฆเตเดงเดฐเดฃเดฟเด•เดณเตเด‚ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดฌเดพเด•เตเด•เตเดธเตเดฒเดพเดทเตเด•เดณเตเด‚ เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดคเต. เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฑเดซเดฑเตปเดธเต เดšเต†เดฏเตเดฏเดฃเดฎเต†เด™เตเด•เดฟเตฝ
เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเดฟเตฝ เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต, เดจเดฟเด™เตเด™เตพ เด‡เดคเต เดตเต€เดฃเตเดŸเตเด‚ เด‰เดฆเตเดงเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดฟ เดตเดฐเตเด‚, เด‡เดคเตเดชเต‹เดฒเต†:

"เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเตเดณเตเดณ เด’เดฐเต เดซเดฏเตฝ เดจเดพเดฎเด‚":
เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟ "เดชเตเดฐเดคเตเดฏเต‡เด• เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เตพ" > "$@"

เดจเดฟเด™เตเด™เตพ $@ เดŽเดจเตเดจเดคเดฟเดจเต เดšเตเดฑเตเดฑเตเด‚ เด‰เดฆเตเดงเดฐเดฃเดฟเด•เตพ เดจเตฝเด•เดฟเดฏเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดทเต†เตฝ เด•เดฎเดพเตปเดกเต เด•เดพเดฃเตเด‚

echo "เดชเตเดฐเดคเตเดฏเต‡เด• เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เตพ" > เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเตเดณเตเดณ เด’เดฐเต เดซเดฏเตฝ เดจเดพเดฎเด‚

เด…เดคเต เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต "เดธเตเดชเต†เดทเตเดฏเตฝ เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เดณเตเดŸเต† เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต เดธเตเดชเต†เดฏเตเดธเตเด•เดณเตเดณเตเดณ" เดŽเดจเตเดจ เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดŽเดดเตเดคเตเดจเตเดจเต a.
เด‡เดคเต เด’เดฐเตเดชเด•เตเดทเต‡ เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดคเดฒเตเดฒ.

onworks.net เดธเต‡เดตเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด“เตบเดฒเตˆเดจเดฟเตฝ makepp_rules เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•


เดธเต—เดœเดจเตเดฏ เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ เดตเตผเด•เตเด•เตเดธเตเดฑเตเดฑเต‡เดทเดจเตเด•เดณเตเด‚

Windows & Linux เด†เดชเตเดชเตเด•เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•

เดฒเดฟเดจเด•เตเดธเต เด•เดฎเดพเตปเดกเตเด•เตพ

Ad