เบžเบฒเบชเบฒเบญเบฑเบ‡เบเบดเบ”เบžเบฒเบชเบฒเบเบฃเบฑเปˆเบ‡เปเบญเบชเบ›เบฒเป‚เบเบ™

OnWorks favicon

makeposix - เบญเบญเบ™เบฅเบฒเบเปƒเบ™เบ„เบฅเบฒเบง

เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ makeposix เปƒเบ™ OnWorks เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบŸเบฃเบตเบœเปˆเบฒเบ™ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator

เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ makeposix เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป„เบ”เป‰เปƒเบ™ OnWorks เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบŸเบฃเบตเป‚เบ”เบเปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เปƒเบ™เบซเบผเบฒเบเบชเบฐเบ–เบฒเบ™เบตเป€เบฎเบฑเบ”เบงเบฝเบเบญเบญเบ™เป„เบฅเบ™เปŒเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบฑเปˆเบ™ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator

เป‚เบ„เบ‡เบเบฒเบ™:

NAME


เป€เบฎเบฑเบ” - เบฎเบฑเบเบชเบฒ, เบ›เบฑเบšเบ›เบธเบ‡, เปเบฅเบฐเบชเป‰เบฒเบ‡เบเบธเปˆเบกเป‚เบ„เบ‡เบเบฒเบ™ (เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ)

เบชเบฐเบซเบผเบธเบšเบชเบฑเบ‡เบฅเบงเบก


เป€เบฎเบฑเบ”เปƒเบซเป‰ [โˆ’einpqrst] [-f makefile]... [โˆ’k|โˆ’เบช] [เบกเบฐเบซเบฒเบžเบฒเบ=เบกเบนเบ™เบ„เปˆเบฒ...]
[target_name...]

เบฅเบฒเบเบฅเบฐเบญเบฝเบ”


เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ utility เบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบฒเบˆเบฒเบเป„เบŸเบฅเปŒเบญเบทเปˆเบ™เป†. เบเปเบฅเบฐเบ™เบตเบ›เบปเบเบเบฐเบ•เบดเปเบกเปˆเบ™
เบซเบ™เบถเปˆเบ‡เบšเปˆเบญเบ™เบ—เบตเปˆเป„เบŸเบฅเปŒเบงเบฑเบ”เบ–เบธเปเบกเปˆเบ™เบกเบฒเบˆเบฒเบเป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™. เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”
เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเปเบฅเบฐเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบฒเบˆเบฒเบ (เป€เบญเบตเป‰เบ™เบงเปˆเบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ) เบ—เบตเปˆ
เบกเบตเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เบ„เบฑเป‰เบ‡เบเปˆเบญเบ™เป€เบงเบฅเบฒเบ”เบฑเบ”เปเบเป‰เบ‚เบญเบ‡เป„เบŸเบฅเปŒ (เป€เบญเบตเป‰เบ™เบงเปˆเบฒ prerequisites)
เบˆเบฒเบเบ—เบตเปˆเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบกเบฒเบˆเบฒเบ. เป„เบŸเบฅเปŒเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบ (makefile) เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ‚เบญเบ‡
เบ„เบงเบฒเบกโ€‹เบชเปเบฒโ€‹เบžเบฑเบ™โ€‹เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹, เปเบฅเบฐโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เป€เบžเบทเปˆเบญโ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹
เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเป€เบžเบทเปˆเบญเบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เปเบ•เปˆเบฅเบฐเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”, เบซเบผเบทเบเบปเบ”เบฅเบฐเบšเบฝเบš, เบˆเบฐ
เบ›เบฐโ€‹เบเบญเบšโ€‹เบ”เป‰เบงเบโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹, prerequisites เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹, เปเบฅเบฐโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆ a
เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เปเบกเปˆเบ™เปƒเบซเบกเปˆเบเบงเปˆเบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ. เบเบปเบ”เบฅเบฐเบšเบฝเบšเบกเบตเบชเบญเบ‡เบ›เบฐเป€เบžเบ”:

1. เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆ เบเบปเบ”เบฅเบฐเบšเบฝเบš, เป€เบŠเบดเปˆเบ‡เบกเบตเบซเบ™เบถเปˆเบ‡เบŠเบทเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบกเบตเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡ ('.') เปเบฅเบฐโ€‹เบšเปเปˆโ€‹เบกเบต
('/')

2. เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ เบเบปเบ”เบฅเบฐเบšเบฝเบš, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบŠเบทเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ

เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบก, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบˆเบฐโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เป€เบเบฑเบšโ€‹เบเปเบฒโ€‹เบกเบฐโ€‹เบซเบฒโ€‹เบžเบฒเบโ€‹เปƒเบ™โ€‹เบ•เบปเบงโ€‹เปเบฅเบฐโ€‹เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบš inference เบ—เบตเปˆโ€‹
infer เบ„เบงเบฒเบกโ€‹เบชเปเบฒโ€‹เบžเบฑเบ™ prerequisite เป€เบžเบทเปˆเบญโ€‹เบ‡เปˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบšเปเบฒโ€‹เบฅเบธเบ‡โ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹.

เป€เบžเบทเปˆเบญโ€‹เปƒเบซเป‰โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบขเปˆเบฒเบ‡โ€‹เปเบ™เปˆโ€‹เบ™เบญเบ™โ€‹เบžเบถเบ”โ€‹เบ•เบดโ€‹เบเปเบฒโ€‹เบ—เบตเปˆโ€‹เบญเบฐโ€‹เบ—เบดโ€‹เบšเบฒเบโ€‹เปƒเบ™โ€‹เบžเบฒเบโ€‹เบ™เบตเป‰โ€‹, เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹เบˆเบฐโ€‹เบ•เป‰เบญเบ‡โ€‹เบฎเบฑเบšโ€‹เบ›เบฐโ€‹เบเบฑเบ™โ€‹เบงเปˆเบฒ a
makefile เปเบšเบšเบžเบปเบเบžเบฒเบˆเบฐ:

* เบฅเบงเบกโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹ .POSIX

* เบเบปเบโ€‹เป€เบงเบฑเป‰เบ™โ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบชเบฐโ€‹เบซเบ‡เบงเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ” (เป€เบ›เบฑเบ™โ€‹เป„เบฅโ€‹เบเบฐโ€‹เบ—เบตเปˆโ€‹เบ™เปเบฒโ€‹เบซเบ™เป‰เบฒโ€‹เบ•เบฒเบกโ€‹เบกเบฒโ€‹เป‚เบ”เบโ€‹
เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ•เบปเบงเบžเบดเบกเปƒเบซเบเปˆ) เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบžเบฒเบเบ™เบตเป‰

เบžเบถเบ”เบ•เบด เบเบณ เบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเบงเปˆเบฒเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เปƒเบ”เบ™เบถเปˆเบ‡ เบซเบผเบทเบ—เบฑเบ‡เบชเบญเบ‡เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ™เบตเป‰เบšเปเปˆเบ–เบทเบเบ•เบฒเบก.

OPTIONS


เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบ›เบฐเบฅเบดเบกเบฒเบ™เบ„เปเบฒเบ™เบดเบเบฒเบกเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008, เบชเปˆเบงเบ™
12.2, เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ” syntax เบ„เบนเปˆเบกเบทเปเบ™เบฐเบ™เปเบฒเบเบปเบเป€เบงเบฑเป‰เบ™เบ‚เปเป‰เปเบ™เบฐเบ™เปเบฒ 9.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™:

โˆ’e เป€เบฎเบฑเบ”เปƒเบซเป‰เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก, เบฅเบงเบกเบ—เบฑเบ‡เบ„เปˆเบฒ null, เป€เบžเบทเปˆเบญ override macro
เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเบžเบฒเบเปƒเบ™ makefiles.

-f makefile
เบฅเบฐเบšเบธ makefile เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ makefile เปเบกเปˆเบ™โ€‹เบŠเบทเปˆโ€‹เป€เบชเบฑเป‰เบ™โ€‹เบ—เบฒเบ‡โ€‹เบ‚เบญเบ‡ a
เป„เบŸเบฅเปŒเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบ, เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เป€เบญเบตเป‰เบ™เบงเปˆเบฒ makefile. เบŠเบทเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ‚เบญเบ‡ 'โˆ’'
เบˆเบฐเปเบฒเบเป€เบ–เบดเบ‡เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เบชเบฒเบกเบฒเบ”เบกเบตเบซเบผเบฒเบเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰,
เปเบฅเบฐเบžเบงเบเบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ›เบธเบ‡เปเบ•เปˆเบ‡เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบšเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰. เบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡เบเบฒเบ™เบฅเบฐเบšเบธ
เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ”เบฝเบงเบเบฑเบ™เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เปเบกเปˆเบ™เบšเปเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”.

-i เบšเปเปˆเบชเบปเบ™เปƒเบˆเบฅเบฐเบซเบฑเบ”เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™เป‚เบ”เบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบญเบตเป‰เบ™. เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบ„เบทโ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹
เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹ .เบšเปเปˆเบชเบปเบ™เปƒเบˆ เป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เป‚เบ”เบเบšเปเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™.

โˆ’เบ เบชเบทเบšเบ•เปเปˆเบ›เบฑเบšเบ›เบธเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบญเบทเปˆเบ™เป†เบ—เบตเปˆเบšเปเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ a
เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบฅเบฐเป€เบฅเบตเบเป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบžเบทเปˆเบญเบ™เปเบฒเป€เบญเบปเบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ‚เบถเป‰เบ™.
เบงเบฑเบ™เบ—เบต.

เบ™ เบ‚เบฝเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, เปเบ•เปˆเบšเปเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”
เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบชเบฒเบเบ—เบตเปˆเบกเบต a ('+') เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เปƒเบ™โ€‹เบ™เบตเป‰
เบฎเบนเบšเปเบšเบš, เป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบ ('@') เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™
เบœเบปเบ™เบœเบฐเบฅเบดเบ”.

-เบ› เบ‚เบฝเบ™เปƒเบชเปˆเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบŠเบธเบ”เบ„เปเบฒเบ™เบดเบเบฒเบกเบกเบฐเบซเบฒเบžเบฒเบเบ—เบตเปˆเบ„เบปเบšเบ–เป‰เบงเบ™เปเบฅเบฐเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ
เบ„เบณเบญเบฐเบ—เบดเบšเบฒเบ. เบฎเบนเบšเปเบšเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธ.

โˆ’q เบชเบปเปˆเบ‡เบ„เบทเบ™เบ„เปˆเบฒเบชเบนเบ™เบญเบญเบเบ–เป‰เบฒเป„เบŸเบฅเปŒเป€เบ›เบปเป‰เบฒเปเบฒเบเปเบกเปˆเบ™เบ—เบฑเบ™เบชเบฐเป„เป; เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฑเบšเบ„เบทเบ™ an
เบ„เปˆเบฒเบญเบญเบเบˆเบฒเบ 1. เป€เบ›เบปเป‰เบฒเปเบฒเบเบˆเบฐเบšเปเปˆเบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡ เบ–เป‰เบฒเบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เบ–เบทเบเบฅเบฐเบšเบธ.
เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ makefile (เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ) เบเบฑเบš a
เป€เบŠเบฑเบ™> ('+') เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”.

-r เบฅเบถเบšเบฅเบฒเบเบŠเบทเปˆเบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบ เปเบฅเบฐเบขเปˆเบฒเปƒเบŠเป‰เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบกเบฒ.

โˆ’เบช เบขเบธเบ”เบ•เบด เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ–เป‰เบฒเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบžเบทเปˆเบญเบ™เปเบฒเป€เบญเบปเบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ
เบ—เบฑเบ™เบชเบฐเป„เบซเบก. เบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบ‚เบญเบ‡ โˆ’เบ.

โˆ’เบช เบขเปˆเบฒเบ‚เบฝเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ makefile เบซเบผเบทเบ‚เปเป‰เบ„เบงเบฒเบกเบชเปเบฒเบœเบฑเบ” (เป€เบšเบดเปˆเบ‡ -t) เป€เบ›เบฑเบ™โ€‹เบกเบฒเบ”โ€‹เบ•เบฐโ€‹เบ–เบฒเบ™โ€‹
เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบเปˆเบญเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹. เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ™เบตเป‰โ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบ„เบทโ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹
.เบ‡เบฝเบš เป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เป‚เบ”เบเบšเปเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™.

-t เบ›เบฑเบšเบ›เบธเบ‡เป€เบงเบฅเบฒเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ„เบทเบเบฑเบšเบงเปˆเบฒ a เบชเปเบฒเบœเบฑเบ” เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ เป„เบ”เป‰
เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹. เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เปเบ•เปˆเบšเปเปˆเบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡ (เป€เบšเบดเปˆเบ‡ เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ เบเบปเบ”เบฅเบฐเบšเบฝเบš), เบซเบผเบท
เบ—เบตเปˆโ€‹เบ—เบฑเบ™โ€‹เบชเบฐโ€‹เป„เบซเบกโ€‹เปเบฅเป‰เบงโ€‹, เบšเปเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบžเบฑเบ”โ€‹เปƒเบ™โ€‹เบฅเบฑเบโ€‹เบชเบฐโ€‹เบ™เบฐโ€‹เบ™เบตเป‰โ€‹. เบ‚เบฝเบ™
เบ‚เปเป‰เบ„เบงเบฒเบกเป„เบ›เบซเบฒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเป„เบŸเบฅเปŒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบŠเบตเป‰เบšเบญเบเบŠเบทเปˆเบ‚เบญเบ‡เป„เบŸเบฅเปŒ
เปเบฅเบฐเบงเปˆเบฒเบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบ touched. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง, เป„เบ”เป‰ makefile เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš
เปเบ•เปˆเบฅเบฐเป€เบ›เบปเป‰เบฒเปเบฒเบเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบกเบต a ('+')
เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ”เป†เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเป€เบกเบตเบ™เบเปˆเบญเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบก
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ—เบตเปˆโ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹เปƒเบ™โ€‹ เป€เบฎเบฑเบ”เปƒเบซเป‰ เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”. เบ–เป‰เบฒ โˆ’เบ เปเบฅเบฐ โˆ’เบช เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ—เบฑเบ‡เบชเบญเบ‡
เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ เป€เบฎเบฑเบ”เปƒเบซเป‰ utility command line เบซเบผเบทเป‚เบ”เบ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ›เปˆเบฝเบ™เปเบ›เบ‡, เป„เบ”เป‰
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบชเบธเบ”โ€‹เบ—เป‰เบฒเบโ€‹เบ—เบตเปˆโ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบญเบฑเบ™โ€‹เบ”เบฑเบšโ€‹. เบ–เป‰เบฒ -f or -เบ› เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™
เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”.

เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™


เป‚เบ•เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™:

target_name
เบŠเบทเปˆเป€เบ›เบปเป‰เบฒเปเบฒเบ, เบ•เบฒเบกเบ—เบตเปˆเบเบณเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เบชเปˆเบงเบ™เบ„เบณเบญเบฐเบ—เบดเบšเบฒเบเบ‚เบฐเบซเบเบฒเบ. เบ–เป‰เบฒเบšเปเปˆเบกเบตเป€เบ›เบปเป‰เบฒเปเบฒเบ
เบฅเบฐเบšเบธเป„เบงเป‰, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบเปเบฒเบฅเบฑเบ‡เบ›เบฐเบกเบงเบ™เบœเบปเบ™ makefiles, เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆ เป€เบฎเบฑเบ”เปƒเบซเป‰
เบเบฒเบ™โ€‹เบžเบปเบšโ€‹เบ›เบฐโ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เบซเบผเบทโ€‹เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบš inference เบˆเบฐโ€‹เบ–เบทเบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰.

เบกเบฐเบซเบฒเบžเบฒเบ=เบกเบนเบ™เบ„เปˆเบฒ
เบ„เปเบฒเบ™เบดเบเบฒเบก Macro, เบ•เบฒเบกเบ—เบตเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™ เบกเบฒเป‚เบ„เบฃ.

เบ–เป‰เบฒ target_name เปเบฅเบฐ เบกเบฐเบซเบฒเบžเบฒเบ=เบกเบนเบ™เบ„เปˆเบฒ operands เปเบกเปˆเบ™ intermixed เบชเบธเบ” เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ„เปเบฒเบชเบฑเปˆเบ‡เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”
เป€เบชเบฑเป‰เบ™, เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”.

STDIN


เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบˆเบฐเบ–เบทเบเปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆ makefile option-argument เปเบกเปˆเบ™ 'โˆ’'. เป€เบšเบดเปˆเบ‡
เบ›เป‰เบญเบ™เบžเบฒเบเบชเปˆเบงเบ™เป„เบŸเบฅเปŒ.

เบ›เบฑเบ”เป„เบˆเบ™เปเบฒเป€เบ‚เบปเป‰เบฒ เป€เบญเบเบฐเบชเบฒเบ™


เป„เบŸเบฅเปŒเบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™, เป€เบญเบตเป‰เบ™เบงเปˆเบฒ makefile, เปเบกเปˆเบ™เป„เบŸเบฅเปŒเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบตเบเบปเบ”เบฅเบฐเบšเบฝเบš, macro
เบ„เปเบฒเบ™เบดเบเบฒเบก, เปเบฅเบฐเบ„เปเบฒเป€เบซเบฑเบ™. เป€เบšเบดเปˆเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบ„เบณเบญเบฐเบ—เบดเบšเบฒเบเบ‚เบฐเบซเบเบฒเบ.

ENVIRONMENT เบ„เบงเบฒเบกเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบš


เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบˆเบฐเบชเบปเปˆเบ‡เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” เป€เบฎเบฑเบ”เปƒเบซเป‰:

เบžเบฒเบชเบฒ เปƒเบซเป‰เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเปเบ›เบชเบฒเบเบปเบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ•เบฑเป‰เบ‡ เบซเบผเบท
null. (เป€เบšเบดเปˆเบ‡เบ›เบฐเบฅเบดเบกเบฒเบ™เบ„เปเบฒเบ™เบดเบเบฒเบกเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008, เบชเปˆเบงเบ™ 8.2,
Internationalization Variables โ€‹เป€เบžเบทเปˆเบญโ€‹เบ„เบงเบฒเบกโ€‹เบเป‰เบฒเบงเปœเป‰เบฒโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบซเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบชเบฒเบเบปเบ™
เบ•เบปเบงเปเบ›เบ—เบตเปˆเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบ„เปˆเบฒเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.)

LC_ALL เบ–เป‰เบฒเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™เบ„เปˆเบฒเบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเบšเปเปˆเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ, เบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบญเบฑเบ™เบญเบทเปˆเบ™เบ—เบฑเบ‡เปเบปเบ”
เบ•เบปเบงเปเบ›เบชเบฒเบเบปเบ™.

LC_CTYPE เบเปเบฒเบ™เบปเบ”เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบตเบ„เบงเบฒเบกเบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡ bytes เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ‚เปเป‰เบ„เบงเบฒเบก
เป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, single-byte เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบเบฑเบš multi-byte เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปƒเบ™
arguments เปเบฅเบฐ input เป„เบŸเบฅเปŒ).

LC_MESSAGES
เบเปเบฒเบ™เบปเบ”เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเบ„เบงเบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบฎเบนเบšเปเบšเบšเปเบฅเบฐเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡
เบ‚เปเป‰เบ„เบงเบฒเบกเบเบฒเบ™เบงเบดเบ™เบดเป„เบชเบ—เบตเปˆเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™.

เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ
เบ•เบปเบงเปเบ›เบ™เบตเป‰เบˆเบฐเบ–เบทเบเบ•เบตเบ„เบงเบฒเบกเปเบฒเบเป€เบ›เบฑเบ™เบชเบฐเบ•เบฃเบดเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบŠเบธเบ”
เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบทเบญเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบˆเบฐโ€‹
เบเบญเบกเบฎเบฑเบšเบ—เบฑเบ‡เบชเบญเบ‡เบฎเบนเบšเปเบšเบšเบ•เปเปˆเป„เบ›เบ™เบตเป‰ (เปเบ•เปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบเบญเบกเบฎเบฑเบšเบžเบงเบเบกเบฑเบ™เป€เบกเบทเปˆเบญเบ›เบฐเบชเบปเบกเบเบฑเบ™):

* เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เปเบกเปˆเบ™โ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เบซเบ™เป‰เบฒโ€‹ เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบซเบผเบท
เบเบฒเบ™โ€‹เปเบšเปˆเบ‡โ€‹เปเบเบโ€‹เบ—เบตเปˆโ€‹เปƒเบŠเป‰โ€‹เปƒเบ™ a เป€เบฎเบฑเบ”เปƒเบซเป‰ เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”.

* เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เปƒเบ™โ€‹เบฅเบฑเบโ€‹เบชเบฐโ€‹เบ™เบฐโ€‹เบ„เป‰เบฒเบโ€‹เบ„เบทโ€‹เบเบฑเบšโ€‹เบชเปˆเบงเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบ‚เบญเบ‡โ€‹ เป€เบฎเบฑเบ”เปƒเบซเป‰
เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ utility: เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ™เปเบฒเบซเบ™เป‰เบฒเป‚เบ”เบ เบฅเบฑเบโ€‹เบชเบฐโ€‹เบ™เบฐโ€‹เปเบฅเบฐโ€‹
-separated เบ”เบฑเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบญเบฐโ€‹เบ—เบดโ€‹เบšเบฒเบโ€‹เปƒเบ™โ€‹เบ›เบฐโ€‹เบฅเบดโ€‹เบกเบฒเบ™โ€‹เบ„เปเบฒโ€‹เบ™เบดโ€‹เบเบฒเบกโ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹
POSIX.1-2008, เบชเปˆเบงเบ™ 12.2, เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ” syntax เบ„เบนเปˆเบกเบทเปเบ™เบฐเบ™เปเบฒ. เป„เบ”เป‰ เบกเบฐเบซเบฒเบžเบฒเบ=เบกเบนเบ™เบ„เปˆเบฒ
เป‚เบ•เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ™เบดเบเบฒเบกเบกเบฐเบซเบฒเบžเบฒเบเบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบ™เบณ. เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡
เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เปเบฅเบฐ เป€เบฎเบฑเบ”เปƒเบซเป‰ เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ utility เปเบกเปˆเบ™เบงเปˆเบฒเป€เบ™เบทเป‰เบญเปƒเบ™
เบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบˆเบฐเบ•เป‰เบญเบ‡เบšเปเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ„เปเบฒเบชเบฑเบš (เป€เบšเบดเปˆเบ‡ เบชเปˆเบงเบ™
2.6, Word เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ) เบ—เบตเปˆโ€‹เบเปˆเบฝเบงโ€‹เบ‚เป‰เบญเบ‡โ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เปเบเบโ€‹เบ„เปˆเบฒโ€‹เป€เบชเบฑเป‰เบ™โ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹.

NLSPATH เบเปเบฒเบ™เบปเบ”เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ‚เบญเบ‡เบฅเบฒเบเบเบฒเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เบญเบ‡ LC_MESSAGES.

เป‚เบ„เบ‡เบเบฒเบ™
เปƒเบซเป‰เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเป„เบŸเบฅเปŒ SCCS เบ—เบตเปˆเบšเปเปˆเบžเบปเบšเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต. เปƒเบ™เบ—เบธเบเป†เบเปเบฅเบฐเบ™เบตเบ•เปเปˆเป„เบ›เบ™เบตเป‰, เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเป„เบŸเบฅเปŒ SCCS เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบขเบนเปˆเปƒเบ™
เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบเบฒเบ™ SCCS เปƒเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบงเป‰โ€‹. เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡ เป‚เบ„เบ‡เบเบฒเบ™
เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ a , เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบ›เบฑเบ™เบŠเบทเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡; เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™,
เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡ เป‚เบ„เบ‡เบเบฒเบ™ เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰เปเบฅเบฐเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ™เบฑเป‰เบ™
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบˆเบฐเบ–เบทเบเบเบงเบ”เบชเบญเบšเบชเปเบฒเบฅเบฑเบšเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบเปˆเบญเบ src or เปเบซเบผเปˆเบ‡. เบ–เป‰เบฒเป€เบ›เบฑเบ™เป€เบŠเบฑเปˆเบ™เบ™เบฑเป‰เบ™
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™, เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบกเบนเบ™เบ„เปˆเบฒเปเบกเปˆเบ™เปƒเบŠเป‰เป€เบ›เบฑเบ™เบžเบตเปˆเบ™เป‰เบญเบ‡
เบŠเบทเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡.

If เป‚เบ„เบ‡เบเบฒเบ™ เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ•เบฑเป‰เบ‡เบซเบผเบทเบกเบตเบกเบนเบ™เบ„เปˆเบฒ null, เบเบฒเบ™เบŠเบญเบเบซเบฒเป„เบŸเบฅเปŒ SCCS เบˆเบฐเป€เบ›เบฑเบ™
เป€เบฎเบฑเบ”เบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต SCCS เปƒเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ›เบฐโ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡ เป‚เบ„เบ‡เบเบฒเบ™ เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเป„เบŸเบฅเปŒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเบ™เบตเป‰
เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบกเบตเบŠเบทเปˆ SCCS.

เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบเบฒเบ™ SHELL เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบˆเบฐเบšเปเปˆเบ–เบทเบเปƒเบŠเป‰เป€เบ›เบฑเบ™เบกเบฐเบซเบฒเบžเบฒเบ เปเบฅเบฐเบˆเบฐเบšเปเปˆเป€เบ›เบฑเบ™
เบ”เบฑเบ”เปเบเป‰เป‚เบ”เบเบเบฒเบ™เบเปเบฒเบ™เบปเบ” SHELL เบกเบฐเบซเบฒเบžเบฒเบเปƒเบ™ makefile เบซเบผเบทเปƒเบ™เปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡. เบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เปเบปเบ”
เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก, เบฅเบงเบกเบ—เบฑเบ‡เบ„เปˆเบฒ null, เบˆเบฐเบ–เบทเบเปƒเบŠเป‰เป€เบ›เบฑเบ™ macro, as
เบเบณ เบ™เบปเบ”เปƒเบ™ เบกเบฒเป‚เบ„เบฃ.

ASYNCHRONOUS เป€เบซเบ”เบเบฒเบ™


เบ–เป‰เบฒเบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบฅเบฐเป€เบฅเบตเบ, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบˆเบฐเบ”เบฑเบ SIGHUP, SIGTERM, SIGINT, เปเบฅเบฐ SIGQUIT เปเบฅเบฐเป€เบญเบปเบฒเบญเบญเบ
เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบกเปˆเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบซเบผเบทเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบกเปˆเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡
เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹ .PRECIOUS เบซเบผเบทเป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™ เบ™, -เบ›, เบซเบผเบท โˆ’q เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹. เปƒเบ”
เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ™เบตเป‰เบˆเบฐเบ–เบทเบเบฅเบฒเบเบ‡เบฒเบ™เปƒเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบเบฒเบ™เบงเบดเบ™เบดเบ”เป„เบชเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”
เบฎเบนเบšเปเบšเบš, เบ‚เบฝเบ™เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เบซเบผเบฑเบ‡เบˆเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เปเบฒเบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”เบ™เบตเป‰, เบ–เป‰เบฒเบกเบต, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบˆเบฐเปƒเบŠเป‰เป€เบงเบฅเบฒ
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบชเบฑเบ™เบเบฒเบ™เบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เบซเบกเบปเบ”.

STDOUT


เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ utility เบˆเบฐเบ‚เบฝเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฑเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒ โˆ’เบช
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹, เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบ™เปเบฒโ€‹เบซเบ™เป‰เบฒโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบชเบฑเบ™โ€‹เบเบฒเบ™โ€‹, เบซเบผเบทโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹
.เบ‡เบฝเบš เบกเบตเป€เบ›เบปเป‰เบฒเปเบฒเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เป€เบ›เบฑเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™ เบซเบผเบทเบšเปเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™. เบ–เป‰เบฒ เป€เบฎเบฑเบ”เปƒเบซเป‰
เบ–เบทเบเป€เบญเบตเป‰เบ™เป‚เบ”เบเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบงเบฝเบเปƒเบ”เป†เบ—เบตเปˆเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”, เบกเบฑเบ™เบˆเบฐเบ‚เบฝเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเปƒเบซเป‰เป€เบ›เบฑเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™
เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ”เป†. เบ–เป‰เบฒ -t เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เปเบฅเบฐเป„เบŸเบฅเปŒเปเบกเปˆเบ™
เปเบ•เบฐเบ•เป‰เบญเบ‡, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบˆเบฐเบ•เป‰เบญเบ‡เบ‚เบฝเบ™เปƒเบชเปˆเบ‚เปเป‰เบ„เบงเบฒเบกเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเบ—เบตเปˆเบŠเบตเป‰เบšเบญเบ
เบงเปˆเบฒเป„เบŸเบฅเปŒเป„เบ”เป‰เบ–เบทเบเบชเปเบฒเบžเบฑเบ”, เบฅเบงเบกเบ—เบฑเบ‡เบŠเบทเปˆเป„เบŸเบฅเปŒเบ‚เบญเบ‡เป„เบŸเบฅเปŒ.

เบชเบฐเบ”เบธเบ”


เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบงเบดเบ™เบดเบ”เป„เบชเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.

OUTPUT เป€เบญเบเบฐเบชเบฒเบ™


เป„เบŸเบฅเปŒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ -t เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™. เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป„เบ”เป‰
เป‚เบ”เบโ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบเบฒเบ™โ€‹เบฎเบฝเบโ€‹เบฎเป‰เบญเบ‡โ€‹เป‚เบ”เบโ€‹ เป€เบฎเบฑเบ”เปƒเบซเป‰.

เบญเบฐเบ—เบดเบšเบฒเบ เบฅเบฒเบเบฅเบฐเบญเบฝเบ”


เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบžเบฐเบเบฒเบเบฒเบกเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบเปเบฒเบ™เบปเบ”เป„เบงเป‰
เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เปเบกเปˆเบ™โ€‹เบ—เบฑเบ™โ€‹เบชเบฐโ€‹เป„เบซเบกโ€‹. เป€เบ›เบปเป‰เบฒเปเบฒเบเปƒเบ”เปœเบถเปˆเบ‡เปเบกเปˆเบ™เบ–เบทเบงเปˆเบฒเบฅเป‰เบฒเบชเบฐเป„เป เบ–เป‰เบฒเบกเบฑเบ™เป€เบเบปเปˆเบฒเบเบงเปˆเบฒเบญเบฑเบ™เปƒเบ”เบญเบฑเบ™เปœเบถเปˆเบ‡เบ‚เบญเบ‡เบกเบฑเบ™
prerequisites เบซเบผเบทเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเบกเบต. เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ—เบฑเบ‡เบซเบกเบปเบ”
เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹เป€เบญเบ‡โ€‹เปเบฅเบฐ recursively เบฎเบฑเบšโ€‹เบ›เบฐโ€‹เบเบฑเบ™โ€‹เบงเปˆเบฒโ€‹เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เปเบกเปˆเบ™โ€‹เบ—เบฑเบ™โ€‹เบชเบฐโ€‹เป„เบซเบกโ€‹, เบเบฒเบ™โ€‹เบ›เบธเบ‡โ€‹เปเบ•เปˆเบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เปƒเบ™โ€‹
เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบš. เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเบฐเบ•เป‰เบญเบ‡เปƒเบŠเป‰เป€เบงเบฅเบฒเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰
เบ‚เบญเบ‡เป„เบŸเบฅเปŒเป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เปเบกเปˆเบ™เบฅเป‰เบฒเบชเบฐเป„เบซเบก.

เบซเบผเบฑเบ‡เบˆเบฒเบ เป€เบฎเบฑเบ”เปƒเบซเป‰ เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบ›เบฐโ€‹เบเบฑเบ™โ€‹เบงเปˆเบฒโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ‚เบญเบ‡ prerequisites เบ‚เบญเบ‡โ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เปเบกเปˆเบ™โ€‹เบ—เบฑเบ™โ€‹เบชเบฐโ€‹เป„เบซเบกโ€‹เปเบฅเบฐโ€‹เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹
เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบกเปˆเบ™เบฅเป‰เบฒเบชเบฐเป„เบซเบก, เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบ–เป‰เบฒ
เบšเปเปˆเบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡เบฅเบฐเบšเบธเป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ, เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบ—เบฑเบ™เบชเบฐเป„เบซเบก.

makefile syntax
makefile เบชเบฒเบกเบฒเบ”เบกเบตเบเบปเบ”เบฅเบฐเบšเบฝเบš, เบ™เบดเบเบฒเบกเบกเบฐเบซเบฒเบžเบฒเบ (เป€เบšเบดเปˆเบ‡ เบกเบฒเป‚เบ„เบฃ), เบ›เบฐเบเบญเบšเบกเบตเบชเบฒเบ, เปเบฅเบฐเบ„เปเบฒเป€เบซเบฑเบ™.
เบกเบตโ€‹เบชเบญเบ‡โ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เบ‚เบญเบ‡โ€‹เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹: เบเบฒเบ™เบชเบฐเบซเบผเบธเบš เบเบปเบ”เบฅเบฐเบšเบฝเบš เปเบฅเบฐ เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ เบเบปเบ”เบฅเบฐเบšเบฝเบš. เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเบฐ
เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบŠเบธเบ”เบ‚เบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบš inference เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™. เบ–เป‰เบฒ -r เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡
เบˆเบฐเบšเปเปˆเบ–เบทเบเบ™เปเบฒเป„เบ›เปƒเบŠเป‰ เปเบฅเบฐเบฅเบฒเบเบเบฒเบ™เบ•เปเปˆเบ—เป‰เบฒเบเบˆเบฐเบ–เบทเบเบฅเบถเบšเบฅเป‰เบฒเบ‡. เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ‚เบญเบ‡เบ—เบฑเบ‡เบชเบญเบ‡เบ›เบฐเป€เบžเบ”เบชเบฒเบกเบฒเบ”
เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ makefile. เบ–เป‰เบฒเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ–เบทเบเบเปเบฒเบ™เบปเบ”เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡, เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบš
เบˆเบฐเป€เบ›เบฑเบ™เบญเบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰. Macros เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡, เปเบฅเบฐ
เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฐเบซเบฒเบžเบฒเบเปเบกเปˆเบ™เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ เบกเบฒเป‚เบ„เบฃ. เบ„เบณเป€เบซเบฑเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ เบ ('#')
เปเบฅเบฐเบชเบทเบšเบ•เปเปˆเบˆเบปเบ™เบเปˆเบงเบฒ unscaped เบšเบฑเบ™เบฅเบธเป„เบ”เป‰.

เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป„เบŸเบฅเปŒเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบˆเบฐเบ–เบทเบเบžเบฐเบเบฒเบเบฒเบกเบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš: ./makefile เปเบฅเบฐ ./makefileเบ—เบตเปˆเบขเบนเปˆ เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ
neither ./makefile or ./makefile เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™, เป„เบŸเบฅเปŒเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบทเปˆเบ™เป†เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™
เบžเบฐเบเบฒเบเบฒเบก. เปƒเบ™เบฅเบฐเบšเบปเบš XSI-conformant, เป„เบŸเบฅเปŒเป€เบžเบตเปˆเบกเป€เบ•เบตเบก ./s.makefile, SCCS/s.makefile,
./s.Makefile, เปเบฅเบฐ SCCS/s.Makefile เบˆเบฐเบ–เบทเบเบžเบฐเบเบฒเบเบฒเบกเป€เบŠเบฑเปˆเบ™เบเบฑเบ™.

เป„เบ”เป‰ -f เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบˆเบฐโ€‹เบŠเบตเป‰โ€‹เบ™เปเบฒโ€‹ เป€เบฎเบฑเบ”เปƒเบซเป‰ เป€เบžเบทเปˆเบญเบšเปเปˆเบชเบปเบ™เปƒเบˆเปƒเบ”เป†เบ‚เบญเบ‡เป„เบŸเบฅเปŒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰
argument เป€เบ›เบฑเบ™ makefile เปเบ—เบ™. เบ–เป‰เบฒ 'โˆ’' เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เปเบกเปˆเบ™เบฅเบฐเบšเบธเป„เบงเป‰, เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™
เปƒเบŠเป‰เปเบฅเป‰เบง.

เปƒเบ™เป„เบฅเบเบฐเบเบฒเบ™ makefile เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบญเป‰เบฒเบ‡เป€เบ–เบดเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเปƒเบ”เป†เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰, เบšเปเปˆเบงเปˆเบฒเบˆเบฐเบขเบนเปˆเปƒเบ™
./makefile เบซเบผเบทเบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบกเบฑเบ™, เบซเบผเบทเบเปเบฒเบ™เบปเบ”เป‚เบ”เบ -f เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

เบเบปเบ”เบฅเบฐเบšเบฝเบšเปƒเบ™ makefiles เบˆเบฐเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ›เบฐเป€เบžเบ”เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰: เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ,
เบฅเบงเบกเบ—เบฑเบ‡เป€เบ›เบปเป‰เบฒเปเบฒเบเบžเบดเป€เบชเบ” (เป€เบšเบดเปˆเบ‡ เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ เบเบปเบ”เบฅเบฐเบšเบฝเบš), เบเบปเบ”เบฅเบฐเบšเบฝเบš inference (เป€เบšเบดเปˆเบ‡ เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆ เบเบปเบ”เบฅเบฐเบšเบฝเบš), เบกเบฐเบซเบฒเบžเบฒเบ
เบ„เปเบฒเบ™เบดเบเบฒเบก (เป€เบšเบดเปˆเบ‡ เบกเบฒเป‚เบ„เบฃ), เป€เบชเบฑเป‰เบ™เป€เบ›เบปเปˆเบฒ, เปเบฅเบฐเบ„เปเบฒเป€เบซเบฑเบ™.

เป€เบ›เบปเป‰เบฒเปเบฒเบ เปเบฅเบฐเบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เบญเบฒเบ”เบกเบต เบ„เปเบฒเบชเบฑเปˆเบ‡ เบชเบฒเบ. เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเบฒเบกเบฒเบ”เบกเบตเบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒ
เบ—เบตเปˆเบˆเบฐเบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ” (เป€เบšเบดเปˆเบ‡ makefile เบเบฒเบ™เบšเปเบฅเบดเบซเบฒเบ™).

เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบซเบ™เบตโ€‹ (เบญเบฑเบ™เปœเบถเปˆเบ‡เบเปˆเบญเบ™เปœเป‰เบฒเบ”เป‰เบงเบ เบ ) เบžเบปเบšโ€‹เป€เบซเบฑเบ™โ€‹เป„เบ”เป‰โ€‹เบ—เบธเบโ€‹เบšเปˆเบญเบ™โ€‹เปƒเบ™โ€‹
makefile เบเบปเบโ€‹เป€เบงเบฑเป‰เบ™โ€‹เปƒเบ™โ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹, เป€เบชเบฑเป‰เบ™โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบกเบตโ€‹, เบซเบผเบทโ€‹เป€เบชเบฑเป‰เบ™โ€‹เปƒเบ™โ€‹เบ—เบฑเบ™โ€‹เบ—เบตโ€‹เบเปˆเบญเบ™โ€‹เบซเบ™เป‰เบฒโ€‹
เบ›เบฐเบเบญเบšเบกเบตเป€เบชเบฑเป‰เบ™, เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ›เปˆเบฝเบ™เปเบ—เบ™, เบžเป‰เบญเบกเบเบฑเบšเบžเบทเป‰เบ™เบ—เบตเปˆเบชเบตเบ‚เบฒเบงเบŠเบฑเป‰เบ™เบ™เปเบฒเบ•เปเปˆเป„เบ›เบ™เบตเป‰
เป€เบชเบฑเป‰เบ™, เบกเบตเบ”เบฝเบง . เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบซเบ™เบตโ€‹ เบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™ a
makefile, เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบ , เป„เบ”เป‰ , เปเบฅเบฐเบ•เปเปˆเป„เบ›
เปเบ–เบง, เบเบปเบเป€เบงเบฑเป‰เบ™เบงเปˆเบฒเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เปเบ–เบงเบ•เปเปˆเป„เบ›เบˆเบฐเบšเปเปˆเบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบ–เป‰เบฒเบกเบฑเบ™เป€เบ›เบฑเบ™ a
. เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบซเบ™เบตโ€‹ เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบฅเบงเบกเบซเบผเบทเบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฑเบ™เบ—เบต
เบเปˆเบญเบ™เปœเป‰เบฒเป€เบชเบฑเป‰เบ™เบ›เบฐเบเบญเบšเบกเบต, เบžเบถเบ”เบ•เบดเบเบณเบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธ.

เบฅเบงเบก เป€เบชเบฑเป‰เบ™
เบ–เป‰เบฒเบ„เปเบฒ เบ›เบฐเบเบญเบšเบ”เป‰เบงเบ เบ›เบฐเบเบปเบ”เบ‚เบถเป‰เบ™เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡เปเบ–เบง เปเบฅเบฐเบ•เบดเบ”เบ•เบฒเบกเบ”เป‰เบงเบเปœเบถเปˆเบ‡ เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™
เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹, เบŠเปˆเบญเบโ€‹เปเบ™เปˆโ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบถเป‰เบ™โ€‹เป‚เบ”เบโ€‹เบชเปˆเบงเบ™โ€‹เบ—เบตเปˆโ€‹เป€เบซเบผเบทเบญโ€‹เบ‚เบญเบ‡โ€‹เป€เบชเบฑเป‰เบ™โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบธเบ‡โ€‹เปเบ•เปˆเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹
เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบžเบทเปˆเบญเบœเบฐเบฅเบดเบ”เบŠเบทเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡:

* เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹ เปเบฅเบฐเบ„เปเบฒเป€เบซเบฑเบ™เปƒเบ”เป†เบˆเบฐเบ–เบทเบเบเบปเบเป€เบฅเบตเบ. เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบชเบฐเบ•เบดเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš
เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบญเป‰เบฒเบ‡เบญเบตเบ‡เบชเบญเบ‡เป€เบ—เบปเปˆเบฒ ('"') เบžเบถเบ”เบ•เบดเบเปเบฒเปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”.

* เบชเบฐเบ•เบฃเบดเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฐเบ–เบทเบเบ›เบธเบ‡เปเบ•เปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบกเบฐเบซเบฒเบžเบฒเบ (เป€เบšเบดเปˆเบ‡ เบกเบฒเป‚เบ„เบฃ.

* เปƒเบ”เป† เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบ›เบฒเบเบปเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™ เบˆเบฐโ€‹เบ–เบทเบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เป€เบ›เบฑเบ™
เป‚เบ•เปเบเบเป€เบžเบทเปˆเบญเปเบšเปˆเบ‡เบชเบฒเบเบ—เบตเปˆเบ‚เบฐเบซเบเบฒเบเบกเบฐเบซเบฒเบžเบฒเบเป€เบ›เบฑเบ™เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™. เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเบงเปˆเบฒ
เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบเบฐเบซเบงเปˆเบฒเบ‡เบญเบทเปˆเบ™เป†เบเบฑเบ‡เบ–เบทเบเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเปเบเบ. เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธ
เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบŠเบทเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ (เป€เบšเบดเปˆเบ‡ เบชเปˆเบงเบ™ 2.13, เบฎเบนเบšเปเบšเบš เบเบฒเบ™เบˆเบฑเบšเบ„เบนเปˆ notation) เบเปเปˆเบ„เบทเบเบฑเบ™
เบ›เบฐเบ•เบดเบšเบฑเบ”.

* เบ–เป‰เบฒเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เบญเบ‡เบ•เบปเบงเปเบเบเปเบฅเบฐเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบŠเบทเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เบชเบนเบ™
เบซเบผเบทเบชเบญเบ‡เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบžเบถเบ”เบ•เบดเบเปเบฒเปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธ. เบ–เป‰เบฒเบกเบฑเบ™เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบ™เบซเบ™เบถเปˆเบ‡
เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ—เบตเปˆเบšเปเปˆเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ, เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ™เบฑเป‰เบ™เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบŠเบทเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡.

เบ–เป‰เบฒเบŠเบทเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบšเปเปˆเบ‚เบถเป‰เบ™เบ•เบปเป‰เบ™เบ”เป‰เบงเบ a '/' เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบžเบตเปˆเบ™เป‰เบญเบ‡เบเบฑเบšเบ›เบฐเบˆเบธเบšเบฑเบ™
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™, เบšเปเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบต makefile.
เบ–เป‰เบฒเป„เบŸเบฅเปŒเบšเปเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ™เบตเป‰, เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเบงเปˆเบฒเบˆเบฐเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบซเบผเบทเบšเปเปˆ
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ–เบทเบเบ„เบปเป‰เบ™เบซเบฒ.

เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เป‚เบ”เบเบŠเบทเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบˆเบฐเบ–เบทเบเบญเปˆเบฒเบ™ เปเบฅเบฐเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ„เบทเบเบฑเบšเบงเปˆเบฒเบžเบงเบเบกเบฑเบ™
เบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™ makefile เปเบ—เบ™เป€เบชเบฑเป‰เบ™เบฅเบงเบก. เบ–เป‰เบฒเป„เบŸเบฅเปŒเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เบ”เป‰เบงเบเบเบฒเบ™เบซเบฅเบปเบšเบซเบ™เบต
เบžเบถเบ”เบ•เบดเบเบณเบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธ.

เป„เบŸเบฅเปŒเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบญเบฒเบ”เบˆเบฐเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบชเบฒเบเบ•เบทเปˆเบกเบญเบตเบ. เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบˆเบฐเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบฎเบฑเบ‡
เบ›เบฐเบเบญเบšเบกเบตเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเป€เบฅเบดเบเบขเปˆเบฒเบ‡เปœเป‰เบญเบ 16 เป„เบŸเบฅเปŒ.

makefile เบเบฒเบ™เบšเปเบฅเบดเบซเบฒเบ™
เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ Makefile เบˆเบฐเบ–เบทเบเบ›เบธเบ‡เปเบ•เปˆเบ‡เป€เบ—เบทเปˆเบญเบฅเบฐเบญเบฑเบ™.

เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ Makefile เบชเบฒเบกเบฒเบ”เบกเบตเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒเบ•เปเปˆเป„เบ›เบ™เบตเป‰: a ('-'),
เบ›เป‰เบฒเบเบŠเบทเปˆ ('@'), เบซเบผเบท เบ ('+'). เบชเบดเปˆเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบ”เบฑเบ”เปเบ›เบ‡เบงเบดเบ—เบตเบเบฒเบ™ เป€เบฎเบฑเบ”เปƒเบซเป‰
เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡.

โˆ’ เบ–เป‰เบฒเบ„เบณเบ™เบณเปœเป‰เบฒเบกเบต a , เบซเบผเบท -i เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, เบซเบผเบท
เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹ .เบšเปเปˆเบชเบปเบ™เปƒเบˆ เบกเบตเป€เบ›เบปเป‰เบฒเปเบฒเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เป€เบ›เบฑเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™ เบซเบผเบทเบšเปเปˆเบกเบต
เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบžเบปเบšเป€เบซเบฑเบ™เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฐเบ–เบทเบเบฅเบฐเป€เบฅเบตเบ.

@ เบ–เป‰เบฒเบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบ at-sign เปเบฅเบฐ the เป€เบฎเบฑเบ”เปƒเบซเป‰ เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ” เบ™
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹, เบซเบผเบทโ€‹ โˆ’เบช เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, เบซเบผเบทเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบžเบดเป€เบชเบ” .เบ‡เบฝเบš
เบกเบตเบ—เบฑเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เป€เบ›เบฑเบ™ prerequisite เบซเบผเบทเบšเปเปˆเบกเบต prerequisites, เบ„เปเบฒเบชเบฑเปˆเบ‡
เบˆเบฐเบšเปเปˆเบ–เบทเบเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”.

+ เบ–เป‰เบฒเบ„เบณเบ™เบณเปœเป‰เบฒเบกเบต a , เบ™เบตเป‰เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ makefile
เบ—เบตเปˆเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ เบ™, โˆ’q, เบซเบผเบท -t เบ–เบทเบเบเปเบฒเบ™เบปเบ”.

An เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” เบญเบญเบ™เป„เบฅเบ™เปŒ เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบˆเบฒเบเบšเบฑเบ™เบ—เบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เป‚เบ”เบเบเบฒเบ™เบ–เบญเบ™เบ•เบปเบงเบซเบ™เบฑเบ‡เบชเบท prefix เปƒเบ”. เบเบปเบเป€เบงเบฑเป‰เบ™
เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เบžเบฒเบเปƒเบ•เป‰เบ„เบณเบ™เบณเปœเป‰เบฒเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบ, เป€เบชเบฑเป‰เบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™
เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹, เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบเปˆเบญเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เป‚เบ”เบ a . เป€เบชเบฑเป‰เบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เป‚เบ”เบ a
shell เป€เบ›เบฑเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ–เปˆเบฒเบเบ—เบญเบ”เป€เบ›เบฑเบ™เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบเบฑเบš เบฅเบฐเบšเบปเบš() เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš, เบเบปเบเป€เบงเบฑเป‰เบ™เบงเปˆเบฒเบ–เป‰เบฒ
เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบฐเป€เบฅเบตเบเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปเบเบฐ โˆ’e เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบเบฑเบ‡โ€‹เบˆเบฐโ€‹เบกเบตโ€‹เบœเบปเบ™โ€‹เบเบฐโ€‹เบ—เบปเบšโ€‹. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹
เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบฅเบฐเป€เบฅเบตเบเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡ (เป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบ -i เบ—เบฒเบ‡เป€เบฅเบทเบญเบ, เบ 'โˆ’' เบ„เปเบฒโ€‹เบ™เปเบฒโ€‹เบซเบ™เป‰เบฒโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹, เบซเบผเบทโ€‹
a .เบšเปเปˆเบชเบปเบ™เปƒเบˆ เป€เบ›เบปเป‰เบฒเปเบฒเบเบžเบดเป€เบชเบ”), เบซเบญเบ โˆ’e เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบˆเบฐโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบœเบปเบ™โ€‹เบเบฐโ€‹เบ—เบปเบšโ€‹. เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบชเปเบฒเบฅเบฑเบš
เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบ–เบทเบโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบˆเบฐโ€‹เบกเบตโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบงโ€‹เปเบ›โ€‹เปƒเบ™โ€‹เบชเบฐโ€‹เบžเบฒเบšโ€‹เปเบงเบ”โ€‹เบฅเป‰เบญเบกโ€‹เบ‚เบญเบ‡โ€‹ เป€เบฎเบฑเบ”เปƒเบซเป‰.

เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป€เบกเบทเปˆเบญ เป€เบฎเบฑเบ”เปƒเบซเป‰ เป„เบ”เป‰เบฎเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบžเบฒเบšเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบชเบนเบ™เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡, เบกเบฑเบ™เบˆเบฐ
เบชเบดเป‰เบ™เบชเบธเบ”เบ”เป‰เบงเบเบ‚เปเป‰เบ„เบงเบฒเบกเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบเบฑเบšเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™.

เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ เบเบปเบ”เบฅเบฐเบšเบฝเบš
เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เปเบกเปˆเบ™โ€‹เบกเบตโ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ [เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ...]: [เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™...][;เบ„เปเบฒเบชเบฑเปˆเบ‡]
[เบ„เปเบฒเบชเบฑเปˆเบ‡
เบ„เปเบฒเบชเบฑเปˆเบ‡
...]

เบญเบญเบ™เป„เบฅเบ™เปŒ เบ—เบตเปˆ เบšเปเปˆ เบšเปเปˆ เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ เบเบฑเบš

เบฅเบฒเบเบเบฒเบ™เป€เบ›เบปเป‰เบฒเปเบฒเบเปเบกเปˆเบ™เบเบณเบ™เบปเบ”เป‚เบ”เบ เบ - เปเบเบเบญเบญเบ, เบฅเบฒเบเบŠเบทเปˆเป€เบ›เบปเป‰เบฒเปเบฒเบเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™ null, เบˆเบฒเบเบ™เบฑเป‰เบ™ เบ
, เบˆเบฒเบเบ™เบฑเป‰เบ™ เบ - เปเบเบโ€‹เบญเบญเบโ€‹, เป€เบ›เบฑเบ™โ€‹เป„เบ›โ€‹เป„เบ”เป‰โ€‹เบซเบงเปˆเบฒเบ‡โ€‹เป€เบ›เบปเปˆเบฒโ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบฅเบฒเบโ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡ prerequisitesโ€‹. เบ‚เปเป‰เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰ เบ
, เบ–เป‰เบฒเบกเบต, เปเบฅเบฐเบ—เบธเบเบชเบฒเบเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ a , เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ makefile
เบชเบฒเบเบ—เบตเปˆเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ. เป€เบชเบฑเป‰เบ™เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบšเปเปˆเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเบ—เบตเปˆเบšเปเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฑเบš เบ เบซเบผเบท '#' เบˆเบฐโ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เบเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เปƒเบซเบกเปˆโ€‹. เป€เบชเบฑเป‰เบ™เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ เบซเบผเบท เป€เบชเบฑเป‰เบ™เบซเบงเปˆเบฒเบ‡ เบซเบผเบท เป€เบชเบฑเป‰เบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฑเบš '#', เบญเบฒเบ”เบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบซเบกเปˆ.

เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบˆเบฐเบ•เป‰เบญเบ‡เป€เบฅเบทเบญเบเบŠเบทเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบˆเบฒเบเบŠเบธเบ”เบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบ solely เบ‚เบญเบ‡
เป„เบฅเบเบฐเป€เบงเบฅเบฒ, เบ‚เบตเบ”เบเป‰เบญเบ‡, เบ•เบปเบงเป€เบฅเบ, เปเบฅเบฐเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบˆเบฒเบเบŠเบธเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆ (เป€เบšเบดเปˆเบ‡
เบ›เบฐเบฅเบดเบกเบฒเบ™เบ™เบดเบเบฒเบกเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008, เบชเปˆเบงเบ™ 6.1, Portable เบฅเบฑเบเบชเบฐเบ™เบฐ เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰).
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบฒเบ”เบˆเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบญเบทเปˆเบ™เปƒเบ™เบŠเบทเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ. เป„เบ”เป‰
เบเบฒเบ™เบ•เบตเบ„เบงเบฒเบกเปเบฒเบเบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเปเบฒเบเบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ•เบปเบงเบฅเบฐเบ„เบญเบ™ '%' เปเบฅเบฐ '"' เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹.

เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เปเบ•เปˆเบšเปเปˆเบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ”เป†, เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเปƒเบชเปˆ
เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ™เบฑเป‰เบ™. เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบชเปเบฒเบฅเบฑเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ”เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบกเบต
เบ„เบณ เบชเบฑเปˆเบ‡.

เบชเบฒเบเบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบซเบ™เบถเปˆเบ‡เปƒเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปเบกเปˆเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒ เบžเบดเป€เบชเบ” เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ เปเบฅเบฐโ€‹เบ„เบงเบšโ€‹เบ„เบธเบก
เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰:

.เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ เบ–เป‰เบฒ makefile เปƒเบŠเป‰เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบžเบดเป€เบชเบ”เบ™เบตเป‰, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบˆเบฐเบ•เป‰เบญเบ‡เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบกเบฑเบ™
เบ–เบทเบเบฅเบฐเบšเบธเบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡, เปเบ•เปˆเบšเปเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™. เบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฐเป€เบ›เบฑเบ™
เปƒเบŠเป‰เป‚เบ”เบ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบปเบ”เบฅเบฐเบšเบฝเบšเบญเบทเปˆเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ.

.เบšเปเปˆเบชเบปเบ™เปƒเบˆ เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเปเบฒเบเบžเบดเป€เบชเบ”เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบปเป‰เบฒเปเบฒเบเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡; เบญเบฑเบ™เบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”
เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบˆเบฒเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบžเบงเบเบกเบฑเบ™เบˆเบฐเบ–เบทเบเบฅเบฐเป€เบงเบฑเป‰เบ™เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™เบเบฑเบš
เบฅเบฐเบšเบธเป„เบงเป‰เป‚เบ”เบ -i เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ•เปเปˆเบกเบฒเบ‚เบญเบ‡ .เบšเปเปˆเบชเบปเบ™เปƒเบˆ เบˆเบฐเป€เบžเบตเปˆเบกเปƒเบชเปˆ
เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบšเปเปˆเบชเบปเบ™เปƒเบˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบฅเบฐเบšเบธเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เป€เบฎเบฑเบ”เปƒเบซเป‰
เบˆเบฐโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เป€เบ›เบฑเบ™โ€‹เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹ -i เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปเบฅเบฐเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบˆเบฒเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”
เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป€เบ›เบปเป‰เบฒเปเบฒเบเบ—เบฑเบ‡เปเบปเบ”เบˆเบฐเบ–เบทเบเบฅเบฐเป€เบฅเบตเบ.

.POSIX เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบ•เป‰เบญเบ‡โ€‹เบฎเบฑเบšโ€‹เบ›เบฐโ€‹เบเบฑเบ™โ€‹เบงเปˆเบฒโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™
prerequisites เบซเบผเบทเบ„เปเบฒเบชเบฑเปˆเบ‡. เบ–เป‰เบฒเบกเบฑเบ™เบ›เบฒเบเบปเบ”เป€เบ›เบฑเบ™เปเบ–เบงเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบ„เปเบฒเบ„เบดเบ”เบ„เปเบฒเป€เบซเบฑเบ™เบ—เปเบฒเบญเบดเบ”เปƒเบ™
makefile, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบˆเบฐเบ•เป‰เบญเบ‡เบ›เบฐเบกเบงเบ™เบœเบปเบ™ makefile เบ•เบฒเบกเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบžเบฒเบเบ™เบตเป‰;
เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธ.

.PRECIOUS เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบžเบดเป€เบชเบ”เบ™เบตเป‰เบˆเบฐเบšเปเปˆเบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ เป€เบฎเบฑเบ”เปƒเบซเป‰ เป„เบ”เป‰เบฎเบฑเบšเบซเบ™เบถเปˆเบ‡
เบ‚เบญเบ‡เป€เบซเบ”เบเบฒเบ™เบšเปเปˆเบเบปเบ‡เบเบฑเบ™เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เปƒเบ™เป€เบซเบ”เบเบฒเบ™ ASYNCHRONOUS
เบžเบฒเบ. เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ•เปเปˆเบกเบฒเบ‚เบญเบ‡ .PRECIOUS เบˆเบฐเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ›เบฐเป€เบชเบตเบ”
เป„เบŸเบฅเปŒ. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบฅเบฐเบšเบธเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™ makefile เบˆเบฐเป€เบ›เบฑเบ™
เบฎเบฑเบšเบเบฒเบ™เบ›เบดเปˆเบ™เบ›เบปเบงเบ„เบทเบเบฑเบšเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบเบฑเบš .PRECIOUS.

.SCCS_GET เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบ•เป‰เบญเบ‡โ€‹เบฎเบฑเบšโ€‹เบ›เบฐโ€‹เบเบฑเบ™โ€‹เบงเปˆเบฒโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™
เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™. เบ–เป‰เบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบžเบดเป€เบชเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™ makefile, เบ„เปเบฒเบชเบฑเปˆเบ‡
เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบเบฑเบšเป€เบ›เบปเป‰เบฒเปเบฒเบเบ™เบตเป‰เบˆเบฐเบ›เปˆเบฝเบ™เปเบ—เบ™เบ„เบณเบชเบฑเปˆเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš
เป€เบ›เบปเป‰เบฒเปเบฒเบเบžเบดเป€เบชเบ”เบ™เบตเป‰ (เป€เบšเบดเปˆเบ‡ เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ เบเบปเบ”เบฅเบฐเบšเบฝเบš). เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบเบฑเบšเบ™เบตเป‰
เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบญเบปเบฒเป„เบŸเบฅเปŒ SCCS เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบšเปเปˆเบžเบปเบšเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™
เบฅเบฐเบšเบปเบš.

เป€เบกเบทเปˆเบญเป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡เบ–เบทเบเบ•เบฑเป‰เบ‡เบŠเบทเปˆเบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบช, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบžเบฝเบ‡เปเบ•เปˆ
เบ„เบทเบเบฑเบ™เบเบฑเบšเป€เบ›เบปเป‰เบฒเปเบฒเบเบญเบทเปˆเบ™เป†. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡เปเบกเปˆเบ™เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบกเบตเบขเบนเปˆเปƒเบ™
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต, เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบžเบตเปˆเบกเบฅเบฒเบเบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™เปƒเบชเปˆ makefile. เป€เบกเบทเปˆเบญ เบ
เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบญเบตเบ‡โ€‹เปƒเบชเปˆโ€‹, เปเบ•เปˆโ€‹เบกเบตโ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบˆเบฐเบชเบปเบกเบกเบธเบ”
เบงเปˆเบฒเป„เบŸเบฅเปŒเบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบญเบฑเบšเป€เบ”เบ”เปเบฅเป‰เบง. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เป„เบŸเบฅเปŒ SCCS เบ—เบตเปˆเบกเบตเบŠเบทเปˆ SCCS/เบงเบด.source_file
เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™เบชเปเบฒเบฅเบฑเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ source_file, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ›เบฝเบšเบ—เบฝเบšเป€เบงเบฅเบฒเบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเปเบฒเบ
เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบ‚เบญเบ‡ SCCS/s.source_file เป€เบžเบทเปˆเบญโ€‹เปƒเบซเป‰โ€‹เปเบ™เปˆโ€‹เปƒเบˆเบงเปˆโ€‹เบฒโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เปเบกเปˆเบ™โ€‹เบ—เบฑเบ™โ€‹เบชเบฐโ€‹เป„เบซเบกโ€‹. เบ–เป‰เบฒ
เป€เบ›เบปเป‰เบฒเปเบฒเบเบซเบฒเบเป„เบ›, เบซเบผเบทเบ–เป‰เบฒเป„เบŸเบฅเปŒ SCCS เปเบกเปˆเบ™เปƒเปเปˆเบเบงเปˆเบฒ, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”
เบญเบญเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบชเปเบฒเบฅเบฑเบš .SCCS_GET เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เป€เบžเบทเปˆเบญโ€‹เบ”เบถเบ‡โ€‹เป€เบญเบปเบฒโ€‹
เบชเบฐโ€‹เบšเบฑเบšโ€‹เบซเบฅเป‰เบฒโ€‹เบชเบธเบ”โ€‹. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ–เป‰เบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบกเปˆเบ™เบ‚เบฝเบ™เป‚เบ”เบเปƒเบœ, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบˆเบฐ
เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เปƒเบซเบกเปˆโ€‹.

.เบ‡เบฝเบš เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเปเบฒเบเบžเบดเป€เบชเบ”เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบปเป‰เบฒเปเบฒเบเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡; เบญเบฑเบ™เบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”
เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบžเบงเบเบกเบฑเบ™เบšเปเปˆเปƒเบซเป‰เบ‚เบฝเบ™เปƒเบชเปˆเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบเปˆเบญเบ™
เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ•เปเปˆเบกเบฒเบ‚เบญเบ‡ .เบ‡เบฝเบš เบˆเบฐเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡
เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡ silent. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบฅเบฐเบšเบธเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบˆเบฐ
เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบ„เบทเบเบฑเบšเบงเปˆเบฒ โˆ’เบช เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปเบฅเบฐเบšเปเปˆเบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบผเบทเบ‚เปเป‰เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ”
เบ—เบตเปˆเบเปˆเบฝเบงเบžเบฑเบ™เบเบฑเบšเป€เบ›เบปเป‰เบฒเปเบฒเบเปƒเบ”เปœเบถเปˆเบ‡เบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™.

.SUFFIXES เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡ .SUFFIXES เบˆเบฐเบ–เบทเบเบ•เบทเปˆเบกเปƒเบชเปˆเปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ„เปเบฒเบ•เปเปˆเบ—เป‰เบฒเบเบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบ เปเบฅเบฐ
เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบชเบปเบกเบ—เบปเบšเบเบฑเบšเบเบปเบ”เบฅเบฐเบšเบฝเบš inference (เป€เบšเบดเปˆเบ‡ เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆ เบเบปเบ”เบฅเบฐเบšเบฝเบš) เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ
.SUFFIXES เบšเปเปˆเบกเบต prerequisites เปƒเบ”, เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡ suffixes เบฎเบนเป‰เบˆเบฑเบเบˆเบฐเป€เบ›เบฑเบ™
เป€เบเบฑเบšเบเบนเป‰.

เป€เบ›เบปเป‰เบฒเปเบฒเบเบžเบดเป€เบชเบ” .เบšเปเปˆเบชเบปเบ™เปƒเบˆ, .POSIX, .PRECIOUS, .เบ‡เบฝเบš, เปเบฅเบฐ .SUFFIXES เบˆเบฐเบ–เบทเบเบฅเบฐเบšเบธ
เป‚เบ”เบเบšเปเปˆเบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡.

เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบกเบตเบŠเบทเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบœเบนเป‰เบ™เปเบฒ เบ•เบดเบ”เบ•เบฒเบกเบ”เป‰เบงเบเบ•เบปเบงเบžเบดเบกเปƒเบซเบเปˆ
"POSIX" เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบญเบทเปˆเบ™เป†เปเบกเปˆเบ™เบชเบฐเบซเบ‡เบงเบ™เป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”. เป€เบ›เบปเป‰เบฒเปเบฒเบ
เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบœเบนเป‰เบ™เปเบฒ เบ•เบดเบ”เบ•เบฒเบกเบ”เป‰เบงเบเบ•เบปเบงเบžเบดเบกเปƒเบซเบเปˆเบญเบฑเบ™เปœเบถเปˆเบ‡ เบซเบผเบท เบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™
เบชเบฐเบซเบ‡เบงเบ™เป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”.

เบกเบฒเป‚เบ„เบฃ
เบ„เปเบฒเบ™เบดเบเบฒเบก Macro เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบฎเบนเบšเปเบšเบš:

string1 = [string2]

เบกเบฐเบซเบฒเบžเบฒเบเบ—เบตเปˆเบกเบตเบŠเบทเปˆ string1 เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเป€เบ›เบฑเบ™เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡ string2, เบšเปˆเบญเบ™เบ—เบตเปˆ string2 is
เบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบ–เป‰เบฒเบกเบต, เบซเบผเบฑเบ‡เบˆเบฒเบ , เป€เบ–เบดเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเบ„เปเบฒเบ„เบดเบ”เบ„เปเบฒเป€เบซเบฑเบ™
('#') เบซเบผเบทโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹ . เปƒเบ” เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบฑเบ™เบ—เบตเบเปˆเบญเบ™เบซเบผเบทเบซเบผเบฑเบ‡เบˆเบฒเบ
เบˆเบฐเบ–เบทเบเบฅเบฐเป€เบฅเบตเบ.

เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบˆเบฐเบ•เป‰เบญเบ‡เป€เบฅเบทเบญเบเบŠเบทเปˆเบกเบฐเบซเบฒเบžเบฒเบเบˆเบฒเบเบŠเบธเบ”เบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเปเบ•เปˆเบžเบฝเบ‡เบœเบนเป‰เบ”เบฝเบง
เป„เบฅเบเบฐเป€เบงเบฅเบฒ, เบ‚เบตเบ”เบเป‰เบญเบ‡, เบ•เบปเบงเป€เบฅเบ, เปเบฅเบฐเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบˆเบฒเบเบŠเบธเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆ (เป€เบšเบดเปˆเบ‡
เบ›เบฐเบฅเบดเบกเบฒเบ™เบ™เบดเบเบฒเบกเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008, เบชเปˆเบงเบ™ 6.1, Portable เบฅเบฑเบเบชเบฐเบ™เบฐ เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰). เบกเบฐเบซเบฒเบžเบฒเบ
เบŠเบทเปˆเบˆเบฐเบ•เป‰เบญเบ‡เบšเปเปˆเบกเบต . เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบฒเบ”เบˆเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบฅเบฑเบเบชเบฐเบ™เบฐเบญเบทเปˆเบ™เป†เปƒเบ™
เบŠเบทเปˆเบกเบฐเบซเบฒเบžเบฒเบเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ.

Macros เบชเบฒเบกเบฒเบ”เบ›เบฒเบเบปเบ”เบขเบนเปˆเบšเปˆเบญเบ™เปƒเบ”เบเปเป„เบ”เป‰เปƒเบ™ makefile. เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบกเบฐเบซเบฒเบžเบฒเบเป‚เบ”เบเปƒเบŠเป‰เบฎเบนเบšเปเบšเบš $(string1) เบซเบผเบท
${string1} เบˆเบฐเบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบ string2, เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

* Macros เปƒเบ™เป€เบชเบฑเป‰เบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบˆเบฐเบ–เบทเบเบ›เบฐเป€เบกเบตเบ™เป€เบกเบทเปˆเบญเป€เบชเบฑเป‰เบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ–เบทเบเบญเปˆเบฒเบ™.

* Macros เปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ makefile เบˆเบฐเบ–เบทเบเบ›เบฐเป€เบกเบตเบ™เป€เบกเบทเปˆเบญเบ„เปเบฒเบชเบฑเปˆเบ‡เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”.

* Macros เปƒเบ™ string เบเปˆเบญเบ™ เปƒเบ™เบ„เปเบฒเบ™เบดเบเบฒเบกเบกเบฐเบซเบฒเบžเบฒเบเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเป€เบกเบตเบ™
เป€เบกเบทเปˆเบญเบกเบตเบเบฒเบ™เบกเบญเบšเปเบฒเบเบกเบฐเบซเบฒเบžเบฒเบ.

* Macros เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹ เปƒเบ™เบ„เปเบฒเบ™เบดเบเบฒเบกเบกเบฐเบซเบฒเบžเบฒเบเบˆเบฐเบšเปเปˆเบ–เบทเบเบ›เบฐเป€เบกเบตเบ™เบˆเบปเบ™เบเปˆเบงเบฒ
macro เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบšเบซเบผเบทเบ„เปเบฒเบชเบฑเปˆเบ‡, เบซเบผเบทเบเปˆเบญเบ™ เปƒเบ™เบกเบฐเบซเบฒเบžเบฒเบ
เบ„เปเบฒเบ™เบดเบเบฒเบก.

เบงเบปเบ‡เป€เบฅเบฑเบšเบซเบผเบทเบงเบปเบ‡เป€เบฅเบฑเบšเปเบกเปˆเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ–เป‰เบฒ string1 เป€เบ›เบฑเบ™เบ•เบปเบงเบฅเบฐเบ„เบญเบ™เบ”เบฝเบง. เบกเบฐเบซเบฒเบžเบฒเบ $$
เบˆเบฐเบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ”เบฝเบง '$'เบ—เบตเปˆเบขเบนเปˆ เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ string1 เปƒเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบกเบฐเบซเบฒเบžเบฒเบเบ›เบฐเบเบญเบšเบ”เป‰เบงเบ a
เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ•เบปเบงเบกเบฐเบซเบฒเบžเบฒเบ, เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”.

เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบกเบฐเบซเบฒเบžเบฒเบเป‚เบ”เบเปƒเบŠเป‰เบฎเบนเบšเปเบšเบš $(string1[:เบเปˆเบญเบ1=[เบเปˆเบญเบ2]]) เบซเบผเบท
${string1[:เบเปˆเบญเบ1=[เบเปˆเบญเบ2]]} เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ—เบปเบ”เปเบ—เบ™เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡ เบเปˆเบญเบ1 เบเบฑเบš เบเปˆเบญเบ2
เป€เบกเบทเปˆเบญเบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบกเบฐเบซเบฒเบžเบฒเบเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เป„เบ”เป‰ เบเปˆเบญเบ1 เบˆเบฐเบ–เบทเบเบ—เบปเบ”เปเบ—เบ™เบˆเบฐเบ–เบทเบเบฎเบฑเบšเบฎเบนเป‰
เป€เบกเบทเปˆเบญเบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบเบขเบนเปˆเบ—เป‰เบฒเบเบ‚เบญเบ‡เบ„เบณเบชเบฑเบšเปƒเบ”เปœเบถเปˆเบ‡ string1 (เบขเบนเปˆโ€‹เปƒเบช เบ„เปเบฒ, เปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เบ™เบตเป‰, เปเบกเปˆเบ™
เบเบณเบ™เบปเบ”เปƒเบซเป‰เป€เบ›เบฑเบ™เบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเบ‚เบฑเป‰เบ™เบ”เป‰เบงเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เปเบ–เบง, a , เบซเบผเบท เบ ).
If string1 เปƒเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบกเบฐเบซเบฒเบžเบฒเบเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบกเบฐเบซเบฒเบžเบฒเบ, เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธ.

เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบกเบฐเบซเบฒเบžเบฒเบเปƒเบ™ string1 เบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบ™เบดเบเบฒเบกเบกเบฐเบซเบฒเบžเบฒเบเบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบ›เบฐเป€เบกเบตเบ™เป€เบกเบทเปˆเบญเบญเปˆเบฒเบ™. เบกเบฐเบซเบฒเบžเบฒเบ
เบเบฒเบ™โ€‹เบ‚เบฐโ€‹เบซเบเบฒเบโ€‹เบ•เบปเบงโ€‹เปƒเบ™โ€‹ string2 เป€เบชเบฑเป‰เบ™เบเบณเบ™เบปเบ”เบกเบฐเบซเบฒเบžเบฒเบเบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบกเบทเปˆเบญเบกเบฐเบซเบฒเบžเบฒเบ
เบฅเบฐเบšเบธเป‚เบ”เบ string1 เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเบญเบญเบเปƒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบšเบซเบผเบทเบ„เปเบฒเบชเบฑเปˆเบ‡.

เบ„เปเบฒเบ™เบดเบเบฒเบก Macro เบˆเบฐเบ–เบทเบเป€เบญเบปเบฒเบกเบฒเบˆเบฒเบเปเบซเบผเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰, เปƒเบ™เป€เบซเบ”เบœเบปเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰
เบ„เปเบฒเบชเบฑเปˆเบ‡, เบเปˆเบญเบ™เบ—เบตเปˆ makefile เบˆเบฐเบ–เบทเบเบญเปˆเบฒเบ™.

1. Macros เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ เป€เบฎเบฑเบ”เปƒเบซเป‰ เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ utility, เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™
เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡. เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเบงเปˆเบฒ macros เบžเบฒเบเปƒเบ™เบเปเบฒเบ™เบปเบ”เบขเบนเปˆเปƒเบ™ เบžเบฒเบเปƒเบ™ เบกเบฒเป‚เบ„เบฃ
เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบˆเบฒเบเปเบซเบผเปˆเบ‡เบ™เบตเป‰.

2. Macros เบเปเบฒเบ™เบปเบ”เป‚เบ”เบ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™
เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ›เปˆเบฝเบ™เปเบ›เบ‡. เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเบงเปˆเบฒ macros เบžเบฒเบเปƒเบ™เบเปเบฒเบ™เบปเบ”เบขเบนเปˆเปƒเบ™
เบžเบฒเบเปƒเบ™ เบกเบฒเป‚เบ„เบฃ เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบˆเบฒเบเปเบซเบผเปˆเบ‡เบ™เบตเป‰.

3. เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก, เบšเปเปˆเบฅเบงเบกเป€เบญเบปเบฒ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เปเบฅเบฐ SHELL เบ•เบปเบงเปเบ›เปเบฅเบฐ
เบฅเบงเบกเบ—เบฑเบ‡เบ•เบปเบงเปเบ›เบ—เบตเปˆเบกเบตเบ„เปˆเบฒ null.

4. Macros เบเปเบฒเบ™เบปเบ”เปƒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบš inference เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™ เป€เบฎเบฑเบ”เปƒเบซเป‰.

เบ„เปเบฒเบ™เบดเบเบฒเบก Macro เบˆเบฒเบเปเบซเบผเปˆเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบšเปเปˆเบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เปเบฒเบ™เบดเบเบฒเบกเบกเบฐเบซเบฒเบžเบฒเบเบˆเบฒเบเบ•เปˆเปเบฒเบเบงเปˆเบฒ.
เปเบซเบผเปˆเบ‡เบ•เบปเบงเป€เบฅเบ. เบ„เปเบฒเบ™เบดเบเบฒเบก Macro เบˆเบฒเบเปเบซเบผเปˆเบ‡เบ”เบฝเบง (เบ•เบปเบงเบขเปˆเบฒเบ‡, the เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”
เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, เป„เบ”เป‰ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก, เบซเบผเบทเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบญเบทเปˆเบ™เป†)
เบˆเบฐเบ•เป‰เบญเบ‡เบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เบณเบ™เบดเบเบฒเบกเบกเบฐเบซเบฒเบžเบฒเบเบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰เบˆเบฒเบเปเบซเบผเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™.

Macros เบ—เบตเปˆเบเบณเบ™เบปเบ”เป„เบงเป‰เปƒเบ™ makefile เบˆเบฐเบ•เป‰เบญเบ‡เบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เบณเบ™เบดเบเบฒเบกเบกเบฐเบซเบฒเบžเบฒเบเบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบเปˆเบญเบ™เบžเบงเบเบกเบฑเบ™
เปƒเบ™ makefile(s) เปเบฅเบฐเบ„เปเบฒเบ™เบดเบเบฒเบก macro เบˆเบฒเบเปเบซเบผเปˆเบ‡ 4. เบ–เป‰เบฒ โˆ’e เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹,
macros เบ—เบตเปˆเบเบณเบ™เบปเบ”เป„เบงเป‰เปƒเบ™ makefile เบˆเบฐเบ•เป‰เบญเบ‡ override macro เบ™เบดเบเบฒเบกเบˆเบฒเบเปเบซเบผเปˆเบ‡ 3. Macros
เบเบณเบ™เบปเบ”เป„เบงเป‰เปƒเบ™ makefile(s) เบˆเบฐเบšเปเปˆเบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เบณเบ™เบดเบเบฒเบกเบกเบฐเบซเบฒเบžเบฒเบเบˆเบฒเบเปเบซเบผเปˆเบ‡เบ—เบตเปˆเบกเบฒ 1 เบซเบผเบท เปเบซเบผเปˆเบ‡ 2.

เบเปˆเบญเบ™เบ—เบตเปˆ makefile เบˆเบฐเบ–เบทเบเบญเปˆเบฒเบ™, เบ—เบฑเบ‡เบซเบกเบปเบ” เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ•เบปเบงเป€เบฅเบทเบญเบเปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ” (เบเบปเบเป€เบงเบฑเป‰เบ™ -f
เปเบฅเบฐ -เบ›) เปเบฅเบฐ เป€เบฎเบฑเบ”เปƒเบซเป‰ utility command line macro เบ™เบดเบเบฒเบก (เบเบปเบเป€เบงเบฑเป‰เบ™เบชเปเบฒเบฅเบฑเบš เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ
macro), เบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบฅเบงเบกเบขเบนเปˆเปƒเบ™ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบกเบฐเบซเบฒเบžเบฒเบ, เบˆเบฐเบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ
เบกเบฐเบซเบฒเบžเบฒเบ, เบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เป„เบงเป‰เป€เบŠเบฑเปˆเบ™เบงเปˆเบฒเป€เบงเบฅเบฒเปƒเบ” เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบ–เบทเบเบญเปˆเบฒเบ™เป‚เบ”เบ
เบ•เบปเบงเบขเปˆเบฒเบ‡เบญเบทเปˆเบ™เบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ„เปเบฒเบชเบฑเปˆเบ‡, เบกเบนเบ™เบ„เปˆเบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบกเบฐเบซเบฒเบžเบฒเบเปเบกเปˆเบ™เบŸเบทเป‰เบ™เบ•เบปเบง. เบญเบทเปˆเบ™เป†
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบงเป‰โ€‹เปเบฅเบฐ macro เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป„เบ›โ€‹เปƒเบ™โ€‹ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบกเบฐเบซเบฒเบžเบฒเบ. เบ–เป‰เบฒ
เบ™เบตเป‰เบ”เบฑเบ”เปเบ›เบ‡เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบกเบฐเบซเบฒเบžเบฒเบ, เบซเบผเบท, เบ–เป‰เบฒ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบกเบฐเบซเบฒเบžเบฒเบเบ–เบทเบเบ”เบฑเบ”เปเบเป‰เบขเบนเปˆเบ—เบตเปˆ
เปƒเบ™เป€เบงเบฅเบฒเบ•เปเปˆเบกเบฒ, เป„เบ”เป‰ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบ•เบปเบงเบ›เปˆเบฝเบ™เปเบ›เบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบˆเบฐเบ–เบทเบเบ”เบฑเบ”เปเบเป‰เป€เบžเบทเปˆเบญเปƒเบซเป‰เบเบปเบ‡เบเบฑเบšเบชเบดเปˆเบ‡เปƒเบซเบกเปˆ
เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบกเบฐเบซเบฒเบžเบฒเบ. เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เปƒเบ™ Makefile เปเบกเปˆเบ™
เบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธ.

เบเปˆเบญเบ™เบ—เบตเปˆ makefile เบˆเบฐเบ–เบทเบเบญเปˆเบฒเบ™, เบ—เบฑเบ‡เบซเบกเบปเบ” เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ„เปเบฒเบ™เบดเบเบฒเบกเบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ utility macro
(เบเบปเบเป€เบงเบฑเป‰เบ™ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบกเบฐเบซเบฒเบžเบฒเบ เบซเบผเบท SHELL macro) เบˆเบฐเบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰.
เบ•เบปเบงเปเบ›เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบทเปˆเบ™เป†เบญเบฒเบ”เบˆเบฐเบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰.

เป„เบ”เป‰ SHELL เบกเบฐเบซเบฒเบžเบฒเบเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบžเบดเป€เบชเบ”. เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบ เป€เบฎเบฑเบ”เปƒเบซเป‰ เปเบฅเบฐเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™
เบŠเบทเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบžเบฒเบชเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡ shell (เป€เบšเบดเปˆเบ‡ sh) The SHELL เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก
เบ•เบปเบงเปเบ›เบˆเบฐเบšเปเปˆเบชเบปเปˆเบ‡เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡ SHELL เบกเบฐเบซเบฒเบžเบฒเบ. เบ–เป‰เบฒ SHELL เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™
makefile เบซเบผเบทเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, เบกเบฑเบ™เบˆเบฐเบ›เปˆเบฝเบ™เปเบ—เบ™เบ„เปˆเบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡
SHELL เบกเบฐเบซเบฒเบžเบฒเบ, เปเบ•เปˆเบˆเบฐเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบš SHELL เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ›เปˆเบฝเบ™เปเบ›เบ‡. เบœเบปเบ™เบเบฐเบ—เบปเบšเบญเบทเปˆเบ™เป†เบ‚เบญเบ‡
เบเปเบฒเบ™เบปเบ” SHELL เปƒเบ™ makefile เบซเบผเบทเปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบกเปˆเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰.

เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆ เบเบปเบ”เบฅเบฐเบšเบฝเบš
เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบเบฒเบ™โ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบˆเบฑเบ”โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ:
เบ„เปเบฒเบชเบฑเปˆเบ‡
[เบ„เปเบฒเบชเบฑเปˆเบ‡]
...

เบญเบญเบ™เป„เบฅเบ™เปŒ เบ—เบตเปˆ เบšเปเปˆ เบšเปเปˆ เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ เบเบฑเบš or #

เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบˆเบฐเบ•เป‰เบญเบ‡เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒ เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ เบชเปˆเบงเบ™เปเบกเปˆเบ™เบŠเบทเปˆเป€เบ›เบปเป‰เบฒเปเบฒเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ (เป€เบšเบดเปˆเบ‡ เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ
เบเบปเบ”เบฅเบฐเบšเบฝเบš) เบ‚เบญเบ‡โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹ .s2 or .s1.s2 (เบšเปˆเบญเบ™เบ—เบตเปˆ .s1 เปเบฅเบฐ .s2 เปเบกเปˆเบ™ suffixes เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเป€เบ›เบฑเบ™
เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡ .SUFFIXES เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เปเบฅเบฐโ€‹ s1 เปเบฅเบฐ s2 เบšเปเปˆเบกเบตเบญเบฑเบ™เปƒเบ” เบซเบผเบท
เบ•เบปเบงเบญเบฑเบเบชเบญเบ™.) เบ–เป‰เบฒเบกเบตเบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡ เปƒเบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ, เบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เปเบฒเบ•เปเปˆเบ—เป‰เบฒเบ
เบเบปเบ”เบฅเบฐเบšเบฝเบš inference. เป€เบ›เบปเป‰เบฒเปเบฒเบเบ—เบตเปˆเบกเบตเบชเบญเบ‡เป„เบฅเบเบฐเปเบกเปˆเบ™เบเบปเบ”เป€เบเบ™เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เบชเบญเบ‡เป€เบ—เบปเปˆเบฒ. เบเบฒเบ™เบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™
เบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเบฒเบกเบฒเบ”เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐ .

เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบˆเบฐเบ•เป‰เบญเบ‡เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒ makefile เบšเปเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบš
เบเบปเบ”เบฅเบฐเบšเบฝเบš inference; เบšเปเปˆเบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบญเบทเปˆเบ™เบ™เบญเบเป€เปœเบทเบญเป„เบ›เบˆเบฒเบเบžเบทเป‰เบ™เบ—เบตเปˆเบชเบตเบ‚เบฒเบงเบˆเบฐเบ•เป‰เบญเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก เปƒเบ™
เปเบ–เบงเบ—เปเบฒเบญเบดเบ”, เบเบปเบเป€เบงเบฑเป‰เบ™เป€เบกเบทเปˆเบญเบชเป‰เบฒเบ‡ เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ เบเบปเบ”เบฅเบฐเบšเบฝเบš, เบญเบฐเบ—เบดเบšเบฒเบเบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰. เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เปเบกเปˆเบ™
inferred, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰.

เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เปƒเบซเบกเปˆ. เป€เบ›เบปเป‰เบฒเปเบฒเบเบ—เบตเปˆเบเบปเบ‡เบเบฑเบšเบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบชเบปเบกเบกเบธเบ”เบ–เบฒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเบˆเบฐเบ•เป‰เบญเบ‡
เบ‚เบฝเบ™เบ—เบฑเบšเบเบปเบ”เบฅเบฐเบšเบฝเบš inference เป€เบเบปเปˆเบฒ. เบเบปเบ”เบฅเบฐเบšเบฝเบšเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบ
เบ‚เบญเบ‡เบžเบฝเบ‡เปเบ•เปˆ a (เบ™เบฑเป‰เบ™โ€‹เปเบกเปˆเบ™, เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบเบฑเบ‡โ€‹เบกเบตโ€‹เบขเบนเปˆโ€‹เปเบฅเบฐโ€‹เบžเบปเบšโ€‹เป€เบซเบฑเบ™โ€‹เปƒเบ™โ€‹เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡ inference rule
เบ„เบปเป‰เบ™เบซเบฒ, เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเปเปˆเบกเบตเบœเบปเบ™). เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเปˆเบฒเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™
เบˆเบฑเบ”โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

เบเบปเบ”เบฅเบฐเบšเบฝเบš:;

เบšเปˆเบญเบ™เบ—เบตเปˆเบชเบนเบ™เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™ เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เปเบเบโ€‹เบญเบญเบโ€‹ เปเบฅเบฐ .

เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบ•เปเปˆเบ—เป‰เบฒเบเบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบฅเบฐเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเป€เบžเบทเปˆเบญ infer how a
เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบ—เบฑเบ™โ€‹เบชเบฐโ€‹เป„เบซเบกโ€‹. เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบš inference เบเปเบฒเบ™เบปเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™
เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบŠเบธเบ”เบ‚เบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบš inference. เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบžเบตเปˆเบกเป€เบ•เบตเบก
เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ makefile.

เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹ .SUFFIXES เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ„เปเบฒเบ•เปเปˆเบ—เป‰เบฒเบเบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบกเบฑเบ™
เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบเบปเบ”เบฅเบฐเบšเบฝเบš inference. เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆ suffixes เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบเปเบฒเบ™เบปเบ”
เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบเบปเบ”เบฅเบฐเบšเบฝเบš inference เบชเปเบฒเบฅเบฑเบš suffixes เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบเปƒเปเปˆเบˆเบฐเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™
เบ•เบทเปˆเบกเปƒเบชเปˆเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ›เบฐเบˆเบธเบšเบฑเบ™เป‚เบ”เบเบเบฒเบ™เบฅเบฐเบšเบธ a .SUFFIXES เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบžเบดเป€เบชเบ”เปƒเบ™ makefile. เบ
.SUFFIXES เป€เบ›เบปเป‰เบฒเปเบฒเบเบ—เบตเปˆเบšเปเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบˆเบฐเบ•เป‰เบญเบ‡เบฅเบถเบšเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบ. เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ
.SUFFIXES เป€เบ›เบปเป‰เบฒเปเบฒเบเบ•เบฒเบกเบกเบฒเบ”เป‰เบงเบเบญเบฑเบ™เปƒเปเปˆ .SUFFIXES เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡
เบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบ.

เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, เบœเบนเป‰เปƒเบŠเป‰เบˆเบฐเปƒเบซเป‰เบเบปเบ”เบฅเบฐเบšเบฝเบš inference เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ suffix. เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™ inference เบเบฑเบš
เบ›เบฑเบšเบ›เบธเบ‡เป€เบ›เบปเป‰เบฒเปเบฒเบเบ”เป‰เบงเบเบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบ .s1 เบˆเบฒเบ prerequisite เบเบฑเบš suffix เป€เบ›เบฑเบ™ .s2 เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™
เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ .s2.s1. เบกเบฐเบซเบฒเบžเบฒเบเบžเบฒเบเปƒเบ™เบชเบฐเบซเบ™เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบเบปเบ”เบฅเบฐเบšเบฝเบš inference เบ—เบปเปˆเบงเป„เบ›
(เป€เบšเบดเปˆเบ‡ เบžเบฒเบเปƒเบ™ เบกเบฒเป‚เบ„เบฃ).

เป€เบกเบทเปˆเบญเบšเปเปˆเบžเบปเบšเบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ”เบซเบ™เบถเปˆเบ‡, เบเบปเบ”เบฅเบฐเบšเบฝเบš inference เบˆเบฐเบ–เบทเบเบเบงเบ”เบชเบญเบš. เป„เบ”เป‰
เบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบเบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเปเบฒเบ (.s1) เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเปเปˆโ€‹เบชเป‰เบฒเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบ—เบฝเบšโ€‹เปƒเบชเปˆโ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบฅเบฒเบโ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ„เปเบฒโ€‹เบ•เปเปˆโ€‹เบ—เป‰เบฒเบโ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹เป‚เบ”เบโ€‹
เป„เบ”เป‰ .SUFFIXES เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹. เบ–เป‰เบฒ .s1 suffix เปเบกเปˆเบ™เบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™ .SUFFIXES, inference เป„เบ”เป‰
เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ„เบปเป‰เบ™โ€‹เบซเบฒโ€‹เปƒเบ™โ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบงเป‰โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ—เปเบฒโ€‹เบญเบดเบ”โ€‹ .s2.s1 เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบ—เบตเปˆโ€‹เบกเบต prerequirementโ€‹
เปเบŸเป‰เบก ($*.s2) เบกเบตเบขเบนเปˆ. เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบกเปˆเบ™เบฅเป‰เบฒเบชเบฐเป„เบซเบกเบเปˆเบฝเบงเบเบฑเบšเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ™เบตเป‰, เป„เบ”เป‰
เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบเบปเบ”เบฅเบฐเบšเบฝเบš inference เบ™เบฑเป‰เบ™เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”.

เบ–เป‰เบฒเป€เบ›เบปเป‰เบฒเปเบฒเบเบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบ™เบฑเป‰เบ™เบšเปเปˆเบกเบตเบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบ เปเบฅเบฐเบšเปเปˆเบกเบตเบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเบณเบฅเบฑเบšเป€เบ›เบปเป‰เบฒเปเบฒเบ.
เบเบปเบ”เบฅเบฐเบšเบฝเบš inference suffix เบ”เบฝเบงเบˆเบฐเบ–เบทเบเบเบงเบ”เบชเบญเบš. เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™ inference เบ„เปเบฒเบ•เปเปˆเบ—เป‰เบฒเบ
เบเปเบฒเบ™เบปเบ”เบงเบดเบ—เบตเบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ–เป‰เบฒเป„เบŸเบฅเปŒเบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™เบเบฑเบšเบŠเบทเปˆเบ—เบตเปˆเบเบปเบ‡เบเบฑเบšเบŠเบทเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ
เบžเป‰เบญเบกเบเบฑเบšเบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบเบญเบฑเบ™เบ”เบฝเบงเบ•เปเปˆเบ—เป‰เบฒเบ. เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเบกเบตเบ„เปเบฒเบ•เปเปˆเบ—เป‰เบฒเบ .s2 เปเบกเปˆเบ™ เบ„เบณ เบ™เบดเบเบฒเบกเบ‚เบญเบ‡
เบงเบดเบ—เบตเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ เบˆเบฒเบ target.s2. เบชเปˆเบงเบ™เบ•เปเปˆเบ—เป‰เบฒเบเบญเบทเปˆเบ™ (.s1) เบ–เบทเบเบ–เบทเบงเปˆเบฒเป€เบ›เบฑเบ™ null.

เบ ('~') เปƒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบซเบกเบฒเบเป€เบ–เบดเบ‡เป„เบŸเบฅเปŒ SCCS เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ›เบฐเบˆเบธเบšเบฑเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™,
เบเบปเบ”เบฅเบฐเบšเบฝเบš .c~.o เบˆเบฐเบ›เปˆเบฝเบ™เป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡เบžเบฒเบชเบฒ SCCS เปƒเบซเป‰เป€เบ›เบฑเบ™เป„เบŸเบฅเปŒเบงเบฑเบ”เบ–เบธ (.o).
เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ s. เบ‚เบญเบ‡เป„เบŸเบฅเปŒ SCCS เปเบกเปˆเบ™เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒ, เบกเบฑเบ™เบšเปเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš เป€เบฎเบฑเบ”เปƒเบซเป‰เบˆเบธเบ”เบ•เปเปˆเบ—เป‰เบฒเบเบ‚เบญเบ‡
เบ—เบฑเบ”เบชเบฐเบ™เบฐ. เป€เบžเบฒเบฐเบชเบฐเบ™เบฑเป‰เบ™, เป„เบ”เป‰ '~' เปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบญเบเบฐเบชเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เป€เบ›เบฑเบ™เป„เบŸเบฅเปŒ SCCS
เบเบฐเบชเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡.

เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”
เบ–เป‰เบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบซเบผเบทเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ›เบฐเบเบญเบšเบกเบตเบงเบปเบ‡เป€เบฅเบฑเบš, เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบ–เบฒเบ™เบฐเป€เบ›เบฑเบ™เบชเบฐเบกเบฒเบŠเบดเบเบ‚เบญเบ‡ an
เบ„เบฑเบ‡เป€เบเบฑเบšเบกเป‰เบฝเบ™. เบชเปเบฒโ€‹เบฅเบฑเบš lib(เบชเบฐเบกเบฒเบŠเบดเบ.o) เบเบฒเบ™โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบญเบญเบโ€‹ lib เบซเบกเบฒเบเป€เบ–เบดเบ‡เบŠเบทเปˆเบ‚เบญเบ‡เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™
เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปเบฅเบฐ เบชเบฐเบกเบฒเบŠเบดเบ.o เบเบฑเบšโ€‹เบŠเบทเปˆโ€‹เบชเบฐโ€‹เบกเบฒโ€‹เบŠเบดเบโ€‹. เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบˆเบฐเบ•เป‰เบญเบ‡เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบชเบฐเบกเบฒเบŠเบดเบเปเบกเปˆเบ™
เป„เบŸเบฅเปŒเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบกเบต .o เบ•เปเปˆเบ—เป‰เบฒเบ. เป„เบฅเบเบฐเป€เบงเบฅเบฒเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเปเบกเปˆเบ™
เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ”เบฑเบ”เปเบเป‰เบชเปเบฒเบฅเบฑเบšเบชเบฐเบกเบฒเบŠเบดเบเบ—เบตเปˆเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบฎเบงเบšเบฎเบงเบก; เป€เบšเบดเปˆเบ‡ ar. เป„เบ”เป‰ .a แž”แž…แŸ’แž…แŸแž™
เบˆเบฐเบ•เป‰เบญเบ‡เบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบชเปˆเบซเปเบชเบฐเบกเบธเบ”. เป„เบ”เป‰ .s2.a เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบˆเบฐโ€‹เบ–เบทเบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เป€เบžเบทเปˆเบญโ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบชเบฐโ€‹เบกเบฒโ€‹เบŠเบดเบโ€‹เปƒเบ™โ€‹
เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบˆเบฒเบเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบ .s2.

เบžเบฒเบเปƒเบ™ เบกเบฒเป‚เบ„เบฃ
เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบฎเบฑเบเบชเบฒเบซเป‰เบฒเบกเบฐเบซเบฒเบžเบฒเบเบžเบฒเบเปƒเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบฅเบฐ
เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™. เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบซเบกเบฒเบเบ‚เบญเบ‡เบกเบฐเบซเบฒเบžเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™, เบšเบฒเบ‡
เบ„เบงเบฒเบกเบเบฐเบˆเปˆเบฒเบ‡เปเบˆเป‰เบ‡เบ‚เบญเบ‡เบ‚เปเป‰เบเปเบฒเบ™เบปเบ” เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ เบเบปเบ”เบฅเบฐเบšเบฝเบš, เบเบฒเบ™เบชเบฐเบซเบผเบธเบš เบเบปเบ”เบฅเบฐเบšเบฝเบš, เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ, เปเบฅเบฐ เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™ is
เบˆเปเบฒเป€เบ›เบฑเบ™.

เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบกเปˆเบ™เบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เปƒเบ™ makefile เบชเปเบฒเบฅเบฑเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡. เบเบฒเบ™เบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™
เบเบปเบ”เบฅเบฐเบšเบฝเบšเปเบกเปˆเบ™เบœเบนเป‰เปƒเบŠเป‰เบชเบฐเป€เบžเบฒเบฐเบซเบผเบท เป€เบฎเบฑเบ”เปƒเบซเป‰- เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เบ‚เบญเบ‡โ€‹เบŠเบทเปˆโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹.
เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เปเบกเปˆเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ makefile เปƒเบ™เป€เบชเบฑเป‰เบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ.
implicit prerequisites เปเบกเปˆเบ™ prerequisites เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เบ—เบตเปˆเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป€เบกเบทเปˆเบญเบเบปเบ”เบฅเบฐเบšเบฝเบš inference
เปƒเบŠเป‰. เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡เปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™ implicit เบซเบผเบทเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™
เบ—เบตเปˆเบšเปเปˆเบกเบตเบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบขเบนเปˆเปƒเบ™ makefile. เบเบปเบ”เป€เบเบ™เป€เบ›เบปเป‰เบฒเปเบฒเบเบ–เบทเบเบ™เบณเปƒเบŠเป‰
เบเบฑเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ makefile.

เบเปˆเบญเบ™เบ—เบตเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ”เป†เปƒเบ™ makefile เบˆเบฐเบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡, เปเบ•เปˆเบฅเบฐเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบกเบฑเบ™ (เบ—เบฑเบ‡เบชเบญเบ‡เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เปเบฅเบฐ
implicit) เบˆเบฐเบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡. เบ™เบตเป‰เบˆเบฐเบชเปเบฒเป€เบฅเบฑเบ”เป‚เบ”เบเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™ recursively เปเบ•เปˆเบฅเบฐเบ„เบปเบ™
เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™. เป€เบกเบทเปˆเบญ recursion, เปเบ•เปˆเบฅเบฐ prerequisites เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡. เบ‚เบญเบ‡เบกเบฑเบ™
เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เปเบšเบš recursively เบˆเบปเบ™เบเบงเปˆเบฒเบˆเบฐเบžเบปเบšเป€เบซเบฑเบ™เป€เบ›เบปเป‰เบฒเปเบฒเบเบ—เบตเปˆเบšเปเปˆเบกเบต
prerequisites, เปƒเบ™เบˆเบธเบ”เบ—เบตเปˆ recursion เบขเบธเบ”เป€เบŠเบปเบฒ. เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™ recursion เบˆเบฐโ€‹เบชเปเบฒโ€‹เบฎเบญเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹,
เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปเบ•เปˆเบฅเบฐเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ•เบฒเบกเบ—เบตเปˆเบกเบฑเบ™เป„เบ›.

เปƒเบ™เบ„เปเบฒเบ™เบดเบเบฒเบกเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก, เบ„เปเบฒ เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ เบซเบกเบฒเบเป€เบ–เบดเบ‡เบซเบ™เบถเปˆเบ‡เปƒเบ™:

* เป€เบ›เบปเป‰เบฒเปเบฒเบเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ makefile

* เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ makefile เบ—เบตเปˆเบเบฒเบเป€เบ›เบฑเบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ เป€เบฎเบฑเบ”เปƒเบซเป‰
เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบกเบฑเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™ recursion

* เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™ implicit เบ—เบตเปˆเบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบกเบฑเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™ recursion

เปƒเบ™เบ„เปเบฒเบ™เบดเบเบฒเบกเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก, เบ„เปเบฒ เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™ เบซเบกเบฒเบเป€เบ–เบดเบ‡เบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบดเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

* เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ makefile เบชเปเบฒเบฅเบฑเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡

* เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™ implicit เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบเบฒเบ™เบŠเบญเบเบซเบฒ inference เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก
เบเบปเบ”เบฅเบฐเบšเบฝเบšเปเบฅเบฐเป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบ—เบตเปˆเบเบปเบ‡เบเบฑเบšเบ„เปเบฒเบ•เปเปˆเบ—เป‰เบฒเบเบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ

เบซเป‰เบฒเบกเบฐเบซเบฒเบžเบฒเบเบžเบฒเบเปƒเบ™เปเบกเปˆเบ™:

$@ The $@ เบˆเบฐเบ›เบฐเป€เบกเบตเบ™เบŠเบทเปˆเป€เบ•เบฑเบกเบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ›เบฐเบˆเบธเบšเบฑเบ™, เบซเบผเบท
archive filename เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เปœเบถเปˆเบ‡เบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเปเบฒเบเบเบฒเบ™เบˆเบฑเบ”เป€เบเบฑเบšเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”. เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ›เบฐเป€เบกเบตเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบฑเบ‡เบชเบญเบ‡
เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เปเบฅเบฐโ€‹เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบš inferenceโ€‹.

เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™ .ca เบเบปเบ”เบฅเบฐเบšเบฝเบš inference, $@ เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบฅเป‰เบฒเบชเบฐเป„เบซเบก .a file to
เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™. เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™, เปƒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ makefile เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ lib.a เบˆเบฒเบ file.c, $@
เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบเบฒเบ™เบฅเป‰เบฒเบชเบฐเป„เบซเบก lib.a.

$% เบกเบฐเบซเบฒเบžเบฒเบ $% เบˆเบฐเบ–เบทเบเบ›เบฐเป€เบกเบตเบ™เบžเบฝเบ‡เปเบ•เปˆเป€เบกเบทเปˆเบญเป€เบ›เบปเป‰เบฒเปเบฒเบเบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป€เบ›เบฑเบ™เบ„เบฑเบ‡เป€เบเบฑเบšเบกเป‰เบฝเบ™
เบชเบฐเบกเบฒเบŠเบดเบเบ‚เบญเบ‡เปเบšเบšเบŸเบญเบก libname(เบชเบฐเบกเบฒเบŠเบดเบ.o). เปƒเบ™เบเปเบฅเบฐเบ™เบตเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, $@ เบˆเบฐเบ›เบฐเป€เบกเบตเบ™
libname เปเบฅเบฐ $% เบˆเบฐเบ›เบฐเป€เบกเบตเบ™ เบชเบฐเบกเบฒเบŠเบดเบ.o. เบกเบฐเบซเบฒเบžเบฒเบ $% เบˆเบฐเบ–เบทเบเบ›เบฐเป€เบกเบตเบ™เบชเปเบฒเบฅเบฑเบš
เบ—เบฑเบ‡โ€‹เบชเบญเบ‡โ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เปเบฅเบฐโ€‹เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบš inferenceโ€‹.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ makefile เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ lib.a(file.o), $% เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™
file.o, เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบเบฑเบš $@, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™ lib.a.

$? เป„เบ”เป‰ $? macro เบˆเบฐเบ•เป‰เบญเบ‡เบ›เบฐเป€เบกเบตเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ—เบตเปˆเปƒเบซเบกเปˆเบเบงเปˆเบฒ
เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เปƒเบ™โ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹. เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ›เบฐเป€เบกเบตเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบฑเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบฅเบฐ inference.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ makefile เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ เป‚เบ›เบฃเปเบเบก เบˆเบฒเบ file1.o, file2.o, เปเบฅเบฐ
file3.o, เปเบฅเบฐเบšเปˆเบญเบ™เปƒเบ” เป‚เบ›เบฃเปเบเบก เปเบกเปˆเบ™เบšเปเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบกเบเปˆเบฝเบงเบเบฑเบš file1.o, เปเบ•เปˆโ€‹เบขเบนเปˆโ€‹เบ™เบญเบ
เบงเบฑเบ™เบ—เบตเบเปˆเบฝเบงเบเบฑเบš file2.o เปเบฅเบฐ file3.o, $? เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™ file2.o เปเบฅเบฐ file3.o.

$< เปƒเบ™โ€‹เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบชเบปเบกโ€‹เบกเบธเบ”โ€‹เบ•เบดโ€‹เบ–เบฒเบ™โ€‹, Macro $< เบˆเบฐโ€‹เบ›เบฐโ€‹เป€เบกเบตเบ™โ€‹เบเบฑเบšโ€‹เบŠเบทเปˆโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบขเบนเปˆโ€‹
เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบš inference เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ„เบฑเบ”โ€‹เป€เบฅเบทเบญเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹. เปƒเบ™ .เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ เบเบปเบ”เบฅเบฐเบšเบฝเบš, เป„เบ”เป‰
$< macro เบˆเบฐเบ•เป‰เบญเบ‡เบ›เบฐเป€เบกเบตเบ™เบŠเบทเปˆเป€เบ›เบปเป‰เบฒเปเบฒเบเบ›เบฑเบ”เบˆเบธเบšเบฑเบ™. เบ„เบงเบฒเบกเบซเบกเบฒเบเบ‚เบญเบ‡ $< macro
เบˆเบฐโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹เบขเปˆเบฒเบ‡โ€‹เบญเบทเปˆเบ™โ€‹.

เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™ .ca เบเบปเบ”เบฅเบฐเบšเบฝเบš inference, $< เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™ prerequisite .c เบเบทเปˆเบ™.

$* เบกเบฐเบซเบฒเบžเบฒเบ $* เบˆเบฐเบ›เบฐเป€เบกเบตเบ™เบŠเบทเปˆเป€เบ›เบปเป‰เบฒเปเบฒเบเบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ”เป‰เบงเบเบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบเบ‚เบญเบ‡เบกเบฑเบ™เบ—เบตเปˆเบ–เบทเบเบฅเบถเบš. เบกเบฑเบ™
เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเป€เบกเบตเบ™เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบชเปเบฒเบฅเบฑเบšเบเบปเบ”เบฅเบฐเบšเบฝเบš inference.

เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™ .ca เบเบปเบ”เบฅเบฐเบšเบฝเบš inference, $*.o เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบฅเป‰เบฒเบชเบฐเป„เบซเบก .o เป€เบญเบเบฐเบชเบฒเบ™
เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบšเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™ .c เบเบทเปˆเบ™.

เปเบ•เปˆเบฅเบฐเบกเบฐเบซเบฒเบžเบฒเบเบžเบฒเบเปƒเบ™เบกเบตเบฎเบนเบšเปเบšเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เป€เบกเบทเปˆเบญเบ•เบปเบงเบžเบดเบกเปƒเบซเบเปˆ 'D' or 'F' is
เบ•เบทเปˆเบกเปƒเบชเปˆเบเบฑเบšเบกเบฐเบซเบฒเบžเบฒเบเปƒเบ”เบ™เบถเปˆเบ‡, เบ„เบงเบฒเบกเปเบฒเบเบˆเบฐเบ–เบทเบเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™ เบฅเบฐเบšเบปเบš เบชเปˆเบงเบ™ เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ 'D'
เปเบฅเบฐ เบŠเบทเปˆโ€‹เป€เบญโ€‹เบเบฐโ€‹เบชเบฒเบ™ เบชเปˆเบงเบ™ เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ 'F'. เบžเบฒเบเบชเปˆเบงเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเปเบกเปˆเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ™เปเบฒเบซเบ™เป‰เบฒเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบšเปเปˆเบกเบต a
เบ•เบดเบ”เบ•เบฒเบก ; เบชเปเบฒเบฅเบฑเบšเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ›เบฐเบˆเบธเบšเบฑเบ™, เบชเปˆเบงเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเปเบกเปˆเบ™ '.'. เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ $? เบกเบฐเบซเบฒเบžเบฒเบ
เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒเปœเบถเปˆเบ‡เบŠเบทเปˆเป„เบŸเบฅเปŒเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™, $(?D) เปเบฅเบฐ $(?F) (เบซเบผเบท ${?D} เปเบฅเบฐ ${?F})
macros เบ‚เบฐเบซเบเบฒเบเป„เบ›เบซเบฒเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบŠเบทเปˆเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเปเบฅเบฐเบžเบฒเบเบชเปˆเบงเบ™เบŠเบทเปˆเป„เบŸเบฅเปŒเบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš.

เบชเปเบฒเบฅเบฑเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ lib(เบชเบฐเบกเบฒเบŠเบดเบ.o) เปเบฅเบฐเป„เบ”เป‰ s2.a เบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, เบกเบฐเบซเบฒเบžเบฒเบเบžเบฒเบเปƒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™:

$< เบชเบฐเบกเบฒเบŠเบดเบ.s2

$* เบชเบฐเบกเบฒเบŠเบดเบ

$@ lib

$? เบชเบฐเบกเบฒเบŠเบดเบ.s2

$% เบชเบฐเบกเบฒเบŠเบดเบ.o

เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ เบเบปเบ”เบฅเบฐเบšเบฝเบš
เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบš เป€เบฎเบฑเบ”เปƒเบซเป‰ เบˆเบฐเบšเบฑเบ™เบฅเบธเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบ„เบทเบเบฑเบ™เบเบฑเบšเบงเปˆเบฒเบ•เปเปˆเป„เบ›เบ™เบตเป‰
เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบžเบฒเบชเบฒ C
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบญเบฒเบ”เบˆเบฐเบเบปเบเป€เบฅเบตเบ CC, เบ›เป‰เบฒเบเบเบณเบเบฑเบš, YACC, YFLAGS, lex, เบ—เบธเบ‡, LDFLAGS, เปเบฅเบฐ .c, .y, เปเบฅเบฐ .l
เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ FORTRAN เบญเบฒเบ”เบˆเบฐเบเบปเบเป€เบฅเบตเบ FC, เบ—เบธเบ‡, เปเบฅเบฐ
.f เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบฒเบ”เบˆเบฐเบชเบฐเบซเบ™เบญเบ‡เบกเบฐเบซเบฒเบžเบฒเบเปเบฅเบฐเบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบžเบดเป€เบชเบ” เป€เบ›เบปเป‰เบฒเบฒเบ

.SCCS_GET: sccs $(SCCSFLAGS) เป„เบ”เป‰ $(SCCSGETFLAGS) $@

.SUFFIXES : .o .c .y .l .a .sh .f .c~ .y~ .l~ .sh~ .f~

เบกเบฒเป‚เบ„เบฃ

MAKE=เป€เบฎเบฑเบ”
AR=ar
ARFLAGS=โˆ’rv
YACC=yacc
YFLAGS=
LEX=lex
LFLAGS=
LDFLAGS=
CC=c99
CFLAGS=โˆ’O
FC=fort77
FFLAGS=โˆ’O 1
GET=เบฎเบฑเบš
GFLAGS=
SCCSFLAGS=
SCCSGETFLAGS=โˆ’s

เบ”เบฝเบง เบซเบเปเป‰เปœเป‰เบฒ เบเบปเบ”เบฅเบฐเบšเบฝเบš

.c:
$(CC) $(CFLAGS) $(LDFLAGS) โˆ’o $@ $

.f:
$(FC) $(FFLAGS) $(LDFLAGS) โˆ’o $@ $

.sh:
cp $< $@
chmod a+x $@

.c~:
$(GET) $(GFLAGS) โˆ’p $< > $*.c
$(CC) $(CFLAGS) $(LDFLAGS) โˆ’o $@ $*.c

.f~:
$(GET) $(GFLAGS) โˆ’p $< > $*.f
$(FC) $(FFLAGS) $(LDFLAGS) โˆ’o $@ $*.f

.sh~:
$(GET) $(GFLAGS) โˆ’p $< > $*.sh
cp $*.sh $@
chmod a+x $@

DOUBLE เบซเบเปเป‰เปœเป‰เบฒ เบเบปเบ”เบฅเบฐเบšเบฝเบš

.co:
$(CC) $(CFLAGS) โˆ’c $

.fo:
$(FC) $(FFLAGS) โˆ’c $

.yo:
$(YACC) $(YFLAGS) $
$(CC) $(CFLAGS) โˆ’c y.tab.c
rm โˆ’f y.tab.c
mv y.tab.o $@

.lo:
$(LEX) $(LFLAGS) $
$(CC) $(CFLAGS) โˆ’c lex.yy.c
rm โˆ’f lex.yy.c
mv lex.yy.o $@

.yc:
$(YACC) $(YFLAGS) $
mv y.tab.c $@

.lc:
$(LEX) $(LFLAGS) $
mv lex.yy.c $@

.c~.o:
$(GET) $(GFLAGS) โˆ’p $< > $*.c
$(CC) $(CFLAGS) โˆ’c $*.c

.f~.o:
$(GET) $(GFLAGS) โˆ’p $< > $*.f
$(FC) $(FFLAGS) โˆ’c $*.f

.y~.o:
$(GET) $(GFLAGS) โˆ’p $< > $*.y
$(YACC) $(YFLAGS) $*.y
$(CC) $(CFLAGS) โˆ’c y.tab.c
rm โˆ’f y.tab.c
mv y.tab.o $@

.l~.o:
$(GET) $(GFLAGS) โˆ’p $< > $*.l
$(LEX) $(LFLAGS) $*.l
$(CC) $(CFLAGS) โˆ’c lex.yy.c
rm โˆ’f lex.yy.c
mv lex.yy.o $@

.y~.c:
$(GET) $(GFLAGS) โˆ’p $< > $*.y
$(YACC) $(YFLAGS) $*.y
mv y.tab.c $@

.l~.c:
$(GET) $(GFLAGS) โˆ’p $< > $*.l
$(LEX) $(LFLAGS) $*.l
mv lex.yy.c $@

.ca:
$(CC) โˆ’c $(CFLAGS) $
$(AR) $(ARFLAGS) $@ $*.o
rm โˆ’f $*.o

.fa:
$(FC) โˆ’c $(FFLAGS) $
$(AR) $(ARFLAGS) $@ $*.o
rm โˆ’f $*.o

เบญเบญเบ STATUS


เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆ โˆ’q เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹, เป„เบ”เป‰โ€‹ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเบฐเบญเบญเบเบˆเบฒเบเบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบดเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰
เบ„เบธเบ™เบ„เปˆเบฒ:

0 เบชเปเบฒเป€เบฅเบฑเบ”เบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”.

1 เป€เบ›เบปเป‰เบฒเปเบฒเบเบšเปเปˆเบ—เบฑเบ™เบชเบฐเป„เป.

>1 เป€เบเบตเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ‚เบถเป‰เบ™.

เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆ โˆ’q เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹, เป„เบ”เป‰โ€‹ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเบฐเบญเบญเบเบˆเบฒเบเบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบดเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰
เบ„เบธเบ™เบ„เปˆเบฒ:

0 เบชเปเบฒเป€เบฅเบฑเบ”เบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”.

>0 เป€เบเบตเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ‚เบถเป‰เบ™.

เบ‚เปเป‰เบชเบฑเบ‡เป€เบเบ” OF เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”


เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เป„เบ”เป‰ เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰ เบžเบฒเบเบชเปˆเบงเบ™ เบกเบต เบ‚เปเป‰เบกเบนเบ™.

เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰


เบ–เป‰เบฒเบกเบตเป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡ (เป€เบŠเบฑเปˆเบ™: ./source.c) เปเบฅเบฐเบกเบตเบชเบญเบ‡เป„เบŸเบฅเปŒ SCCS เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™
เบเบฑเบšเบกเบฑเบ™ (./s.source.c เปเบฅเบฐ ./SCCS/s.source.c), เบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบšเบปเบš XSI-conformant เป€เบฎเบฑเบ”เปƒเบซเป‰ เปƒเบŠเป‰ SCCS
เป„เบŸเบฅเปŒเบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ›เบฐเบˆเบธเบšเบฑเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบœเบนเป‰เปƒเบŠเป‰เป„เบ”เป‰เบ–เบทเบเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰ SCCS เบžเบทเป‰เบ™เบ–เบฒเบ™
เบญเบธเบ›เบฐเป‚เบžเบ (admin, delta, เป„เบ”เป‰เบฎเบฑเบš, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เบซเบผเบท sccs เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™ a
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบญเบšเปƒเบซเป‰. เบ–เป‰เบฒเบ—เบฑเบ‡เบชเบญเบ‡เบฎเบนเบšเปเบšเบšเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡เบ—เบตเปˆเปƒเบซเป‰, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เปเบกเปˆเบ™
เบญเบฒเบ”เบˆเบฐเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ.

เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ•เบฒเบก makefiles Portable เป€เบžเบทเปˆเบญโ€‹เบฅเบฐโ€‹เบšเบธโ€‹ .POSIX เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เป€เบžเบทเปˆเบญโ€‹
เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบšเบˆเบฒเบเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.

เป„เบ”เป‰ โˆ’เบ เปเบฅเบฐ โˆ’เบช เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ—เบฑเบ‡โ€‹เบชเบญเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบกเบตโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ™เบฑเป‰เบ™โ€‹เบเบฒเบ™โ€‹เบžเบปเบงโ€‹เบžเบฑเบ™โ€‹เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹เบšเบฑเบ™โ€‹เบ”เบฒโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹,
เป„เบ”เป‰ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบ•เบปเบงเปเบ›, เปเบฅเบฐ makefile เบชเบฒเบกเบฒเบ”เบ„เบงเบšเบ„เบธเบกเป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™. เบ–เป‰เบฒ k เบ—เบธเบ‡เปเบกเปˆเบ™
เบœเปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เปเบฅเบฐโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบ‚เบญเบ‡โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹:

$(เป€เบฎเบฑเบ”) โˆ’เบช เบŸเบน

เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹, เบžเบถเบ”โ€‹เบ•เบดโ€‹เบเปเบฒโ€‹เปƒเบ™โ€‹เบ•เบญเบ™โ€‹เบ•เบปเป‰เบ™โ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบŸเบทเป‰เบ™โ€‹เบŸเบนโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เป€เบ”เบฑเบโ€‹เบ™เป‰เบญเบโ€‹ เป€เบฎเบฑเบ”เปƒเบซเป‰.

เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆ เบ™ เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹, เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เบ–เบทเบโ€‹เป€เบžเบตเปˆเบกโ€‹เบชเบฐโ€‹เป€เบซเบกเบตโ€‹เป„เบ›โ€‹ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ. เบ™เบตเป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ recursive
เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ™ เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ เป€เบžเบทเปˆเบญเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบเบฒเบ™เบเบฐเบ—เบณเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเบญเบฑเบšเป€เบ”เบ” เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ.

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡, เบเบฒเบ™เบ•เบตเบ„เบงเบฒเบก เบ ('#') เบžเบฒเบโ€‹เปƒเบ™ a
เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบเป‰เบญเบ™เบงเปˆเบฒเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ„เปเบฒเบ„เบดเบ”เบ„เปเบฒเป€เบซเบฑเบ™เบกเบตเบœเบปเบ™เบ‚เป‰เบฒเบ‡เบ„เบฝเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบเบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰
เบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡ a เปƒเบ™เบ•เบปเบงเปเบ›, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เบซเป‰เบฒเบกเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™:

เบ›เป‰เบฒเบเบเบณเบเบฑเบš = "โˆ’D COMMENT_CHAR='#'"

เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบซเบผเบฒเบ เป€เบฎเบฑเบ”เปƒเบซเป‰ utilities เบขเบธเบ” chaining เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบš inference เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบฅเบฐเบ”เบฑเบšเบ›เบฒเบ™เบเบฒเบ‡
เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เปเบกเปˆเบ™โ€‹เบšเปเปˆโ€‹เบกเบตโ€‹. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบš a เป€เบฎเบฑเบ”เปƒเบซเป‰ เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบ—เบฑเบ‡เบชเบญเบ‡
.yc เปเบฅเบฐ .co เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบžเบทเปˆเบญเปเบ›เบ‡ a .y to a .o. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ•เป‰เบญเบ‡เบเบฒเบ™
เบเบฒเบ™ เบ™เบณ เปƒเบŠเป‰เบ‚เบญเบ‡เบ .yo เบเบปเบ”เบฅเบฐเบšเบฝเบš.

เบงเบดเบ—เบตเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡ makefiles เปเบšเบšเบžเบฐเบเบฐเบžเบฒเปเบกเปˆเบ™เบเบฒเบ™เบฅเบงเบกเป€เบญเบปเบฒเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™
makefile เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡. เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เปƒเบซเป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบ„เบธเบ™โ€‹เบชเบปเบกโ€‹เบšเบฑเบ”โ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เปƒเบซเป‰โ€‹เป‚เบ”เบโ€‹เบžเบฒเบโ€‹เบชเปˆเบงเบ™โ€‹เบญเบทเปˆเบ™เป†โ€‹เบ‚เบญเบ‡โ€‹เบ™เบตเป‰โ€‹
เบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008. เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ›เบฐเบเบญเบšเบกเบตเบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบ™เบตเป‰
เบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008. เบžเบฝเบ‡เปเบ•เปˆเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™
เบ•เบฑเป‰เบ‡เป„เบงเป‰เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

Macros เบ—เบตเปˆเปƒเบŠเป‰เบžเบฒเบเปƒเบ™ macro เบญเบทเปˆเบ™เป†เปเบกเปˆเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเป€เบกเบตเบ™เป€เบกเบทเปˆเบญ macro เปƒเบซเบกเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ
เบกเบฐเบซเบฒเบžเบฒเบเปƒเบซเบกเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”. เป€เบžเบฒเบฐเบชเบฐเบ™เบฑเป‰เบ™:

เบกเบฒเป‚เบ„เบฃ = เบกเบนเบ™เบ„เปˆเบฒ 1
NEW = $(MACRO)
เบกเบฒเป‚เบ„เบฃ = เบกเบนเบ™เบ„เปˆเบฒ 2

เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ:
เบชเบฝเบ‡เบชเบฐเบ—เป‰เบญเบ™ $(เปƒเปเปˆ)

เบˆเบฐเบœเบฐเบฅเบดเบ” เบกเบนเบ™เบ„เปˆเบฒ 2 เปเบฅเบฐเบšเปเปˆ เบกเบนเบ™เบ„เปˆเบฒ 1 เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ NEW เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเบˆเบปเบ™เบเปˆเบงเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™
echo เบšเบฑเบ™เบ—เบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡.

เบšเบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเบเบฑเบš intermix target_name เปเบฅเบฐ macro=เบŠเบทเปˆ
operands เปƒเบ™เบšเบฑเบ™เบ—เบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡, เบ„เบฒเบ”เบซเบงเบฑเบ‡เบงเปˆเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ macro เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเปƒเบ”เป†เบ‚เบญเบ‡
เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบกเปˆเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบš. เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบšเปเปˆเป€เบฎเบฑเบ”เปเบ™เบงเบ™เบตเป‰, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบšเบฒเบ‡
เบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ”เป‰เบฒเบ™เบซเบผเบฑเบ‡-เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบญเบฒเบ”เบˆเบฐเบฅเบงเบกเบขเบนเปˆเปƒเบ™เบšเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปƒเบ™เบŠเบทเปˆเป„เบŸเบฅเปŒเบญเบฒเบ”เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒ: '=', ':', '`', เบ„เปเบฒเป€เบงเบปเป‰เบฒเบ”เบฝเบง, เปเบฅเบฐ
'@'. เปƒเบ™โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบกเบตโ€‹เบŠเบทเปˆโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹, เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบเบฒเบ™โ€‹เบˆเบฑเบšโ€‹เบ„เบนเปˆโ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เปเบฅเบฐโ€‹ '"' เบ„เบงเบ™เบซเบผเบตเบเป€เบงเบฑเป‰เบ™, เป€เบ›เบฑเบ™
เบžเบงเบเป€เบ‚เบปเบฒเบญเบฒเบ”เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบžเบดเป€เบชเบ”เป‚เบ”เบเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเบฒเบ‡เบขเปˆเบฒเบ‡.

เบชเปเบฒเบฅเบฑเบšเบเบปเบ”เบฅเบฐเบšเบฝเบš inference, เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ‚เบญเบ‡ $< เปเบฅเบฐ $? เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ•เบปเบงเบขเปˆเบฒเบ‡เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™
เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบ. เปƒเบ™ makefile เบ—เบตเปˆโ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบ”เป‰เบงเบโ€‹:

foo.o: foo.h

if foo.h เปเบกเปˆเบ™เปƒเบซเบกเปˆเบเบงเปˆเบฒ foo.o, เบเบฑเบ‡ foo.c เบกเบตเบญเบฒเบเบธเบซเบผเบฒเบเบเบงเปˆเบฒ foo.o, เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปƒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰
foo.o เบˆเบฒเบ foo.c เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เบ”เป‰เบงเบ $< เป€เบ—เบปเปˆเบฒเบเบฑเบš foo.c เปเบฅเบฐ $? เป€เบ—เบปเปˆเบฒโ€‹เบ—เบฝเบกโ€‹เบเบฑเบ™โ€‹เบเบฑเบš foo.hเบ—เบตเปˆเบขเบนเปˆ เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ foo.c เปเบกเปˆเบ™เบเบฑเบ‡
เปƒเปเปˆเบเบงเปˆเบฒ foo.o, $< เป€เบ—เบปเปˆเบฒเบเบฑเบš foo.c เปเบฅเบฐ $? เป€เบ—เบปเปˆเบฒเบเบฑเบš foo.h foo.c.

เบ•เบปเบงเบขเปˆเบฒเบ‡


1. เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

เป€เบฎเบฑเบ”เปƒเบซเป‰

เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™ makefile.

2. เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

เป€เบฎเบฑเบ”เปƒเบซเป‰ junk

เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ junk.

3. makefile เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒ PGM เบ‚เบถเป‰เบ™เบเบฑเบšเบชเบญเบ‡เป„เบŸเบฅเปŒ, เบญเป‰เบฒเบง เปเบฅเบฐ เป‚เบš, เปเบฅเบฐเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒ
เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ (ac เปเบฅเบฐ bc), เปเบฅเบฐเป„เบŸเบฅเปŒเบ—เบปเปˆเบงเป„เบ›
incl.h:

pgm: เบญเป‰เบฒเบง เป‚เบš
c99 เบญเป‰เบฒเบง เป‚เบš โˆ’o PGM
ao: incl.h ac
c99 โˆ’เบ„ ac
เป‚เบš: incl.h bc
c99 โˆ’เบ„ bc

4. เบ•เบปเบงเบขเปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš .o เป„เบŸเบฅเปŒเบˆเบฒเบ .c เป„เบŸเบฅเปŒเปเบกเปˆเบ™:

.co:
c99 โˆ’เบ„ โˆ’เบญ $*.c

เบซเบฅเบท:

.co:
c99 โˆ’เบ„ โˆ’เบญ $<

5. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰. เบ—เบตเปˆเบ™เบตเป‰, เบกเบฑเบ™เปเบกเปˆเบ™เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒ
เปเบซเบผเปˆเบ‡เป„เบŸเบฅเปŒเปเบกเปˆเบ™เปเบซเบผเปˆเบ‡เบžเบฒเบชเบฒ C เบ—เบฑเบ‡เปเบปเบ”:

lib: lib(file1.o) lib(file2.o) lib(file3.o)
@echo lib is เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ up-to-date

เป„เบ”เป‰ .ca เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เปเบกเปˆเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เป€เบžเบทเปˆเบญโ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹ file1.o, file2.o, เปเบฅเบฐ file3.o เปเบฅเบฐเปƒเบชเปˆเบžเบงเบเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ lib.

เบเบฒเบ™เบ›เบดเปˆเบ™เบ›เบปเบงเบ‚เบญเบ‡เบเบฒเบ™เบซเบฅเบปเบšเบซเบ™เบต เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปƒเบ™เบ—เบปเปˆเบง makefile เปเบกเปˆเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™:

.co\
:

เป€เบฎเบฑเบ”เบงเบฝเบ, เปเบฅเบฐเบกเบฐเบซเบฒเบžเบฒเบ:

f= เบžเบฒเบ—เบฐเบ™เบฒเบเบ„เบงเบฒเบก เบšเบฒเบช\
biz
a:
echo ==$f==

เปเบญเบฑเบเป‚เบเป‰ " == เปเบ–เบš เบ–เบฒเบ™ biz==".

เบ–เป‰เบฒ $? เปเบกเปˆเบ™:

/usr/include/stdio.h /usr/include/unistd.h foo.h

เบˆเบฒเบเบ™เบฑเป‰เบ™ $(?D) เบˆเบฐเป€เบ›เบฑเบ™:

/ usr / เบ›เบฐเบเบญเบšเบกเบต / usr / เบ›เบฐเบเบญเบšเบกเบต .

เปเบฅเบฐ $(?F) เบˆเบฐเป€เบ›เบฑเบ™:

stdio.h unistd.h foo.h

6. เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เปเบฅเปˆเบ™:

เป€เบฎเบฑเบ”เปƒเบซเป‰ -เบ› -f / dev / null 2>/dev/null

เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ


เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008 เบ™เบตเป‰เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™
เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เปเบซเบผเปˆเบ‡ Portable เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹
เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก POSIX.1-2008. เบกเบฑเบ™เบชเบฐเบ—เป‰เบญเบ™เป€เบ–เบดเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™ System V
เปเบฅเบฐ BSD เป€เบฎเบฑเบ”เปƒเบซเป‰s.

เบ—เบฒเบ‡เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”, เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ›เบฐเป‚เบซเบเบ”เป„เบ”เป‰เป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบญเบธเบ”เบปเบกเบชเบปเบกเบšเบนเบ™เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ‚เบฒเบเปเบฅเบฐ
เบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเบ”เบฑเบ”เปเบเป‰ syntax เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบญเบปเบ‡เบเบฒเบ™ เปเบฅเบฐเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ. เบ•เบปเบงเบขเปˆเบฒเบ‡เบฅเบงเบกเบกเบต:

* Syntax เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ™ (เป€เบŠเบฑเปˆเบ™: เบˆเบฒเบเบœเบนเป‰เบ‚เบฒเบเบซเบผเบฒเบเป‚เบ›เป€เบŠเบ”เป€เบŠเบต,
GNU, เปเบฅเบฐเบญเบทเปˆเบ™เป†)

* เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบก ``เบœเบนเป‰โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเบฒเบ™โ€‹' เบเบฒเบ™โ€‹เปเบเบโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เปเบฅเบฐโ€‹เป€เบ‡เบทเปˆเบญเบ™โ€‹เป„เบ‚โ€‹เบ‚เบญเบ‡โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบเปˆเบญเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบ™เบตเป‰ (System V, BSD,
เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†)

* เบเบฒเบ™โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เบงเปˆเบฒโ€‹เบšเบฑเบ™โ€‹เบ”เบฒโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบ”เป‰เบงเบโ€‹เบŠเปˆเบญเบโ€‹เปเบ™เปˆโ€‹ "${MAKE}" เปเบฅเบฐ "$(เป€เบฎเบฑเบ”)" เบกเบต
เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹ เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ” (GNU เปเบฅเบฐเบฅเบฐเบšเบปเบš V)

* เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบซเบกเบฒเบโ€‹เบ‚เบญเบ‡ macro เบžเบฒเบโ€‹เปƒเบ™โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบเบฒเบ™โ€‹เบญเป‰เบฒเบ‡โ€‹เบญเบตเบ‡โ€‹เบซเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบธเบ” (BSD เปเบฅเบฐโ€‹
เบญเบทเปˆเบ™เป†)

* เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบขเปˆเบฒเบ‡เบ”เบฝเบงเบ‚เบญเบ‡ shell เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ (BSD
เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†)

* เบญเบฐเบ™เบธเบเบฒเบ” เบฅเบฑเบโ€‹เบชเบฐโ€‹เบ™เบฐโ€‹เป€เบŠเบฑเปˆเบ™โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹ เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ (BSD)

* เบเบฒเบ™เป€เบžเบตเปˆเบก C preprocessor-style ``include'' เปเบฅเบฐ ``ifdef'' constructs (System V, GNU, BSD,
เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†)

* เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เป„เบฅโ€‹เบเบฐโ€‹เป„เบโ€‹เบ‚เบญเบ‡โ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡ (Sprite เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†โ€‹)

* เบเบฒเบ™โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบก (BSDโ€‹, เบฅเบฐโ€‹เบšเบปเบš Vโ€‹, เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†โ€‹เบซเบผเบฒเบโ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹)

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบœเบนเป‰เบ‚เบฒเบเปเบฅเบฐเบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ„เบปเป‰เบ™เบ„เป‰เบงเบฒเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเป„เบ”เป‰เบ„เบดเบ”เบ„เบทเบ™เปƒเบซเบกเปˆเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡
เป€เบฎเบฑเบ”เปƒเบซเป‰, เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš syntaxes เปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™. เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰
เบฎเบธเปˆเบ™เบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบŠเบธเบกเบŠเบปเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰; เบกเบฑเบ™เบšเปเปˆเบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™
เบชเปเบฒเบฅเบฑเบšเบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008 เบ™เบตเป‰เป€เบžเบทเปˆเบญเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเบšเปเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰ (เปเบฅเบฐ
เบญเบฒเบ”เบˆเบฐเบ•เปเปˆเบฒเบเบงเปˆเบฒ) เบ•เปเปˆเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบชเปเบฒเบฅเบฑเบšเบŠเบธเบกเบŠเบปเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.

เปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™, เป€เบกเบทเปˆเบญเบญเบธเบ”เบชเบฒเบซเบฐเบเปเบฒเบกเบตเบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบšเปเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบžเบฝเบ‡เบžเป
เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ•เบปเบเบฅเบปเบ‡เบเบฑเบ™เป„เบ”เป‰, เบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008 เบ™เบตเป‰เป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบ—เบฑเบ‡เบชเบญเบ‡.
เบชเบญเบ‡โ€‹เบงเบดโ€‹เบŠเบฒโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹. เบ„เปเบฒเบชเบฑเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เบŠเบทเปˆ (cksum, echo, เปเบฅเบฐ pax) เปเบฅเบฐ / เบซเบผเบทโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เป€เบชเบฑเป‰เบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบžเบทเปˆเบญโ€‹เบ„เบฑเบ”โ€‹เป€เบฅเบทเบญเบโ€‹เป€เบญเบปเบฒโ€‹เบžเบถเบ”โ€‹เบ•เบดโ€‹เบเปเบฒโ€‹เบ—เบตเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™ (grep, od, เปเบฅเบฐ pax).

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ syntax เบเปเบฒเบ™เบปเบ”เบชเปเบฒเบฅเบฑเบš the เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เปเบกเปˆเบ™, เป‚เบ”เบเปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ, เบŠเบธเบ”เบเปˆเบญเบเบ‚เบญเบ‡
syntaxes เบเบญเบกเบฎเบฑเบšเป‚เบ”เบเป€เบเบทเบญเบšเบ—เบธเบเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ•เบฑเบ”โ€‹เบชเบดเบ™โ€‹เปƒเบˆโ€‹เบงเปˆเบฒโ€‹เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เบ•เป‰เบฒเบ™
เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เบŠเบทเปˆ. เปเบฅเบฐเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ makefile เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เป€เบ›เบฑเบ™เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡
portability, เบกเบฑเบ™เบˆเบฐเบšเปเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เบ—เบตเปˆเบˆเบฐเบชเบฐเบซเบ‡เบงเบ™เบˆเบปเบ”เบซเบกเบฒเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบซเบกเปˆ, เป€เบŠเบฑเปˆเบ™:
เป€เบฎเบฑเบ”เปƒเบซเป‰ -เบ›, เป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเบžเบถเบ”เบ•เบดเบเปเบฒเปเบšเบšเบžเบปเบเบžเบฒ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบžเบดเป€เบชเบ” .POSIX เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก
เป„เบ›เบซเบฒ makefile, เปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบžเบถเบ”เบ•เบดเบเปเบฒ "เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™". เป€เบ›เบปเป‰เบฒเปเบฒเบเบžเบดเป€เบชเบ”เบ™เบตเป‰
เบšเปเปˆเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบขเบนเปˆเปƒเบ™ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”, เปเบฅเบฐเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง
เปƒเบŠเป‰เป‚เบ”เบ makefile เบฅเบฐเบšเบธเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ; เบกเบฑเบ™เบšเปเปˆ, เปเบ™เบงเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเปƒเบ”เป†เบˆเบฒเบ
เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡ syntax เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰; เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง
เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเป‚เบ”เบเบœเปˆเบฒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบผเบทเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบžเบดเป€เบชเบ”เปƒเบซเบกเปˆ. เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ•เบฒเบกโ€‹
makefiles เปเบšเบšเบžเบปเบเบžเบฒเป€เบžเบทเปˆเบญเบฅเบฐเบšเบธ .POSIX เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เป€เบžเบทเปˆเบญโ€‹เบฎเบฑเบšโ€‹เบ›เบฐโ€‹เบเบฑเบ™โ€‹เบงเปˆเบฒโ€‹เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹
เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบšเบˆเบฒเบเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.

เบชเบฐเบšเบฑเบš Portable เบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เปœเป‰เบฒเบญเป‰เบฒเบ‡เบญเบตเบ‡เบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบ•เบฑเป‰เบ‡เปƒเบˆเป€เบ›เบฑเบ™
เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบŠเบญเบšเปเบงเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเปเบฅเบฐ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบšเบฒเบ‡เบญเบฑเบ™เปƒเบซเบกเปˆเปเบฅเบฐเบŠเบฑเป‰เบ™เบ™เปเบฒเบซเบผเบฒเบ
เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒ. เป„เบ”เป‰เบกเบตเบเบฒเบ™เบžเบฐเบเบฒเบเบฒเบกเบญเบฐเบ—เบดเบšเบฒเบเปเบšเบšเบžเบปเบเบžเบฒ
makefile เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบšเปเปˆเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ•เบฒเบšเปƒเบ”เบ—เบตเปˆเบžเบงเบเบกเบฑเบ™เบšเปเปˆเบฅเบปเบšเบเบงเบ™
เบžเบถเบ”เบ•เบดเบเปเบฒเปเบšเบšเบžเบปเบเบžเบฒเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰.

เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆ เบ™ เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹, เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เบ–เบทเบโ€‹เป€เบžเบตเปˆเบกโ€‹เบชเบฐโ€‹เป€เบซเบกเบตโ€‹เป„เบ›โ€‹ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ. เบ™เบตเป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ recursive
เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ™ เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ เป€เบžเบทเปˆเบญเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบเบฒเบ™เบเบฐเบ—เบณเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเบญเบฑเบšเป€เบ”เบ” เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบ.

เบ™เบดเบเบฒเบกเบ‚เบญเบ‡ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เบฑเบ‡เบฅเบฐเบšเบปเบšเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ V เปเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡ BSD
เบฎเบนเบšโ€‹เปเบšเบšโ€‹เป€เบชเบฑเป‰เบ™โ€‹. เบชเบญเบ‡โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹เบžเบฝเบ‡โ€‹เบžเปโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹
เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบ—เบฑเบ‡โ€‹เบชเบญเบ‡โ€‹เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบ„เบงเบฒเบกโ€‹เบŠเบฑเบ”โ€‹เป€เบˆเบ™โ€‹.

เบ‚เปเป‰โ€‹เบชเบฐโ€‹เป€เบซเบ™เบตโ€‹เบ•เบปเป‰เบ™โ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹เบงเปˆเบฒ "เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบเบปเบโ€‹เบกเบฒโ€‹" เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡ a
เบ„เปเบฒเป€เบซเบฑเบ™. เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบšเปเปˆเป„เบ”เป‰เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบเบฑเบšเบ„เปเบฒเป€เบงเบปเป‰เบฒเปƒเบ”เป†. เบ เป€เบฅเบตเปˆเบกเป€เบ›เบฑเบ™
เบ„เปเบฒเป€เบซเบฑเบ™เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบชเบดเปˆเบ‡เบญเป‰เบญเบกเบ‚เป‰เบฒเบ‡เบ‚เบญเบ‡เบกเบฑเบ™.

เบ‚เปเป‰โ€‹เบ„เบงเบฒเบกโ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบš ``เบŠเบทเปˆโ€‹เบ—เบฒเบ‡โ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบญเบทเปˆเบ™เป†โ€‹เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบงเป‰โ€‹เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบžเบฐโ€‹เบเบฒโ€‹เบเบฒเบกโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ™เบญเบโ€‹เป€เบซเบ™เบทเบญโ€‹เป„เบ›โ€‹เบˆเบฒเบ
./makefile เปเบฅเบฐ ./makefile เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ‚เบฐเบซเบเบฒเบเป€เบŠเบฑเปˆเบ™: SCCS/s.Makefile เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†
เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบ›เบฑเบ™เบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” (เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบเบฑเบšเบšเปเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”
เบžเบถเบ”เบ•เบดเบเปเบฒ) เป€เบžเบทเปˆเบญเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบซเบ™เป‰เบฒเบ›เบฐเบซเบฅเบฒเบ”เปƒเบˆเบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเป€เบฅเบทเบญเบเป€เบญเบปเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”
เบ„เบท /etc/Makefile. เบฅเบฐเบšเบปเบš XSI-conformant เบเบฑเบ‡เบžเบฐเบเบฒเบเบฒเบก ./s.makefile, SCCS/s.makefile,
./s.Makefile, เปเบฅเบฐ SCCS/s.Makefile.

เบ‚เปเป‰เบชเบฐเป€เปœเบตเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบกเบตเบกเบฐเบซเบฒเบžเบฒเบ NPROC เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ„เบงเบ™เปƒเบŠเป‰ n
เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™. เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบตเปˆเบกเบตเบ„เบธเบ™เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบซเบผเบฒเบเป†เบ„เบปเบ™
เบฅเบฐเบšเบปเบš, เบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ›เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™ trivial เบญเบทเปˆเบ™เป†เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เป„เบŸเบฅเปŒ
syntax. เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ™เบตเป‰เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008, เปเบ•เปˆเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™
เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰. เบกเบฐเบซเบฒเบžเบฒเบ เบžเบฒเบฃเบฒเบเบญเบ” เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบšเบฒเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”
เป‚เบ”เบโ€‹เบกเบตโ€‹เบ„เบงเบฒเบกโ€‹เบซเบกเบฒเบโ€‹เบ—เบตเปˆโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™ (เปเบ•เปˆโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบŠเบทเปˆโ€‹เบ—เบตเปˆโ€‹เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™โ€‹เบˆเปเบฒโ€‹เบเบฑเบ”โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ—เบปเปˆเบงโ€‹เป„เบ›โ€‹
เบกเบนเบ™เบ„เปˆเบฒ). เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเปเบ™เบฐเบ™เปเบฒเบงเปˆเบฒเบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบฎเบฑเบšเบฎเบนเป‰เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเบ‚เบญเบ‡ NPROC เปเบฅเบฐ / เบซเบผเบท
เบžเบฒเบฃเบฒเบเบญเบ” เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเป„เบ› เป€เบฎเบฑเบ”เปƒเบซเป‰.

เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบฅเบฐเบšเบปเบš V. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ CC= เบกเบนเบ™เบ„เปˆเบฒเปเบกเปˆเบ™ c99 เปเบ—เบ™โ€‹เบ—เบตเปˆ cc
เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ›เบฐเบฅเบดเบกเบฒเบ™เบ™เบตเป‰เบ‚เบญเบ‡ POSIX.1-2008 เบšเปเปˆเป„เบ”เป‰เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบกเบตเบŠเบทเปˆ cc. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™,
เบ—เบธเบเป†เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบˆเบฐเบ•เป‰เบญเบ‡เบเปเบฒเบ™เบปเบ” CC=c99 เบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™. เบกเบต
เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเป„เบ”เป‰เบ›เบฝเบšเบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเป‚เบ”เบเบ„เบงเบฒเบกเบซเบงเบฑเบ‡เบ—เบตเปˆ makefile เบญเบฒเบ”เบˆเบฐเบ•เบต compiler ``เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™ยด
เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ™เบตเป‰เบšเปเปˆเบชเบฒเบกเบฒเบ”เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเป€เบฎเบฑเบ”เบงเบฝเบ. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ makescript เปเบšเบšเบžเบฐเบเบฐเบžเบฒเบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ c99 เบ—เบฒเบ‡เป€เบฅเบทเบญเบ, เบšเปเปˆเบกเบตเบ‚เปเป‰เป„เบ”เป‰เบ›เบฝเบšเปเบกเปˆเบ™ conferred เปƒเบ™เบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆ script เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰. เบกเบฑเบ™โ€‹เปเบกเปˆเบ™
เบšเบฑเบ™เบซเบฒเบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบเปˆเบฝเบงเบเบฑเบšเบงเปˆเบฒ c99 เปเบกเปˆเบ™โ€‹เบกเบตโ€‹เบ„เบธเบ™โ€‹เบ„เปˆเบฒโ€‹เป€เบ›เบฑเบ™โ€‹ cc.

เป„เบ”เป‰ โˆ’เบ‡ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบฅเบทเป‰เบญเบเป†เป€เบžเบทเปˆเบญเบœเบฐเบฅเบดเบ”เบ‚เปเป‰เบกเบนเบ™ debugging, เปเบ•เปˆเบงเปˆเบฒเป€เบเบตเบ™เป„เบ›
เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”-เบเปเบฒเบ™เบปเบ”เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเปƒเบชเปˆเบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008 เบ™เบตเป‰.

เป„เบ”เป‰ -เบ› เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบœเปˆเบฒเบ™ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡
เบญเบฑเบ™เบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบผเบฒเบเบขเปˆเบฒเบ‡เปเบ•เบเปเบเบเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบžเบฝเบ‡เบžเป.

เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ a ('+') เบ–เบทเบโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เป€เบ–เบดเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹ เบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™
เบ›เบฐเบˆเบธเบšเบฑเบ™. เบญเบตเบ‡เปƒเบชเปˆเบชเบฐเบšเบฑเบš GNU เบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰, เบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡ เบ™ เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆ เบ„เบณเบ™เบณเปœเป‰เบฒ
เปเบกเปˆเบ™เบžเบปเบšเป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเป„เบ›เบ™เปเบฒเปƒเบŠเป‰เบเบฑเบš โˆ’q เปเบฅเบฐ -t เบ„เบทโ€‹เบเบฑเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบฅเบฐเบšเบปเบš V
เบชเบปเบ™เบ—เบดเบชเบฑเบ™เบเบฒเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบเบฑเบš เบ™ เป€เบกเบทเปˆเบญเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบกเบต
เบ—เบฑเบ‡เบชเบญเบ‡เบชเบฒเบ "$(เป€เบฎเบฑเบ”)" or "${MAKE}" เบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบฎเบญเบ‡เป€เบญเบปเบฒ. เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ™เบตเป‰
เบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบ‚เปเป‰เบชเบฐเป€เบซเบ™เบตเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เปเบ•เปˆเบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡
เบ•เบปเบงเบขเปˆเบฒเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ‚เบญเบ‡เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡ makefile:

เบเปˆเบญเบ:
cd subdir; rm all_the_files; $(เป€เบฎเบฑเบ”)

เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš V เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบชเบปเบกเบ”เบธเบ™เบเบฑเบ™เบ”เบตเป‚เบ”เบเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ—เบตเปˆเบˆเปˆเบฒเบเปƒเบซเป‰
makefiles เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบฎเบนเป‰เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰. เปƒเบ™เบเปเบฅเบฐเบ™เบตเปƒเบ”เบเปเปˆเบ•เบฒเบก, เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡
เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒเบชเบฒเบกเบฒเบ”เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™.

เบ„เบนเปˆ เปƒเบ™เบฎเบนเบšเปเบšเบšเบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปƒเบ™เบฅเบฐเบšเบปเบš BSD เป€เบžเบทเปˆเบญเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบžเบตเปˆเบกเป€เบ•เบตเบก
เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เป€เบชเบฑเป‰เบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบกเบตเบŠเบทเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ”เบฝเบงเบเบฑเบ™เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบกเบฑเบ™.
เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™ SVID เบซเบผเบท XPG3 เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบ›เบฑเบ™
เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ, เปเบ•เปˆเบšเปเปˆเบ–เบทเบเบšเบฑเบ‡เบ„เบฑเบš.

เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เปƒเบซเป‰เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบฅเบฐเบšเบธเบงเปˆเบฒเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบ™เบฑเป‰เบ™เบˆเบฐเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™
เป€เบŠเบฑเปˆเบ™โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบงเป‰โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹. เบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบ™เบˆเบฐเบชเบฒเบกเบฒเบ”
เปƒเบŠเป‰เบเบปเบ”เบฅเบฐเบšเบฝเบšเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เปเบ•เปˆเบˆเบฐเบ–เบทเบเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบš
เบžเบถเบ”เบ•เบดเบเปเบฒเบ•เบปเป‰เบ™เบ•เป.

เบงเบดเบ—เบตเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡ makefiles เปเบšเบšเบžเบฐเบเบฐเบžเบฒเปเบกเปˆเบ™เบเบฒเบ™เบฅเบงเบกเป€เบญเบปเบฒเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™
makefile เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡. เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เปƒเบซเป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบ„เบธเบ™โ€‹เบชเบปเบกโ€‹เบšเบฑเบ”โ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เปƒเบซเป‰โ€‹เป‚เบ”เบโ€‹เบžเบฒเบโ€‹เบชเปˆเบงเบ™โ€‹เบญเบทเปˆเบ™เป†โ€‹เบ‚เบญเบ‡โ€‹เบ™เบตเป‰โ€‹
เบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008. เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ›เบฐเบเบญเบšเบกเบตเบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบ™เบตเป‰
เบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008. เบžเบฝเบ‡เปเบ•เปˆเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™
เบŠเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เบˆเบธเบ”เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเปเบกเปˆเบ™เบงเปˆเบฒเบˆเบฐเบฅเบธเบ”เบฅเบปเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบเบ›เบฐเบฅเบดเบกเบฒเบ™เบ™เบตเป‰
POSIX.1-2008. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฐเบ”เบงเบ, เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เป€เบชเบตเบกเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™ Portable เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ.
เบœเบปเบ™โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ”โ€‹เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹เปเบกเปˆเบ™โ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เบเบฒเบ™ Portable เบ‚เบญเบ‡โ€‹เบœเบนเป‰โ€‹เบŠเบปเบกโ€‹เปƒเบŠเป‰โ€‹เบ—เบตเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบžเบดเบกโ€‹ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ„เปเบฒเบชเบฑเปˆเบ‡ เปเบฅเบฐเบกเบต
เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเป‰เบฒเบ‡เบˆเบฒเบ a command.c เบเบทเปˆเบ™.

เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ” MAKESHELL เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ–เบทเบเบฅเบฐเป€เบงเบฑเป‰เบ™. เปƒเบ™เบšเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเปƒเบซเป‰ a
เบœเบนเป‰เปƒเบŠเป‰ override เปเบเบฐเบ—เบตเปˆเบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ„เปเบฒเบชเบฑเปˆเบ‡. เบญเบฑเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฑเบšเบชเบปเบ™; เบชเปเบฒโ€‹เบฅเบฑเบš
เบžเบฒเบš เป€เบฎเบฑเบ”เปƒเบซเป‰, shell เบ„เบงเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ„เบฑเบ”เป€เบฅเบทเบญเบเป‚เบ”เบ makefile writer เบซเบผเบทเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ เป€เบฎเบฑเบ”เปƒเบซเป‰
เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เปเบฅเปˆเบ™ เป€เบฎเบฑเบ”เปƒเบซเป‰.

เป„เบ”เป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™ prerequisites เบ‚เบญเบ‡ a
เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบŠเป‰เบฒเบเบซเบฒเบ‚เบงเบฒ, เปเบฅเบฐเบฎเบนเบšเปเบšเบš makefile เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบ™เบตเป‰. เบกเบฑเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹
idiom เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบซเบผเบฒเบ makefiles เบ—เบตเปˆเบœเบฐเบฅเบดเบ” yacc เป‚เบ„เบ‡เบเบฒเบ™; เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡:

เบŸเบน: y.tab.o lex.o main.o
$(CC) $(CFLAGS) โˆ’o $@ t.tab.o lex.o main.o

เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ™เบตเป‰, เบ–เป‰เบฒ เป€เบฎเบฑเบ”เปƒเบซเป‰ เป€เบฅเบทเบญเบเบ„เปเบฒเบชเบฑเปˆเบ‡ arbitrary เปƒเบ”, เป„เบ”เป‰ lex.o เบญเบฒเบ”เบˆเบฐเบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบเบฑเบš
เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ y.tab.h. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบญเบฒเบ”เบˆเบฐเบกเบตเบงเบดเบ—เบตเบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบชเบฐเปเบ”เบ‡เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบ™เบตเป‰, เบกเบฑเบ™เปเบกเปˆเบ™
เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡เปƒเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ™
เบ„เบงเบ™เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เป€เบžเบทเปˆเบญ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบซเบผเบทเบฎเบนเบšเปเบšเบš makefile เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเปเบฒเป€เบฅเบฑเบ”เบกเบฑเบ™, เป€เบ›เบฑเบ™
เบญเบฐเบ—เบดเบšเบฒเบเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰.

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบเบณเบ™เบปเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเปเปˆเบชเบณเบฅเบฑเบšเบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ›เบปเป‰เบฒเปเบฒเบเปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเบšเบฒเบ‡เบชเปˆเบงเบ™. เบšเบฒเบ‡
เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ” เป€เบฎเบฑเบ”เปƒเบซเป‰s เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เป€เบ›เบปเปˆเบฒโ€‹เบซเบงเปˆเบฒเบ‡โ€‹, เบซเบงเปˆเบฒเบ‡โ€‹เป€เบ›เบปเปˆเบฒโ€‹, เบซเบผเบทโ€‹เบ„เปเบฒโ€‹เบ„เบดเบ”โ€‹เป€เบซเบฑเบ™โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เป€เบเบฑเบšโ€‹เบเปเบฒโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹
เบซเบกเบฒเบเป‚เบ”เบเบœเบนเป‰เบ™เปเบฒ เบ•เบปเบงเบฅเบฐเบ„เบญเบ™. makefile เบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบ•เป‰เบญเบ‡เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเปเบ•เปˆเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡
เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ a , เปเบ•เปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบกเปˆเบ™เบšเปเปˆเป€เบชเบเบ„เปˆเบฒเบ—เบตเปˆเบˆเบฐเบฅเบฐเป€เบงเบฑเป‰เบ™เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ, เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ, เปเบฅเบฐเบ„เปเบฒเป€เบซเบฑเบ™
เบชเบฒเบเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบเบฐเบ•เบธเป‰เบ™เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบซเบกเปˆ.

เบžเบฒเบเบชเปˆเบงเบ™เป€เบซเบ”เบเบฒเบ™ ASYNCHRONOUS เบ›เบฐเบเบญเบšเบกเบต SIGTERM เปเบฅเบฐ SIGHUP, เบžเป‰เบญเบกเบเบฑเบšเบชเบดเปˆเบ‡เบญเบทเปˆเบ™เป†.
SIGINT เปเบฅเบฐ SIGQUIT เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก, เป€เบญเบปเบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เบญเบญเบเป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเบกเบตเบ—เบดเบ”เบ—เบฒเบ‡เบšเปเปˆเปƒเบซเป‰เป€เบฎเบฑเบ”เปเบ™เบงเบ™เบฑเป‰เบ™.
SIGTERM เปเบฅเบฐ SIGHUP เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบญเบทเปˆเบ™เป†เบ‚เบฐเบซเบ™เบฒเบ™เบ—เบตเปˆเป„เบ”เป‰เบ–เบทเบเบญเบฐเบ™เบฒเป„เบกเปƒเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”
เป€เบ–เบดเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบชเบฑเบ™เบเบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เป€เบกเบทเปˆเบญโ€‹เปƒเบ”โ€‹ เป€เบฎเบฑเบ”เปƒเบซเป‰ เป„เบ”เป‰เบฎเบฑเบšเบชเบฑเบ™เบเบฒเบ™เบญเบทเปˆเบ™เบ™เบญเบเบˆเบฒเบ
SIGQUIT, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบชเบปเปˆเบ‡เบชเบฑเบ™เบเบฒเบ™เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบ—เบตเปˆเบกเบฑเบ™เป„เบ”เป‰เบฎเบฑเบšเป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบฑเบ™เบญเบญเบเบ”เป‰เบงเบ a
เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เบžเบฒเบšโ€‹เบ—เบตเปˆโ€‹เบชเบฐโ€‹เบ—เป‰เบญเบ™โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เบชเบฑเบ™โ€‹เบเบฒเบ™โ€‹. เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบ SIGQUIT เปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเบšเบฒเบ‡เบชเปˆเบงเบ™
เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ, เบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบšเบปเบšเบ—เบตเปˆเบชเป‰เบฒเบ‡ core เป„เบŸเบฅเปŒเป€เบกเบทเปˆเบญเป„เบ”เป‰เบฎเบฑเบš SIGQUIT, เป„เบ”เป‰ core เบˆเบฒเบ เป€เบฎเบฑเบ”เปƒเบซเป‰
เบˆเบฐเบ‚เบฑเบ”เปเบเป‰เบ‡เบเบฑเบš เบ core เป„เบŸเบฅเปŒเบˆเบฒเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เปเบฅเปˆเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ SIGQUIT
เบกเบฒเบฎเบญเบ”. เบ„เบงเบฒเบกเบเบฑเบ‡เบงเบปเบ™เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบšเปเปˆเปƒเบซเป‰เป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบชเบเบซเบฒเบเบˆเบฒเบเบเบฒเบ™เบ›เบฐเบเบปเบ”เบ‚เบถเป‰เบ™เป€เบ–เบดเบ‡เป€เบงเบฅเบฒ เป€เบฎเบฑเบ”เปƒเบซเป‰
เปเบกเปˆเบ™ rerun.

เป„เบ”เป‰ .PRECIOUS เป€เบ›เบปเป‰เบฒเปเบฒเบเบžเบดเป€เบชเบ”เป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเป„เบ›เบชเบปเปˆเบ‡เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบ—เบธเบเป€เบ›เบปเป‰เบฒเปเบฒเบเบ—เบปเปˆเบงเป‚เบฅเบ (เป‚เบ”เบเบฅเบฐเบšเบธเบงเปˆเบฒ no
เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™). เป„เบ”เป‰ .เบšเปเปˆเบชเบปเบ™เปƒเบˆ เปเบฅเบฐ .เบ‡เบฝเบš เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบžเบดเป€เบชเบ”เป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเบญเบญเบเป„เบ›เป€เบžเบทเปˆเบญเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰
เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™; เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ•เบฑเบ”เบชเบดเบ™เบงเปˆเบฒเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบเปƒเบ™เบšเบฒเบ‡เบเปเบฅเบฐเบ™เบตเป€เบžเบทเปˆเบญเปƒเบซเป‰เบชเบฒเบกเบฒเบ”เบ›เบดเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เป„เบ”เป‰
เบซเบผเบท echoing เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบเปˆเบงเบฒเบชเปเบฒเบฅเบฑเบš makefile เบ—เบฑเบ‡เบซเบกเบปเบ”. เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบžเบทเปˆเบญ เป€เบฎเบฑเบ”เปƒเบซเป‰ in
เบฅเบฐเบšเบปเบš V เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป€เบžเบทเปˆเบญเปƒเบซเป‰เบเบปเบ‡เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบˆเบฒเบ BSD เป€เบฎเบฑเบ”เปƒเบซเป‰.

Macros เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบชเบปเปˆเบ‡เบญเบญเบเป„เบ›เบซเบฒเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™. เบ™เบตเป‰เบšเปเปˆเป€เบ„เบตเบเป€เบ›เบฑเบ™เบเปเบฅเบฐเบ™เบต
เปƒเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เปƒเบ”เป† เป€เบฎเบฑเบ”เปƒเบซเป‰ เปเบฅเบฐโ€‹เบˆเบฐโ€‹เบกเบตโ€‹เบœเบปเบ™โ€‹เบชเบฐโ€‹เบ—เป‰เบญเบ™โ€‹เบฎเป‰เบฒเบโ€‹เปเบฎเบ‡. เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเปเบกเปˆเบ™เบ„เบทเบเบฑเบ™เบเบฑเบš
เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก เป€เบฎเบฑเบ”เปƒเบซเป‰ เบเบปเบเป€เบงเบฑเป‰เบ™เบ™เบฑเป‰เบ™ เป€เบ„เบทเปˆเบญเบ‡เปเบ•เปˆเบ‡เบเบฒเบ เปเบฅเบฐเบกเบฐเบซเบฒเบžเบฒเบเบ—เบตเปˆเบเบณเบ™เบปเบ”เป„เบงเป‰เปƒเบ™ เป€เบฎเบฑเบ”เปƒเบซเป‰ เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡
เบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบก.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰ เบฅเบฐเบšเบปเบš() เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹, เบ•เบฒเบกโ€‹เบ—เบตเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เป‚เบ”เบโ€‹
เบฎเบนเบšเปเบšเบš makefile เปเบšเบšเบžเบฐเบเบฐเบžเบฒ; เป€เบ›เบฑเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš, เบžเบงเบเป€เบ‚เบปเบฒเป€เบฅเบทเบญเบเบชเบฒเบเป‚เบ”เบเบšเปเปˆเบกเบตเปเบเบฐ
metacharacters เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบเบปเบ‡เป‚เบ”เบ เบเบปเบเป€เบงเบฑเป‰เบ™(). เบšเปเปˆเบกเบตเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒ เบฅเบฐเบšเบปเบš() เป€เบ›เบฑเบ™
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เปเบ•เปˆเบžเบฝเบ‡เปเบ•เปˆเบงเปˆเบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ”เบฝเบงเบเบฑเบ™เบˆเบฐเบšเบฑเบ™เบฅเบธเป„เบ”เป‰. metacharacters เป„เบ”เป‰
เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ‚เป‰เบฒเบกเบ—เบฒเบ‡เบเบปเบ‡ เบเบปเบเป€เบงเบฑเป‰เบ™() เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เปƒเบ”เป†โ€‹เบ‚เบญเบ‡โ€‹:

= | ^ ( ) ; & < > * ? [ ] : $ ` ' " \ \n

เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เบšเบฒเบ‡เบฎเบธเปˆเบ™เบ‚เบฑเป‰เบ™เบชเบนเบ‡เบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰ เปเบกเปˆเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบธเปˆเบกเบšเบฑเบ™เบ—เบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเปเบฒเบฅเบฑเบš a
เป€เบ›เบปเป‰เบฒเปเบฒเบ เปเบฅเบฐ เบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบงเบเบกเบฑเบ™เป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เป€เบญเบตเป‰เบ™เป€เบญเบปเบฒเป€เบ›เบทเบญเบเบ”เบฝเบง; เบงเบดเบ—เบตเบเบฒเบ™เบฅเบฐเบšเบปเบš V เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบœเปˆเบฒเบ™
เปเบ•เปˆโ€‹เบฅเบฐโ€‹เป€เบชเบฑเป‰เบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบชเปˆเบงเบ™โ€‹เบšเบธเบโ€‹เบ„เบปเบ™โ€‹เป€เบžเบทเปˆเบญโ€‹เปเบเบฐโ€‹เปเบเบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบซเบฒเบโ€‹. เบงเบดเบ—เบตเบเบฒเบ™เปเบเบฐเบ”เบฝเบงเบกเบตเบ‚เปเป‰เบ”เบตเปƒเบ™
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบ‚เบฒเบ”เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบชเบฒเบเบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบซเบผเบฒเบ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™
เบงเบดเบ—เบตเบเบฒเบ™เปƒเบซเบกเปˆเบ™เบตเป‰เป„เบ”เป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒเบเบฒเบ™เบžเบปเบเบžเบฒเบเบฑเบš makefiles เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™
เบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเบกเบต POSIX makefile เบ–เบทเบเบเปเบฒเบ™เบปเบ”เปƒเบซเป‰เบ„เบทเบเบฑเบ™เบเบฑเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš V. เบกเบฑเบ™เปเบกเปˆเบ™
เปเบ™เบฐโ€‹เบ™เปเบฒโ€‹เบงเปˆเบฒโ€‹เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹ .ONESHELL เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”
เบšเบฑเบ™เบฅเบธเบเบฒเบ™เปเบšเปˆเบ‡เบเบธเปˆเบกเบซเบญเบเบ”เบฝเบงเบชเปเบฒเบฅเบฑเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบซเบผเบทเบเบธเปˆเบกเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ.

เบœเบนเป‰เปƒเบŠเป‰เบˆเบปเบงเบ‚เบญเบ‡ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบเบฑเบšเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบฒเบ‡เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ”เป‰เบงเบ a
. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบกเบฑเบเบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเปเบ™เบกเป€เบšเบดเปˆเบ‡เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡ เปเบฅเบฐ
เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบžเบดเบกเบซเบผเบทเบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเบžเบดเบกเบญเบญเบ, เปเบกเบ‡เป„เบกเป‰เบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบชเบฒเบกเบฒเบ”เป€เบเบตเบ”เบ‚เบทเป‰เบ™. เปƒเบ™โ€‹เบ‚เปเป‰โ€‹เบชเบฐโ€‹เป€เบซเบ™เบตโ€‹เบ•เบปเป‰เบ™โ€‹,
เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เป‚เบ”เบเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ™เปเบฒเบžเบฒ เบ•เบปเบงเบฅเบฐเบ„เบญเบ™เปเบ—เบ™
เบ‚เบญเบ‡ เบ•เบปเบงเบฅเบฐเบ„เบญเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบฅเบฒเบเบ‡เบฒเบ™ makefiles เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเบ—เบตเปˆเบฅเบปเป‰เบกเป€เบซเบฅเบงเปƒเบ™ subtle
เบงเบดเบ—เบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ™เบตเป‰, เปเบฅเบฐเบกเบฑเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ” a เป€เบฎเบฑเบ”เปƒเบซเป‰ เบ—เบตเปˆเบšเปเปˆเปเบ™เปˆเบ™เบญเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰
เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡ macro เปเบฅเบฐเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡. เบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡เบ‚เบญเบ‡
เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ™เปเบฒเบžเบฒ เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบเปˆเบญเบ™เบ™เบดเบเบฒเบกเบกเบฐเบซเบฒเบžเบฒเบ. เบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เป€เบชเบฑเป‰เบ™เบกเบฐเบซเบฒเบžเบฒเบเป€เบ›เบฑเบ™
เบ–เบฑเบ™ 1 เบˆเบฐเป€เบ›เบฑเบ™เบšเบฑเบ™เบซเบฒเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เปƒเบ™เบ”เป‰เบฒเบ™เบซเบผเบฑเบ‡เบ—เบตเปˆเบชเบณเบ„เบฑเบ™เบชเบณเบฅเบฑเบšเบšเบฒเบ‡ makefiles.
เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เป„เบ”เป‰เบ–เบทเบเบŸเบทเป‰เบ™เบŸเบน.

เบกเบตเบ„เบงเบฒเบกเบœเบฑเบ™เบœเบงเบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบฅเบงเบกเบชเบฒเบเป‚เบ”เบเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™
เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบกเบตเบ„เบงเบฒเบกเบ—เปเบฒเบกเบฐเบ”เบฒเบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰
เบฅเบฐเบšเบธเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เปƒเบŠเป‰เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆ. เบฎเบนเป‰เบˆเบฑเบ
เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เบ–เบทเบเป€เบญเบตเป‰เบ™เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบงเปˆเบฒเป€เบ›เบฑเบ™เบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบ.

เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเปเบšเบšเป„เบ”เบ™เบฒเบกเบดเบเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš V เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒ. เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹:

เปเบกเบง: [email protected]

เบ—เบตเปˆเบˆเบฐเบ‚เบฐเบซเบเบฒเบเป„เบ›;

เปเบกเบง: cat.c

เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เบกเบตเบขเบนเปˆเปƒเบ™เป€เบงเบตเบŠเบฑเบ™เปƒเปเปˆเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš V เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™ เป€เบฎเบฑเบ”เปƒเบซเป‰ เปเบฅเบฐ, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”, เบšเปเปˆเป„เบ”เป‰เบขเบนเปˆเปƒเบ™
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒ macro เป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเบชเบญเบ‡เบ„เบฑเป‰เบ‡เบชเปเบฒเบฅเบฑเบšเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™: เป€เบกเบทเปˆเบญ makefile
parse time เปเบฅเบฐเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เปƒเบ™เป€เบงเบฅเบฒเบ›เบฑเบšเบ›เบธเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ.

เบเบฒเบ™เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป„เบ”เป‰เบ–เบทเบเบกเบญเบšเปƒเบซเป‰เปเบเปˆเบเบฒเบ™เป€เบžเบตเปˆเบก metarules เบเบฑเบš POSIX เป€เบฎเบฑเบ”เปƒเบซเป‰. เบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰ %.o: %.c
เบ„เบทโ€‹เบเบฑเบ™โ€‹เบเบฑเบš .co:. เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปเบฅเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบˆเบฒเบเบœเบนเป‰เบ‚เบฒเบเบšเบฒเบ‡, เปเบ•เปˆเบงเปˆเบฒเบกเบฑเบ™เบˆเบฐ
เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›เบ•เปเปˆเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰ เป€เบฎเบฑเบ”เปƒเบซเป‰ เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เบกเบฑเบ™เบˆเบฐเป„เบ”เป‰เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เบเบปเบ”เบฅเบฐเบšเบฝเบšเปเบฅเบฐ
เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เปƒเบซเบกเปˆ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเปเบฒเบฅเบฑเบšเบŠเบทเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเป„เบ”เป‰เบ–เบทเบเบ•เบฑเป‰เบ‡เป„เบงเป‰เป€เบžเบทเปˆเบญเบชเบฐเบซเบ‡เบงเบ™
'%' เปเบฅเบฐ '"' เบ•เบปเบงเบฅเบฐเบ„เบญเบ™. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เปƒเบŠเป‰เบ•เบฒเบกเบ›เบฐเป€เบžเบ™เบตเป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ” metarules เปเบฅเบฐเบงเบปเบ‡เบขเบทเบกเบ‚เบญเบ‡
เบŠเบทเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เบœเบนเป‰เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบŠเบธเบเบเบนเป‰เบขเปˆเบฒเบ‡เปเบ‚เบ‡เปเบฎเบ‡เปƒเบซเป‰เปƒเบŠเป‰เบ•เบปเบงเบฅเบฐเบ„เบญเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰
เบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เบกเบตเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰เบ‚เบฐเบซเบเบฒเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ•เบปเบงเบ‚เบฑเป‰เบ™เบ•เปเปˆเบ—เป‰เบฒเบเบˆเบฒเบ a เปƒเบ”เป†
เบฅเบฑเบเบชเบฐเบ™เบฐ. เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ” metarules เปƒเบ™เปƒเบซเบกเปˆ เป€เบฎเบฑเบ”เปƒเบซเป‰s เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เปƒเบ™เบ—เบฒเบ‡เบ—เบปเปˆเบงเป„เบ›เบซเบผเบฒเบ.
เบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡ POSIX.1-2008 เบ™เบตเป‰เปเบกเปˆเบ™เบขเบนเปˆเบเบฑเบšเบ„เปเบฒเบ™เบดเบเบฒเบกเบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เปเบšเบšเบญเบฐเบ™เบธเบฅเบฑเบเบซเบผเบฒเบ.

เบฎเบนเบšเปเบšเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ -เบ› เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบเป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบ•เบปเป‰เบ™เบ•เป a
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ debugging เปเบฅเบฐเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบฎเบนเบšเปเบšเบšเปเบกเปˆเบ™เบšเปเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เบเบฑเบšเบšเบฑเบ™เบ”เบฒเป‚เบ„เบ‡เบเบฒเบ™. เปƒเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡ makefiles. เป„เบ”เป‰ -เบ› เบฎเบนเบšเปเบšเบš
เป„เบ”เป‰เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบ—เบปเปˆเบงเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”. เป€เบžเบฒเบฐเบชเบฐเบ™เบฑเป‰เบ™, เบ„เปเบฒเบ™เบดเบเบฒเบกเบ‚เบญเบ‡ -เบ› เปเบกเปˆเบ™
เบžเบฝเบ‡เปเบ•เปˆเบชเบฐเบซเบ™เบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบกเบตเบŠเบทเปˆเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบš เป€เบฎเบฑเบ”เปƒเบซเป‰ เบเบฒเบ™เบ”เบตเบšเบฑเบเบชเบฐเบ„เบฃเบดเบš
เบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™.

เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ›เบฐโ€‹เบซเบงเบฑเบ”โ€‹เบชเบฒเบ”โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบเบฑเบ‡โ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบฅเบปเบšโ€‹เบฅเป‰เบฒเบ‡โ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบฅเบฒเบโ€‹เบเบฒเบ™ suffix เบเบฑเบš -r.

เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบ™เบฎเบนเป‰เบงเปˆเบฒเบšเบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เป„เบ”เป‰เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฑเบ™
target_name เปเบฅเบฐ เบกเบฐเบซเบฒเบžเบฒเบ=เบกเบนเบ™เบ„เปˆเบฒ operands เปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, เบ„เบฒเบ”เบซเบงเบฑเบ‡เบงเปˆเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ macro
เป„เบ”เป‰เบ–เบทเบเบ›เบธเบ‡เปเบ•เปˆเบ‡เบเปˆเบญเบ™เบ—เบตเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ”เป†เบˆเบฐเบ–เบทเบเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบš. เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”
เบ™เบตเป‰, เปเบ•เปˆเบšเบฒเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ”เป‰เบฒเบ™เบซเบฅเบฑเบ‡เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบญเบฒเบ”เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™.

เบเบปเบ”โ€‹เป€เบเบ™โ€‹เบเบฒเบ™โ€‹เบญเบฐโ€‹เบžเบดโ€‹เบ›เบฒเบโ€‹เป€เบ›เบปเปˆเบฒโ€‹เปเบกเปˆเบ™โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹เบเบฑเบš a เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบเบปเบเป€เบงเบฑเป‰เบ™เบ—เบฑเบ‡เบซเบกเบปเบ”
เบ„เปเบฒเบชเบฑเปˆเบ‡, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เบเบฒเบ™เบชเบฐเป€เบซเบ™เบตเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™. เบเปเบฅเบฐเบ™เบตเบชเบธเบ”เบ—เป‰เบฒเบเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡
เปเบฅเบฐเบ–เบทเบเบชเบฐเบซเบ‡เบงเบ™เป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบฑเปˆเบ™เปƒเบ™ GNU เป€เบฎเบฑเบ”เปƒเบซเป‰.

เบญเบฐเบ™เบฒเบ„เบปเบ” DIRECTIONS


เบšเปเปˆเบกเบต.

เปƒเบŠเป‰ makeposix เบญเบญเบ™เป„เบฅเบ™เปŒเป‚เบ”เบเปƒเบŠเป‰เบšเปเบฅเบดเบเบฒเบ™ onworks.net


เป€เบŠเบตเบšเป€เบงเบต เปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบตเป€เบฎเบฑเบ”เบงเบฝเบเบŸเบฃเบต

เบ”เบฒเบงเป‚เบซเบผเบ”เปเบญเบฑเบš Windows เปเบฅเบฐ Linux

  • 1
    PyQt
    PyQt
    PyQt เปเบกเปˆเบ™เบเบฒเบ™เบœเบนเบเบกเบฑเบ” Python เบชเปเบฒเบฅเบฑเบš
    Digia's Qt เบ‚เป‰เบฒเบกเป€เบงเบ—เบต
    เป‚เบ„เบ‡โ€‹เบฎเปˆเบฒเบ‡โ€‹เบเบฒเบ™โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹. เบกเบฑเบ™
    เบฎเบญเบ‡เบฎเบฑเบš Python v2 เปเบฅเบฐ v3 เปเบฅเบฐ Qt v4 เปเบฅเบฐ
    Qt v5. PyQt เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰...
    เบ”เบฒเบงเป‚เบซเบฅเบ” PyQt
  • 2
    เบ”เบตเบŠเบต
    เบ”เบตเบŠเบต
    Sardi เป€เบ›เบฑเบ™ restyling เบชเบปเบกเบšเบนเบ™เปเบฅเบฐ
    เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ” svg. 6 เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹
    เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐ 10 เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เป‚เบŸเบ™เป€เบ”เบต
    เป€เบžเบทเปˆเบญเปƒเบŠเป‰เปƒเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป„เบŸเบฅเปŒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบŠเบฒเบ”เบต
    เป„เบญเบ„เบญเบ™...
    เบ”เบฒเบงเป‚เบซเบฅเบ” Sardi
  • 3
    LMMS Digital Audio Workstation
    LMMS Digital Audio Workstation
    LMMS เป€เบ›เบฑเบ™เบŠเบญเบšเปเบงเบ‚เป‰เบฒเบกเป€เบงเบ—เบตเบŸเบฃเบต
    เบ—เบตเปˆโ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบ—เปˆเบฒเบ™โ€‹เป€เบžเบทเปˆเบญโ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ”เบปเบ™โ€‹เบ•เบตโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹
    เบ„เบญเบกโ€‹เบžเบดเบงโ€‹เป€เบ•เบตโ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ™เบตเป‰
    เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบเบฒเบ™เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™
    เบŠ ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” LMMS Digital Audio Workstation
  • 4
    FreeRTOS เป€เบ„เบตเป€เบ™เบฅเป€เบงเบฅเบฒเบˆเบดเบ‡ (RTOS)
    FreeRTOS เป€เบ„เบตเป€เบ™เบฅเป€เบงเบฅเบฒเบˆเบดเบ‡ (RTOS)
    FreeRTOS เปเบกเปˆเบ™เป€เบงเบฅเบฒเบˆเบดเบ‡เบŠเบฑเป‰เบ™เบ™เปเบฒเบ‚เบญเบ‡เบ•เบฐเบซเบผเบฒเบ”
    เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ (RTOS) เบชเปเบฒเบฅเบฑเบš
    microcontrollers เปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ
    microprocessors. เปเบˆเบเบขเบฒเบเป‚เบ”เบเบšเปเปˆเป€เบชเบเบ„เปˆเบฒ
    เบžเบฒเบเปƒเบ•เป‰ MIT open source lice...
    เบ”เบฒเบงเป‚เบซเบฅเบ” FreeRTOS Real Time Kernel (RTOS)
  • 5
    เบญเบฐเป‚เบงเบเบฒเป‚เบ”
    เบญเบฐเป‚เบงเบเบฒเป‚เบ”
    Avogadro เปเบกเปˆเบ™เป‚เบกเป€เบฅเบเบธเบ™เบ‚เบฑเป‰เบ™เบชเบนเบ‡
    เบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™เบญเบญเบเปเบšเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เป‰เบฒเบกเป€เบงเบ—เบต
    เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ„เบดเบ”โ€‹เป„เบฅเปˆโ€‹เป€เบ„โ€‹เบกเบตโ€‹เบชเบฒเบ”โ€‹, เป‚เบกโ€‹เป€เบฅโ€‹เบเบธเบ™โ€‹
    เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡, เบŠเบตเบงเบฐเบงเบดเบ—เบฐเบเบฒ, เบงเบฑเบ”เบชเบฐเบ”เบธ
    เบงเบดโ€‹เบ—เบฐโ€‹เบเบฒโ€‹เบชเบฒเบ”โ€‹เปเบฅเบฐ ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” Avogadro
  • 6
    XMLTV
    XMLTV
    XMLTV เปเบกเปˆเบ™เบŠเบธเบ”เบ‚เบญเบ‡เป‚เบ›เบฃเปเบเบฃเบกเป€เบžเบทเปˆเบญเบ›เบฐเบกเบงเบ™เบœเบปเบ™
    เบฅเบฒเบเบเบฒเบ™เป‚เบ—เบฅเบฐเบžเบฒเบš (tvguide) เปเบฅเบฐเบŠเปˆเบงเบเบˆเบฑเบ”เบเบฒเบ™
    เบเบฒเบ™โ€‹เป€เบšเบดเปˆเบ‡โ€‹เป‚เบ—เบฅเบฐโ€‹เบžเบฒเบšโ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹, เบเบฒเบ™โ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เบฅเบฒเบโ€‹เบเบฒเบ™โ€‹เปƒเบ™โ€‹
    เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ XML. เบกเบตเบชเบดเปˆเบ‡เบญเปเบฒเบ™เบงเบเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเปƒเบซเป‰
    เบ‚เบญเบ‡...
    เบ”เบฒเบงเป‚เบซเบฅเบ” XMLTV
  • เป€เบžเบตเปˆเบกเป€เบ•เบตเบก ยป

Linux เบ„เบณ เบชเบฑเปˆเบ‡

Ad