เบเบตเปเปเบกเปเบเบเปเปเบเบปเบเบเปเบญเบเบเบญเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเปเปเบ OnWorks เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบฎเบเบเบดเปเบเบเบฃเบตเปเบเบเปเบเปเบซเบเบถเปเบเปเบเบซเบผเบฒเบเปเบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเบญเบญเบเปเบฅเบเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบฑเปเบ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator
เปเบเบเบเบฒเบ:
NAME
Cons - เบฅเบฐเบเบปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบญเบเปเบง
เบฅเบฒเบเบฅเบฐเบญเบฝเบ
เบเบนเปเบกเบทเปเบฅเบฐเปเบญเบเบฐเบชเบฒเบเบญเปเบฒเบเบญเบตเบเบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฑเบ 2.2.0
เบฅเบดเบเบฐเบชเบดเบ (c) 1996-2000 Free Software Foundation, Inc.
เปเบเบโเบเบฒเบโเบเบตเปโเปเบกเปเบโเบเบญเบโเปเบงโเบเบฃเบตโ; เบเปเบฒเบโเบชเบฒโเบกเบฒเบโเปเบเบโเบขเบฒเบโเบกเบฑเบโเปเบฅเบฐ / เบซเบผเบทโเบเบฑเบโเบเบธเบโเปเบเปโเปเบโเบกเบฑเบโเบเบฒเบโเปเบเปโเปเบเบทเปเบญเบโเปเบโเบเบญเบโ
เปเบเบญเบฐเบเบธเบเบฒเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบปเปเบงเปเบเบเบญเบ GNU เบเบตเปเบเบฑเบเบเบดเบกเปเบเบ Free Software Foundation; เบเปเปเบงเปเบฒเบเบฐ
เบชเบฐเบเบฑเบ 2 เบเบญเบเปเบเบญเบฐเบเบธเบเบฒเบ, เบซเบผเบท (เบเบฒเบกเบเบฒเบเปเบฅเบทเบญเบเบเบญเบเบเปเบฒเบ) เบชเบฐเบเบฑเบเบเปเปเบกเบฒ.
เปเบเบเบเบฒเบเบเบตเปเปเบเปเบเบทเบเปเบเบเบขเบฒเบเปเบเบเบซเบงเบฑเบเบงเปเบฒเบกเบฑเบเบเบฐเปเบเบฑเบเบเบฐเปเบซเบเบ, เปเบเปเบเปเปเบกเบตเบเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเปเบเป;
เปเบเบเบเปเปเบกเบตเบเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเบเปเบฒเบเบเบฒเบเบเปเบฒ เบซเบผเบทเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบชเบฐเปเบเบฒเบฐ.
เปเบเบดเปเบเปเบเบญเบฐเบเบธเบเบฒเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบปเปเบงเปเบเบเบญเบ GNU เบชเปเบฒเบฅเบฑเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบก.
เบเปเบฒเบเบเบงเบเปเบเปเบฎเบฑเบเบชเปเบฒเปเบเบปเบฒเบเบญเบเปเบเบญเบฐเบเบธเบเบฒเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบปเปเบงเปเบ GNU เบเปเบญเบกเบเบฑเบเปเบเบเบเบฒเบเบเบตเป;
เปเบเบดเปเบเปเบเบฅเป COPYING. เบเปเบฒเบเปเปเปเบกเปเบ, เบเบฝเบเบซเบฒ Free Software Foundation, Inc., 59 Temple
เบชเบฐเบเบฒเบเบเบตเป - Suite 330, Boston, MA 02111-1307, USA.
เบเบฒเบเบเปเบฒเบชเบฐเปเบซเบเบต
cons เปเบกเปเบเบฅเบฐเบเบปเบเบเบฒเบเบเปเปเบชเปเบฒเบ, เบเบปเปเบเบเป, เบเบญเบเปเบง, เปเบเปเบเปเบญเบเบเปเบฒเบเปเบเบเบเปเบฒเบเบเบฒเบ
เบฅเบฐเบเบปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบญเบเปเบงเบเบตเปเบเปเบฒเบเบกเบฒ. Cons เปเบเปโเบเบทเบโเบญเบญเบโเปเบเบโเบเบฒเบโเบเบทเปเบโเบเบฒเบโเปเบเบดเบโเบเบฒเบโเบเบฑเบโเบเบฒเบโ
เปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบเบเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบญเบเบเบญเบเปเบงเบเบตเปเปเบเปเบเบฐเบซเบเบฒเบเบขเบนเปเปเบเบซเบผเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบซเบผเปเบ. เบเปเปเปเบชเบ
เปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเปเปเบเบฒเบเบชเปเบฒเบเบชเบฐเบเบดเบเบเบตเปเบเปเบฒเบเบเบฒเบ, เปเบเบปเปเบฒเปเบเปเบฅเบฐเบฎเบฑเบเบชเบฒเปเบเป.
Cons เบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบเบญเบเปเบงเบเบตเปเบเบฑเบเบเปเบญเบเปเบกเปเบเปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบเปเบฅเบฐเบเบทเบเบเปเบญเบเบเบฒเบเปเบเปเบเบฑเบ.
Cons เปเบเปเปเบเบฑเบเบเบดเบเบเปเบฒเบเบงเบเบซเบเบถเปเบเปเบเบทเปเบญเปเบฎเบฑเบเบชเปเบฒเปเบฅเบฑเบเบเบฑเบเบซเบกเบปเบเบเบตเป. script เบเบฒเบเบเปเปเบชเปเบฒเบเปเบกเปเบเบเบฝเบเปเบเป
Perl scripts, เปเบฎเบฑเบเปเบซเปเบเบงเบเปเบเบปเบฒเบเบฑเบเบชเบญเบเปเบเบปเปเบฒเปเบเบเปเบฒเบเปเบฅเบฐเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเบซเบผเบฒเบ. เบเบญเบเปเบเบเบเบปเปเบงเปเบฅเบเบเบญเบ
เบเบปเบงเปเบเบเบทเบเปเบเบเบเบตเปเบเปเบงเบเบเบปเบเปเบเบเบฒเบเบเปเบฒเปเบเบปเปเบฒ / เบชเบปเปเบเบญเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฅเบเบเปเบฝเบเบเปเปเบกเบนเบเบฅเบฐเบซเบงเปเบฒเบ
scripts, เบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบเบเบฑเบเบเบธเบเบเบฒเบเบญเปเบฒเบเปเบฅเบฐเบเบฒเบเบฎเบฑเบเบชเบฒเปเบงเปเบเบญเบเปเบเปเบฅเบฐ script.
เบเบฒเบเบเปเปเบชเปเบฒเบ เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก เปเบเปเบเบทเบเบเปเบฒเบชเบฐเปเบซเบเบต: เปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบงเบฑเบเบเบธ Perl เบเบตเปเปเบเบฑเบเบเปเบฒ
เบเปเปเบกเบนเบเบเบตเปเบเปเบฒเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบงเบเบเบธเบกเบเบฐเบเบงเบเบเบฒเบเบชเปเบฒเบ. เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบซเบผเบฒเบเบเบทเบเบเปเบฒเปเบเป
เปเบเปเบงเบฅเบฒเบเบตเป semantics เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบกเปเบเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเปเบเบเบปเปเบเปเบกเปเบเปเปเบชเปเบฒเบ. เบเปเปเปเบชเบ
เบเบฐเบเบดเบเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบฅเบฐเบเปเบฒเปเบเปเบญเบฑเบเบเบตเปเปเบเบทเปเบญเบเบฑเบเบฅเปเบฒเบเบฑเบเบเบปเปเบงเปเบฅเบ
เบชเปเบฒเบ. เบเบฒเบเบชเปเบฒเบเบเบปเบงเปเบเปเบกเปเบเบเบฐเบฅเบดเบเปเบเปเบเปเบฒเบเบเบฒเบเบเบปเปเบเปเบกเปเปเบซเบผเปเบเบเบฝเบง. เบเบฒเบเบเปเปเบชเปเบฒเบเบญเบฑเบเบชเบฐเบฅเบดเบเบฐ
เบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเบญเบเปเบกเปเบเปเบเบฑเบเปเบเปเบเป, เปเบเปเบงเบฅเบฒเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเบเปเบญเบเบเบดเปเบ. Overrides เบชเบฒเบกเบฒเบเบเบฑเปเบเบเปเบฒเปเบเป
เบฅเบปเบเบฅเปเบฒเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบเปเบเบเบเปเปเบกเบตเบเบฒเบเบเบฑเบเปเบเบเบชเบฐเบเบดเบเปเบเป. MD5 เบฅเบฐเบซเบฑเบเบฅเบฑเบ
เบฅเบฒเบเปเบเบฑเบ เปเบกเปเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒ, เปเบฅเบฐเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบฒเบเบปเบเบขเปเบฒเบเบเบทเบเบเปเบญเบเบงเปเบฒ
เปเบเบฅโเปโเบเบตเปโเปเบเปโเบฎเบฑเบโเบเปเบฒโเปเบเบฑเบโเบเปเบญเบโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบชเปเบฒเบโเปเบซเบกเปโ.
เปเบเบเบฐเบเบฐเบเบตเปเบชเบฐเปเบซเบเบตเบเบฑเบเบซเบกเบปเบเบเปเบฒเบเปเบเบดเบ, เปเบฅเบฐเบซเบผเบฒเบ, Cons เบเบฑเบเบเบปเบเบเปเบฒเบเบเบฒเบเปเบฅเบฐเบเปเบฒเบเบเบตเปเบเบฐเบเปเบฒเปเบเป. เบเบตเปโเบเบฐโ,
เบซเบงเบฑเบเปเบเบฑเบเบขเปเบฒเบเบเบดเปเบ, เบเบฒเบเปเบเบฑเบเบเบตเปเบเบฐเปเบเปเบเปเบเบเบฐเบเบฐเบเบตเปเบเปเบฒเบเบญเปเบฒเบเบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเบเบญเบเปเบญเบเบฐเบชเบฒเบเบเบตเป.
เปเบเบฑเบเบซเบเบฑเบ เบเปเปเปเบชเบ? เปเบเบฑเบเบซเบเบฑเบ เบเปเป เปเบฎเบฑเบเปเบซเป?
เบเปเปเปเบชเบเปเบกเปเบ เบ เปเบฎเบฑเบเปเบซเป เบเบฒเบเบเบปเบเปเบเบ. เปเบเบงเบฑเบเบเปเปเปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเปเบเบดเปเบเบชเบญเบเบชเบฒเบกเบเปเป
เบเบธเบโเบฅเบฑเบโเบชเบฐโเบเบฐโเบเบตเปโเบเปเปโเบเปเบญเบโเบเบฒเบโเบเบญเบโเบเบฒเบโเบเบฐโเบฅเบดเบ - เปเบฅเบฐโเบชเบฐโเบเบฒเบโเปเบงเบโเบฅเปเบญเบกโเบเบฒเบโเบเปเปโเบชเปเบฒเบโเบเบปเบโเบเบฐโเบเบดโเปเบเบโเบญเบตเบโเปเบชเปโเบเบฒเบ make--เบเบตเปโ
เบเบฐเบเบธเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ Cons.
เบชเปเบฒเบ เบเบงเบฒเบกเบชเบฑเบเบชเบปเบ
เบฅเบฐเบเบปเบเบเบฒเบเบเบฐเบฅเบดเบเปเบเบเบเบฑเปเบเปเบเบตเบกเบเบญเบเบเบฐเบซเบเบฒเบเปเบเบเปเปเบเบฒเบกเบกเบตเปเบเบงเปเบเปเบกเบเบตเปเบเบฐเบเบฒเบเปเบเบฑเบเบชเบฐเบฅเบฑเบเบชเบฑเบเบเปเบญเบ. เบเบปเปเบเบชเบฐเบเบฑเบเปเบฎเบฑเบ
เบเบปเบเบเบฐเปเบซเบเบเปเบฅเบฐเบญเบฐเบเบธเบเบฑเบเบเบญเบเบกเบฑเบเปเบเปเบเบฐเบเบญเบเบชเปเบงเบเบเบฑเบเปเบเบงเปเบเปเบกเบเบตเปเปเบเบซเบผเบฒเบเบงเบดเบเบต. เปเบฎเบฑเบเปเบซเปเปเบเบฑเบ
เบเปเปเบเบตเปเบเบเบฒเบเบเบฑเบเบเบฒเบเบเบฑเบเบฅเบฐเบเบปเบเบเบตเปเปเบเปเบเบฐเบซเบเบฒเบเบขเบนเปเปเบเบซเบผเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบต. เบงเบฝเบโเบเบฒเบโเบเปเบฒเบเป -
เบญเปเบญเบกเบฎเบญเบเปเบเปเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเปเบญเบปเบฒเบเบฐเบเบฐเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเบเบตเป; เบเบฒเบเปเบฅเบทเบญเบเบเบปเบเบเบฐเบเบดเปเบกเปเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบฒเบเบฎเบฝเบเบฎเปเบญเบ
เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ recursively เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐ sub-directory เบเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบ. เบเบตเปเปเบฎเบฑเบเปเบซเปเบฅเบฐเบซเบฑเบเบชเบฑเบเบชเบปเบ, in
เปเบเบดเปเบเบกเบฑเบเบกเบฑเบเบเบฐเบเปเปเบเบฑเบเปเบเบเบงเปเบฒเบเบปเบงเปเบเบเบทเบเบเบฑเปเบเปเบเบงเปเบ, เบซเบผเบทเบกเบตเบเบปเบเปเบเบงเปเบเบเปเปเบเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบปเบงเปเบ
เบเบฐเบกเบตเบเบฒเบเบเปเปเบชเปเบฒเบเบเบฑเบเบซเบกเบปเบ. เบเบฒเบชเบฒเบเบฒเบเบเบฝเบเบชเบฐเบเบฃเบดเบเปเบเปเบเบทเบเบเบฐเบซเบเบฒเบเบญเบญเบเปเบเปเบเบทเปเบญเบฅเบฐเบเปเบฒเบง
เปเบเบทเปเบญเบชเบฐเบซเบเบญเบเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบซเบผเบฒเบ, เปเบเปเบชเบดเปเบเปเบซเบผเบปเปเบฒเบเบตเปเบชเปเบงเบเปเบซเบเปเปเบเปเบฎเบฑเบเบเบดเบเบเบญเบเปเบเบทเปเบญ clutter เปเบฅเปเบง
เบเบฒโเบชเบฒ overextendedโ. เปเบฅเบทเปเบญเบเป, เบเบฒเบเบเปเปเบชเปเบฒเบเปเบกเปเบเปเบฎเบฑเบเปเบเบซเบผเบฒเบเบเบฑเปเบเบเบญเบเปเบเบทเปเบญเบชเบฐเบซเบเบญเบ
เบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบซเบเบถเปเบเปเบเบซเบฒเบฅเบฒเบเบเบทเปเบญเบทเปเบ. เบเบตเปเปเบเบฑเบเบเบปเบงเปเบเบเบเบทเปเบกเบญเบตเบ
เปเบเบตเปเบกโเบเบถเปเบโเปเบโเบเบฒเบโเบชเปเบฒเบโเบเบงเบฒเบกโเบชเบฑเบโเบชเบปเบโ.
เบชเปเบฒเบ เบเบฒเบเบชเบทเบเบเบฑเบ
เบเปเปเบซเปเบฒเบกเบเบญเบเบเบธเบเบชเบดเปเบเบเบตเปเปเบฎเบฑเบเปเบซเปเปเบเปเบชเบฐเปเบซเบกเบตเปเบเบฑเบเบเบฒเบเบเบฑเบเบเบฒเบเบเบตเปเบเบทเบเบเปเบญเบเบเบญเบเบเบฒเบเบเบถเปเบเบเบฑเบ. เบชเปเบงเบเบซเบผเบฒเบเบกเบฑเบ, เบ
เบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเปเบกเปเบเปเบฎเบฑเบเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเบตเปเบชเบปเบกเปเบซเบเบชเบปเบกเบเบปเบเบเบญเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบฒเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฝเบง, เปเบเปเบเปเปเปเบกเปเบ
เบเบฐเบเบฒเบเบฒเบกเบขเปเบฒเบเบเบดเบเบเบฑเบเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบฅเบฐเบซเบงเปเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบต. เปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช
เบเบฒเบโเปเบฎเบฑเบโเบงเบฝเบโเบขเปเบฒเบโเบเบทเบโเบเปเบญเบโ, เปเบฎเบฑเบโเปเบซเปโเบเบฒเบโเบญเบตเบโเปเบชเปโเบเบฒเบโเบเบฝเบโเบเบฝเบโเบชเบฐโเปเบเบกโเบเบตเปโเบเปเบฒเบโเบเบฒเบโเปเบเบทเปเบญโเบเปเบฒโเบเบปเบโเบงเปเบฒโ
เปเบเบฅเปเบเบตเปเบฅเปเบฒเบชเบฐเปเบซเบกเบเปเบฝเบงเบเบฑเบเบเบนเปเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบญเบเบกเบฑเบเบเปเปเปเบกเปเบ, เปเบเบเบเบปเปเบงเปเบ, เบเบฝเบเบเปเบชเปเบฒเบฅเบฑเบ
เบเปเบฒเบเบปเบเปเบงเบฅเบฒเบเบตเปเปเบเบฅเปเบเบงเบเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบ redered. เบเปเบฒเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบฒเบเบเบญเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เปเบกเปเบ
เบชเปเบฒเบเบเบถเปเบเปเปเปเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ '`snapped' เปเบเบปเปเบฒเปเบเปเบเบเปเบญเบ, เบเบฒเบเบชเบฐเปเบเบกเปเบงเบฅเบฒเปเบเปเบเบฅเปเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบซเบกเปเบเบญเบเบกเบฑเบเบญเบฒเบเบเบฐ
เบเบตเบเปเบงเบฒเบเบฒเบเบเปเปเบชเปเบฒเบเบเปเบญเบเบเบดเปเบเบชเบธเบเบเปเบฒเบ, เบเบฑเบเบเบฑเปเบเปเบเปเบกเบฑเบเบเบทเบเบชเปเบฒเบเบเบถเปเบเบเปเบญเบเบเบตเปเบกเบฑเบเบเบฐเปเบซเบฑเบเปเบเปเบเบฑเบเปเบเบ.
variant เบชเปเบฒเบเบเบถเปเบ
Make เบชเบฐเบซเบเบญเบเบเบฝเบเปเบเปเบชเบดเปเบเบญเปเบฒเบเบงเบเบเบงเบฒเบกเบชเบฐเบเบงเบเบเบตเปเบเปเบฒเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฒเบเบเบฒเบเบเปเปเบชเปเบฒเบ variant. เบเบฑเบเบเบฒเบเบเบฐเบซเบเบฒเบเบเบปเบง
เบเบญเบเปเบงเบเบตเบฎเบฒเบเปเบงเปเบฅเบฐเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบ debuggable เบเบฝเบเบเบฑเบเบฅเบฐเบซเบฑเบ optimized, เบเบงเบฒเบกเบชเบฒเบกเบฒเบ
เบชเปเบฒเบเบเบปเบงเปเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบเปเบกเปเบเบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบ. เบชเบดเปเบเบเบตเป เบชเบณ เบเบฑเบเบเบงเปเบฒเบเบฑเปเบ, เบเปเบฒเบเบปเบงเปเบเบเบทเบเบชเปเบฒเบเบเบทเปเบ, เบกเบฑเบ
เบกเบฑเบเปเบเบฑเบเบชเบดเปเบ เบชเบณ เบเบฑเบเบเบตเปเบเบฐเบชเบฒเบกเบฒเบเปเบเบเบเบปเบงเปเบเบซเบผเบทเบชเบฒเบกเบฒเบเปเบเปเบเบฑเบเปเบเป
เบเบปเปเบเบชเบฐเบเบฑเบเบซเบผเบท variant เบขเบนเปเปเบเปเบ. เบเปเบงเบเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเบฒเบเบซเบผเบฒเบเบเบตเปเบเบฐเปเบเบเบเบฒเบเบเปเปเบชเปเบฒเบเบญเบญเบเปเบเบฑเบ
เบซเบผเบฒเบ build directory, เปเบเบเบญเบญเบเบเบฒเบเปเบซเบผเปเบ. เปเบฅเบฐเบเปเบฒเปเบเบฑเบเบเบดเบเบเบตเปเบเปเปเปเบเปเปเบเป,
เบกเบฑเบเบเบฑเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเบฎเบฑเบเบเบฐเบเบฑเบเปเบเปเบงเบฅเบฒเปเบเบเบถเปเบเบเบตเปเบเบปเบงเปเบเบกเบตเบขเบนเป
เปเบเบฑเบเปเบกเปเบขเบทเบเบเบปเปเบ, เปเบเบเบเปเปเบกเบตเบเบฒเบ resorting เบเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบชเบปเบกเบเบนเบ.
เบเบฑเบเบเบฒเบซเปเบเบฐเบเบธเบก
Make เบชเบฐเบซเบเบญเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเปเบฒเบเบฑเบเบเบฝเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบญเบเปเบงเบเบฒเบเบฅเบฐเบซเบฑเบเบเบตเปเบกเบตเบขเบนเปเปเบ a
เปเบเบโเบเบฐโเบเบญเบโเบเบฒเบ repository เบชเบนเบโเบเบฒเบโ. เบเบธเบเบชเบปเบกเบเบฑเบ VPATH เบเบญเบ GNU เปเบฎเบฑเบ (เปเบฅเบฐเบเบฒเบเบญเบฑเบเบญเบทเปเบเป
เปเบฎเบฑเบเปเบซเปเบเบฒเบเบเบฐเบเบดเบเบฑเบ) เบกเบตเบเบธเบเบเบฐเบชเบปเบเปเบเบทเปเบญเบชเบฐเบซเบเบญเบเบชเบดเปเบเบเบตเป, เปเบเปเบเปเปเปเบเปเบเบปเบเบเบฒเบกเบเบตเปเบเบฒเบเปเบงเป: เบกเบฑเบ
เบเบฒเบเบเปเบฝเบเปเบเบเปเบชเบฑเปเบเบเบฒเบเบเบญเบเปเบเบฅเปเปเบเบปเปเบฒเบซเบกเบฒเบเปเบเบซเบฒเบเบทเป VPATH เปเบงเปเบเบตเบเปเบเปเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบญเบเบกเบฑเบ, เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบ
เบเบปเปเบเบซเบฒเบเบธเบเบชเบดเปเบเบเบตเปเบเบถเปเบเบเบฑเบเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบต VPATH. เปเบเบทเปเบญเบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบตเปเบเบทเบเบเปเบญเบ
builds, เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบชเปเบฒเบเบฑเบเบเบตเปเบเบฐเบชเบฒเบกเบฒเบเบชเปเบฒเบเปเบเบฅเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบชเปเบฒเบเบเปเบญเบเบเบดเปเบเปเบฅเบฐเบกเบต
เปเบเบฅเปเปเบเปเปเบเบเปเบญเบเปเบเบฑเบเบฅเบฐเบซเบฑเบ (เบเบฑเบเบเบต VPATH, เปเบเบเปเปเบเปเบฒเบเบปเบ) เบเบตเปเบเบถเปเบเบเบฑเบเบเปเบญเบเบเบดเปเบ
เปเบเบฅเปเปเบเปเบฎเบฑเบเบเบฒเบเบชเปเบฒเบเปเบซเบกเปเบขเปเบฒเบเบเบทเบเบเปเบญเบ. เบญเบฑเบเบเบตเปเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบฑเบ VPATH, เปเบเบเบเปเปเบกเบตเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบซเบผเบฒเบ
เบเบงเบฒเบกเบฎเบนเป repository เบชเบฐเบฅเบฑเบเบชเบฑเบเบเปเบญเบเปเบเบเบเบปเบเปเบเบปเปเบฒเปเบเปเบ makefiles.
เบเบฒเบเบฎเบฑเบเบชเบฒ it เบเปเบฒเบเบเบฒเบ
เบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเบเปเบฒเบเบงเบเบซเบเบถเปเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเปเบซเปเปเบเปเบเบทเบเบเปเบฒเบงเปเบเบดเบเบเปเบฒเบเปเบเบดเบ. เปเบเบเบตเปเปเบฅเบฐเบเปเปเบกเบฒ
เบเบฒเบเบชเปเบงเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบฐเบเปเบฒ Cons เปเบฅเบฐเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบงเปเบฒเบเบฑเบเบซเบฒเปเบซเบผเบปเปเบฒเบเบตเปเบเบทเบเปเบเปเปเบเปเบเบงเปเบ.
Perl scripts
เบเปเปเปเบชเบเปเบกเปเบเบญเบตเบเปเบชเป Perl. เบเบฑเปเบเปเบกเปเบ, Cons scripts--เบเบฐเบเบฝเบ เปเบฅเบฐ เบเปเปเบชเปเบฒเบ เปเบเบฅเป, เบเบฝเบเปเบเบปเปเบฒ
to makefile or makefile-- เบเบฑเบเบซเบกเบปเบเปเบกเปเบเบเบฝเบเปเบ Perl. เบเบตเปเบชเบฐเบซเบเบญเบเบเบปเบเบเบฐเปเบซเบเบเบเบฑเบเบเบต: เปเบเป
เบเบฒเบชเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฝเบเบชเบฐเบเบดเบเปเบเบฑเบเบเบฒเบชเบฒเบเบตเปเบเบธเปเบเปเบเบตเบ. เปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเบปเปเบฒเบเปเปเปเบเปเปเบเบฑเบ Perl
เบเบนเปเบเบฝเบเปเบเบฅเปเบเบฅเบก, เบกเบฑเบเบเปเบงเบเปเบซเปเบฎเบนเปเบงเปเบฒ Perl เปเบกเปเบเบเบทเปเบเบเบฒเบเบเบฝเบเปเบเปเปเบเบฑเบเบเบฒเบชเบฒเบเบฐเบเบฒเบเบเบตเปเบเปเบฒเบเบเบฒเบ,
เบเปเบงเบเบเบฒเบเปเบซเบฅเบเบญเบเบเบฒเบเบเบงเบเบเบธเบกเบเบตเปเบเบทเบเบเปเบฒเบเบปเบเปเบงเปเบเบต, เปเบฅเบฐเบเบงเบฒเบกเบซเบกเบฒเบเบเบตเปเบเบธเปเบเปเบเบตเบ. เบกเบฑเบเบกเบตเบเบปเบงเปเบเบเบตเปเบเบฐเบเบดเบเบฑเบเบเบปเบง
เปเบเบเบเบทเปเบเบเบฒเบเปเบฅเปเบงเบงเบดเบเบตเบเบตเปเบเปเบฒเบเบเบฐเบเบฒเบเบซเบงเบฑเบเปเบซเปเบเบงเบเปเบเบปเบฒ, subroutines, เบเบฒเบเปเบซเบผเปเบเบปเปเบฒเบเบญเบเบเบฒเบเบเบงเบเบเบธเบก, เปเบฅเบฐเบญเบทเปเบเป. เบขเบนเปเบเบตเปเบเบฑเปเบ
เบเปเปเบกเบต syntax เบเบดเปเบชเบเบเบตเปเบเปเบฒเบชเบฐเปเบซเบเบตเบชเปเบฒเบฅเบฑเบ Cons. เบเบฒเบเปเบเป Perl เปเบเบฑเบเบเบฒเบชเบฒเบเบฝเบ
simplifies เบงเบฝเบเบเบฒเบเบเบญเบเบเบฒเบเบชเบฐเปเบเบเบเบฒเบเปเบเปเปเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบเบชเบฐเบฅเบฑเบเบชเบฑเบเบเปเบญเบเปเบฅเบทเปเบญเบเป
เบเบงเบฒเบกโเบเปเบญเบโเบเบฒเบโเบเบญเบโเบเบฒเบโเบเปเปโเบชเปเบฒเบโ.
เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ!
เปเบเบทเปเบญเบเบทเปเบเบเบฒเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒเบเปเปเปเบเบเบตเป, เบเบตเปเปเบกเปเบเบงเบดเบเบตเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบ เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ! C
เบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโเบเบตเปโเบกเบต Consโ:
$env = new cons();
เปเบเบเบเบฒเบ $env 'hello', 'hello.c';
เบเปเบฒเบเปเบฒเบเบเบดเบเบเบฑเปเบเบชเบฐเบเบดเบเบเบตเปเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบต, เบเบฑเปเบเบเบทเปเบชเบฐเบเบดเบ เบเปเปเบชเปเบฒเบ, เปเบฅเบฐเบชเปเบฒเบ
เบชเบฐเบเบฒเบเบเบต.c เปเบซเบผเปเบเปเบเบฅเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฝเบงเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบดเบก 'cons hello' เปเบเบทเปเบญเบชเปเบฒเบ
เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ:
% cons เบชเบฐเบเบฒเบเบเบต
cc -c hello.c -o hello.o
cc -o เบชเบฐเบเบฒเบเบเบต hello.o
เบเบฒเบเบเปเปเบชเปเบฒเบ เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก
A เบเบงเบฒเบกเบเปเบฒเบเบเบญเบ cons เปเบกเปเบเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบ a เบเบฒเบเบเปเปเบชเปเบฒเบ เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก. เบเบฒเบเบเปเปเบชเปเบฒเบ
เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเปเบเบฑเบ เบเบธเบโเบเบฐโเบชเบปเบ เบกเบตเบฅเบฑเบเบชเบฐเบเบฐเปเบเบฑเบเบเบธเบเบเบญเบเบเบนเปเบเบต/เบกเบนเบเบเปเบฒ เปเบฅเบฐเบเบธเบเบเบญเบ เบงเบดเบเบตเบเบฒเบ.
เปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฐเบเบญเบ Cons เบงเบดเบเบตเบเบฒเบเบชเปเบฒเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ, เบเปเบฒเบเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบงเบดเบเบตเบเบฒเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเปเบเบเบเปเบฒเบ an
เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก. เบเบดเบเบฒเบฅเบฐเบเบฒเบเบปเบงเบขเปเบฒเบเบเปเปเปเบเบเบตเป:
$env = เบเปเปเปเบชเบเปเปเป(
CC => 'gcc',
LIBS => 'libworld.a'
);
เปเบเบเบเบฒเบ $env 'hello', 'hello.c';
เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เปเบเบเบเบตเปเบเบฐเปเบเปเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเบเบญเบเบเบปเปเบ, เบเบทเบเบฑเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบกเบต
overridden เบเปเบฒเบเบญเบ 'CC' เปเบเบทเปเบญเปเบซเป GNU C Compiler เบเบฝเบเปเบเบปเปเบฒเบเบทเบเปเบเปเปเบเบ. เบเบฑเบเบเบฑเปเบเปเบเป
เบชเบฐโเบเบฑเบโเบเบตเปโเบเบญเบโ เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ! เบเปเบญเบโเบเบฒเบโเบซเปเบญเบโเบชเบฐโเบซเบกเบธเบโ, libworld.a, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฅเบฐเบเบธเบงเปเบฒเปเบเป
เปเบเบเบเบฒเบเบเบตเปเปเบเบทเปเบญเบกเปเบเบเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเบเบงเบเบเบฐเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบฑเปเบ. เบเปเบฒเบซเปเบชเบฐเบซเบกเบธเบ
เบกเบตเบขเบนเปเปเบฅเปเบง, เบเบตเปเบฅเบฐเบเบต, เปเบเปเบเปเบฒเบเปเปเปเบกเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบฐเบเปเบญเบเบเบฐเบเบญเบเบเปเบฒเบเบฐเปเบซเบผเบเบเบตเป:
เบซเปเบชเบฐเปเบธเบ $env 'libworld', 'world.c';
เบเบฝเบงเบเบตเปเบเปเบฒเบเปเบฒเบเบเบดเบก 'cons hello', เบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบฐเบเบทเบเบชเปเบฒเบเบเบทเปเบเบเปเบญเบเบเบตเปเปเบเบเบเบฒเบเบเบฐเบเบทเบเปเบเบทเปเบญเบกเบเปเป, เปเบฅเบฐ,
เปเบเปเบเบญเบ, 'gcc' เบเบฐเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบฅเบงเบเบฅเบงเบกเบเบฑเบเบชเบญเบเปเบกเบเบนเบ:
% cons เบชเบฐเบเบฒเบเบเบต
gcc -c hello.c -o hello.o
gcc -c world.c -o world.o
ar r libworld.a world.o
ar: เบเบฒเบเบชเปเบฒเบ libworld.a
ranlib libworld.a
gcc -o เบชเบฐเบเบฒเบเบเบต hello.o libworld.a
เบญเบฑเบเบเบฐเปเบเบกเบฑเบ เปเบฅเบฐ เบชเบปเบกเบเบนเบ เบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช เบเบฒเบเบงเบดเปเบเบฒเบฐ
เบเปเบงเบ Cons, เบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบฐเบเบทเบเบเบฑเบเบเบฒเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ. เบชเบทเบเบเปเปเบเบปเบงเบขเปเบฒเบเบเบตเปเบเปเบฒเบเบกเบฒ, เบซเบกเบฒเบเปเบซเบ
เบงเปเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบธเบเปเบเปเปเบ world.c, world.o เบเบทเบเบฅเบงเบเบฅเบงเบกเบเบทเบ, libworld.a recreated, เปเบฅเบฐ เบชเบฐเบเบฒเบเบเบต
เปเบเบทเปเบญเบกเบเปเปเบเบทเบเปเปเป:
% vi world.c
[เปเบเปเปเบ]
% cons เบชเบฐเบเบฒเบเบเบต
gcc -c world.c -o world.o
ar r libworld.a world.o
ar: เบเบฒเบเบชเปเบฒเบ libworld.a
ranlib libworld.a
gcc -o เบชเบฐเบเบฒเบเบเบต hello.o libworld.a
เบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบเปเบญเบเบเปเบฒเบเบเปเบฒเบเบเบฒเบ: Cons ``เบฎเบนเปยด world.o เบเบทเปเบเบเบฑเบ world.c, เปเบเบฒเบฐเบงเปเบฒ
เบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเปเบกเปเบเบเบฑเปเบเบเบถเปเบเบขเปเบฒเบเบเบฐเปเบเปเบเปเบเบเบงเบดเบเบตเบเบฒเบ 'เบซเปเบญเบเบชเบฐเปเบธเบ'. เบกเบฑเบเบเบฑเบเบฎเบนเปเบงเปเบฒ libworld.a
เบเบทเปเบเบเบฑเบ world.o เปเบฅเบฐโเบเบฑเปเบ เบชเบฐเบเบฒเบเบเบต เบเบทเปเบเบเบฑเบ libworld.a, เบเบฑเบเบซเบกเบปเบเบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบ.
เปเบเบเบฑเบเบเบธเบเบฑเบเบกเบฑเบ turns เปเบซเปเปเบซเบฑเบเบงเปเบฒ เบชเบฐเบเบฒเบเบเบต.c เบเบฑเบเบเบฐเบเบญเบเบกเบตเปเบเบฅเปเบเปเบฒเบเบดเบเบฒเบกเบเบญเบเบเบฒเบเปเบเปเบเบญเบ, world.h:
% emacs world.h
[เปเบเปเปเบ]
% cons เบชเบฐเบเบฒเบเบเบต
gcc -c hello.c -o hello.o
gcc -o เบชเบฐเบเบฒเบเบเบต hello.o libworld.a
Cons เบฎเบนเปเปเบเปเปเบเบงเปเบ เบชเบฐเบเบฒเบเบเบต.c เบเบฐเบเบญเบเบกเบต world.h, เปเบฅเบฐโเบเบฑเปเบ เบชเบฐเบเบฒเบเบเบต เบชเบฐเบเบฑเปเบเบเปเบญเบเปเบเบฑเบ
เบฅเบงเบเบฅเบงเบกเบเบทเบเปเบซเบกเป? เบชเปเบฒเบฅเบฑเบเปเบเบเบฑเบเบเบธเบเบฑเบ, เบกเบฑเบเบเบฝเบเบเปเบเบตเปเบเบฐเปเบงเบปเปเบฒเบงเปเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบเบดเบเบฒเบฅเบฐเบเบฒเบเปเปเบงเปเบฒเบเบฐเปเบเบฑเบเบซเบผเบทเบเปเป เบชเบฐเบเบฒเบเบเบต เปเบกเปเบโเบเบถเปเบ-
เบกเบฒเบฎเบญเบเบเบฐเบเบธ, Cons เบฎเบฝเบเบฎเปเบญเบเปเบเบทเปเบญเบเบชเบฐเปเบเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบญเบเบกเบฑเบ, เบชเบฐเบเบฒเบเบเบต.c. scanner เบเบตเป enumerates เปเบเป
เปเบเบฅเปเบฅเบงเบกเปเบเบ เบชเบฐเบเบฒเบเบเบต.c เปเบเบทเปเบญเบกเบฒเปเบเบดเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเปเบเบตเปเบกเปเบเบตเบก, เบเบญเบเปเบซเบเบทเบญเบเบฒเบเบเบฑเปเบ
เปเบฎเบฑเบเบขเปเบฒเบเบเบฑเบเปเบเบเปเบเบ Cons script. เบเบฐเบเบงเบเบเบฒเบเบเบตเปเปเบกเปเบ recursive: เปเบเบฅเปเปเบเปเบฅเบงเบกเปเบเบ
เปเบเบฅเปเบฅเบงเบกเบเบฐเบเบทเบเบชเบฐเปเบเบเปเบเบฑเปเบเบเบฑเบ.
เบญเบฑเบเบเบตเปเบเปเปเปเบเบเบเป? เบเปเบฒเบเบญเบเปเบกเปเบ - เบกเบฑเบเบเบถเปเบเบเบฑเบ. เบเปเบฒเปเบเบปเปเบฒเบชเปเบฒเบเบฅเบฐเบเบปเบเปเบซเบเปเปเบเบฑเบกเบฎเบนเบเปเบเบ
เปเบงเบฅเบฒเบชเบฐเปเบเบเปเบกเปเบเบเปเปเบชเปเบฒเบเบฑเบ. เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเปเบฒเบโเปเบฎเบฑเบโเบเบฒเบโเบเบทเปเบโเบเบนโเบเบญเบโเบฅเบฐโเบเบปเบโเบเบฐโเบซเบเบฒเบโเปเบซเบเปโ, เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบ Cons เบเบฐโ
เปเบเป เปเบง เบฅเบฒ เปเบเบฑเบ เบเปเบฒ เบเบงเบ เปเบเบดเบ เบเบตเป เปเบซเบกเบฒเบฐ เบชเบปเบก เบเบญเบ เบเบฒเบ เบเบดเบ เบเปเบฝเบง เบเบฑเบ เบกเบฑเบ เบเปเบญเบ เบเบตเป เบกเบฑเบ เบเบฐ เบเบฑเบ เบชเบดเบ เปเบ เบงเปเบฒ เบเปเป เบกเบต เบซเบเบฑเบ เบเบฐ เปเบเบฑเบ
เปเบฎเบฑเบเปเบฅเปเบง (เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบงเบฅเบฒเบซเบผเบฒเบเบเปเบงเบฒเปเบฎเบฑเบเปเบซเป!). เบเปเบฒเบงเบเบตเปเบกเปเบเบงเปเบฒ Cons เปเบฎเบฑเบเปเบซเปเบกเบฑเบ
เบเปเบฒเบเบซเบผเบฒเบเบเบตเปเบเบฐเบชเบฐเบซเบผเบฒเบเบเปเบญเบเบชเปเบฒเบเบเบญเบเบเปเบฒเบ, เปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเบงเบฝเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเบเปเบญเบเบเบดเปเบ.
เบญเบฑเบเบเบฐเปเบเบกเบฑเบ เบเบปเปเบงเปเบฅเบ เบเบฒเบเบเปเปเบชเปเบฒเบ เบฅเปเบฒเบเบฑเบ
เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ Cons เปเบฎเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบขเปเบฒเบเปเบเบฑเบกเบเบตเปเปเบฅเบฐเบเบทเบเบเปเบญเบ, เปเบฅเบฐเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเบเบปเปเบงเปเบฅเบ, เบชเปเบฒเบฅเบฑเบ
เบเบฒเบเบเปเปเบชเปเบฒเบเบเบฑเบเบซเบกเบปเบ, Cons เปเบกเปเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเปเบกเบนเบเบเบตเปเปเบเบทเปเบญเบเบงเบเบเบธเบกเบขเปเบฒเบเปเบเบฑเบกเบเบตเปเบเบญเบ เบฅเปเบฒเบเบฑเบ
เบเบญเบโเบเบฒเบโเบเปเปโเบชเปเบฒเบ. เบเบฒเบเบเบฑเบเบฅเปเบฒเบเบฑเบเบเบตเปเปเบกเปเบเปเบซเบฑเบเปเบเปเบเบฑเบเปเบเบเปเบเบเบปเบงเบขเปเบฒเบเบเปเบฒเบเปเบเบดเบ, เปเบฅเบฐเบเบฝเบเปเบเบปเปเบฒเบเบฑเบเบชเบดเปเบเบเบตเป
เบเปเบฒเบเบเบฐเบเบฒเบเบซเบงเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเปเบซเป, เปเบเบทเปเบญเบเบเบฒเบเบเบธเบเปเบเบฑเบกเบเบญเบเบเบฒเบเบเบถเปเบเบเบฑเบ. เบกเบต Cons, เบเบตเปเบเบฐเบซเบเบฒเบ
เปเบฅเบฑเบเบเปเบญเบเปเบเบดเบเบเบฒเบเบชเปเบฒเบเบซเบผเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเปเบซเบเปเบเบงเปเบฒ. เบเบฑเปเบเบเบฑเปเบ, เบเบฑเบเบซเบกเบปเบเบเบญเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบเบตเปเบเปเบฝเบงเบเปเบญเบ
เปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเปเบเบทเบเบเบฑเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ - เบฅเบงเบกเบเบฑเบเบเบฒเบเบเบฑเบเบฅเปเบฒเบเบฑเบ multi-pass hierarchical
เบเบฒเบเบเปเปเบชเปเบฒเบ - เบเบทเบเบฅเบปเบเบฅเปเบฒเบ. เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบถเบเบชเบฒเบซเบฒเบฅเบทเปเบฅเบทเปเบญเบเบเบตเปเบเบทเปเบกเบญเบตเบเปเบเบเบฒเบเบเปเปเปเบ.
เบเบฒเบเบเปเปเบชเปเบฒเบ เบเบฐเบซเบเบฒเบเปเบซเบเป เบเบปเปเบเปเบกเป - เบเบฑเบ เบเบฝเบเปเบเป as เบเปเบฒเบเบเบฒเบ
A เบฅเบณ เบเบฑเบเบเบฑเปเบ of เบเบฒเบเบเปเปเบชเปเบฒเบ scripts
เบเบฒเบเบเปเปเบชเปเบฒเบเบเบฐเบซเบเบฒเบเปเบซเบเป, เปเบ Cons, เบเบทเบเบเบฑเบเปเบเบเบเบฒเบเบชเปเบฒเบเบฅเปเบฒเบเบฑเบเบเบฑเปเบเบเบญเบ เบเบฒเบเบเปเปเบชเปเบฒเบ scripts. เบขเบนเปเปเบเบดเบเบชเบธเบ
เบเบญเบเบเบปเปเบเปเบกเปเปเบกเปเบ script เปเบญเบตเปเบเบงเปเบฒ เบเปเปเบชเปเบฒเบ. เบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเบเบญเบเบชเบฐเบเบดเบ, เปเบเบเบชเบปเบเบเบดเบชเบฑเบเบเบฒ, เปเบกเปเบเปเบเปเบฅเบฐเบเบปเบ
เปเบญเบตเปเบเบงเปเบฒ เบเบฐเบเบฝเบ. เบชเบฐเบเบฃเบดเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบทเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ, เบเปเบฒเบเบเบฒเบเบซเบผเบฒเบ, เปเบเบ 'เบชเปเบฒเบ',
เบเปเบฒเบชเบฑเปเบ 'เบชเบปเปเบเบญเบญเบ' เปเบฅเบฐ 'เบเปเบฒเปเบเบปเปเบฒ'.
เปเบเป เบชเปเบฒเบ เบเปเบฒเบชเบฑเปเบ
เบเปเบฒเบชเบฑเปเบ 'เบชเปเบฒเบ' เปเบญเบปเบฒเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบ เบเบฐเบเบฝเบ เบเบทเปเปเบเบฅเป, เปเบฅเบฐเบเบฑเบเปเบซเปเบเบงเบเปเบเบปเบฒเปเบเบฑเบ
เบฅเบงเบกเบขเบนเปเปเบเบเบฒเบเบเปเปเบชเปเบฒเบ. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ:
เบชเปเบฒเบ qw(
เปเบเปเบงเบต / เบเปเบชเบฐเปเบเบเบเบปเบ / Conscript
เบเบปเบเบเบฑเบ/เปเบกเบปเบฒเบชเป/Conscript
parser/Conscript
utilities/Conscript
);
เบเบตเปเปเบกเปเบเบฅเปเบฒเบเบฑเบเบเบฑเปเบเบชเบญเบเบเบฑเปเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเบญเบเบชเบฐเบเบดเบเบเปเปเบชเปเบฒเบ: เบเปเบฅเบดเบชเบฑเบเบเปเบญเบเบเบฑเบเบซเบกเบปเบ เบเบฐเบเบฝเบ เปเบ
เปเบเปเบเบทเบเบเปเบฒเบงเปเบเบดเบเปเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ เบเปเปเบชเปเบฒเบ เปเบเบฅเป. เบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเบเปเปเปเบกเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฑเบเบซเบกเบปเบเปเบเบเบปเปเบเปเบกเป
เบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเบต build script เบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบงเบเบกเบฑเบ.
เบเบตเปเบเบฑเบเบชเบฒเบกเบฒเบเบเบฝเบเปเบเบฑเบ script เบซเบผเบฒเบเบฅเบฐเบเบฑเบ. เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เปเบเป เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบญเบฒเบเบเบฐ
เบกเบตเบเปเบฒเบชเบฑเปเบเบเบตเป:
เบชเปเบฒเบ qw(
parser/Conscript
เบเบปเบเบเบฑเบ/Conscript
utilities/Conscript
);
เปเบฅเบฐ เบเบฐเบเบฝเบ เปเบเบฅเปเปเบ เบเบปเบเบเบฑเบเบฅเบปเบ เปเบเปเบฅเบเบฐเบเปเบฅเบตเบญเบฒเบเบกเบตเบญเบฑเบเบเบตเป:
เบชเปเบฒเบ qw(
เบชเบฐเปเบเบ/Conscript
เบซเบเบน / Conscript
);
เบเบฐเบชเบปเบเบเบฒเบเปเบเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบงเปเบฒเบเบปเบงเปเบเบเปเบเบญเบฐเบเบตเบเปเบกเปเบเปเบฅเบฑเบเบเปเบญเบเบเปเบฒเบเบเบตเปเบเบฐเปเบเบปเปเบฒเปเบ, เบเบฑเบเบเบฑเปเบเปเบเป
เบเบปเปเบเปเบกเปเบเปเปเบชเปเบฒเบเบเบฑเบเปเบปเบเบเบทเบเบงเบฒเบเปเบงเปเบขเบนเปเบเปเปเปเปเบฒเปเบเบปเปเบฒ, เปเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ. เปเบเบโเบเบฒเบโเบเบฐโเบชเบปเบกโเปเบกเปเบโ
เบเบฑเบเปเบเบฑเบเปเบเปเบเป. เบญเบปเบเบเบฐเบเบญเบเบเบตเปเบฎเบฑเบเบชเบฒเปเบงเปเปเบเบเบเปเบฒเบเบซเบฒเบเบเบตเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเปเบ a
เบเบฒเบเบเปเปเบชเปเบฒเบเบเบปเปเบเปเบกเป, เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เบญเบฒเบเบเบฐเบเบดเบเบเบฑเบเบเบปเปเบเปเบกเปเบเปเปเบชเปเบฒเบเบขเบนเปเปเบเบชเบฐเบเบฒเบเบเบตเปเบซเบเบถเปเบ, เปเบเปเบเปเบฒเบเบปเบเบเบญเบเบกเบฑเบเปเบญเบ
เบฅเบณเบเบฑเบเบเบฑเปเบเบเปเปเบชเปเบฒเบ.
เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, Cons เบเปเปเบเปเบฝเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบกเบฑเบเปเบเบซเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบกเบต a
เบเปเบฅเบดเบชเบฑเบเบเปเบญเบ เบเบฐเบเบฝเบ เปเบเบฅเปเบกเบฑเบเปเบกเปเบเบฅเบงเบกเบเบฑเบ. เบเบถเบเบเบดเบเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเปเบเบตเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเบ
เบเบฒเบเบฅเบฐเบเบธ, เปเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ เบเปเปเบชเปเบฒเบ file:
Conscript_chdir 1;
เปเบกเบทเปเบญเปเบเบตเบเปเบเป, Cons เบเบฐเบเปเบฝเบเปเบเบฑเบเบเปเบฅเบดเบชเบฑเบเบเปเบญเบ เบเบฐเบเบฝเบ เปเบเบฅเปเบเบตเปเบเบฐเบเบญเบเบเปเบงเบเปเบเปเบฅเบเบฐเบเปเบฅเบต
เปเบโเบเบฐโเบเบฐโเบเบตเปโเบเบฒเบโเบญเปเบฒเบโเปเบโเปเบเบฅโเปโเบเบฑเปเบโ, เปเบฅเบฐโเบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฝเบโเบเบฑเบโเบเบทเบโเปเบโเบเปเบญเบโเบฅเบฐโเบเบฑเบโเบชเบนเบโเบชเบธเบโเบเบฑเปเบโเปเบเบฅโเปโ
เปเบเปเบฎเบฑเบเบเบฒเบเบเบธเบเปเบเปเบ.
เบเบฒเบเบงเปเบฒเบเบถเบเบเบดเบเปเบฒเบเบตเปเบเบฐเบเบฒเบเปเบเบฑเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบเบเบฒเบเบฅเบธเปเบ Cons เปเบเบญเบฐเบเบฒเบเบปเบ.
เปเบเบทเปเบญเบเบฐเบเบฝเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบซเบฑเบเบเปเบฝเบเบเบตเป, เบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบเบฒเบเบซเบงเบฑเบเบงเปเบฒ Cons เบเบฐเบเบฑเบเบเบปเบเบขเบนเปเปเบเบดเบเบชเบธเบเบเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบ
เปเบเบเบฐเบเบฐเบเบตเปเบกเบฑเบเบญเปเบฒเบเบขเบนเปเปเบเบเปเบฅเบดเบชเบฑเบเบเปเบญเบ เบเบฐเบเบฝเบ เปเบเบฅเปเบเบงเบเบเบดเบเบเบฒเบเปเบเปเบเบฒเบเบเบธเบเบชเบปเบกเบเบฑเบเบเบตเปเปเบเบฑเบเบขเปเบฒเบเบเบฐเปเบเปเบ
เบเปเปเปเบเบเบตเป:
Conscript_chdir 0;
เบเบตเปเบเปเบญเบ, เบเบฒเบเบเบดเบเบตเปเบเปเบญเบเบชเบนเบเบชเบธเบ, เปเบฅเบฐ เบขเปเบฒเบเปเบเปเบเบดเบ เปเบญเบเบฐเบชเบฒเบ เบเบทเป
เบเปเบฒเบเบญเบฒเบเบเบฐเบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเบเบทเปเปเบเบฅเปเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบเปเบฒเบชเบฑเปเบ Build เปเบกเปเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบ
เบชเบฐโเบเบฒเบโเบเบตเปโเบเบญเบ script เบเบตเปโเบกเบฑเบโเปเบเปโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฒเบโ. เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบเบตเปเปเบกเปเบเบเบงเบฒเบกเบเบดเบเบชเปเบฒเบฅเบฑเบเบเบทเปเปเบเบฅเปเบญเบทเปเบ
เบเบฒเบเปเบเปเบเบฝเบเบเบฑเบเบเปเบฒเบชเบฑเปเบเบญเบทเปเบเป, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบญเบฒเบเบเบฐเบเปเบฒเบงเปเบเบดเบเปเบเบเบตเปเบเบตเปเบงเปเบฒเบเปเบฒเบเปเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ
เบเบทเปโเปเบเบฅโเปโเบเบตเปโเบกเบตโเปเบเบทเปเบญเบโเบซเบกเบฒเบ hashโ, `` # ''โ, เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเปเบเบฅโเปโเบเบตเปโเบเบทเบโเบเบตโเบฅเบฒโเบเบฒโเบชเบปเบกโเบเบฝเบโเบเบฑเบโเบเบฒเบโเปเบเบดเบโ.
เบฅเบฐโเบเบฑเบโเบเบฒเบโเบฅเบฐโเบเบฑเบ (เบเปเบญเบโเบเบตเป เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบขเบนเป). เปเบฅเบฐ, เบเปเปเปเบเบเปเบ, เบเปเบฒเบเปเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบกเบฑเบ
เบเปเบงเบ ``/'', เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบกเบฑเบเบเบทเบเบเบดเบเบฒเบฅเบฐเบเบฒเบงเปเบฒเปเบเบฑเบเบเบทเปเปเบชเบฑเปเบเบเบฒเบเบขเปเบฒเบเปเบเปเบเบดเบ. เบเบตเปเปเบกเปเบเบเบงเบฒเบกเบเบดเบเปเบเบดเบเปเบกเปเบเบงเปเบฒเบขเบนเปเปเบเบฅเบฐเบเบปเบ
เปเบเบดเปเบเปเบเปเบชเบฐเปเบฅเปเบเปเบฒเบเบซเบผเบฑเบเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเปเบเบทเปเบญเบเปเบฒเบเปเปเบฒเปเบเบทเปเบญเบเบฑเปเบเบเบทเปเปเบชเบฑเปเบเบเบฒเบเบขเปเบฒเบเปเบเปเบเบดเบ.
เบเบฒเบเบเปเบฒเปเบเป เปเบกเบเบนเบ in เบเบฒเบเบเปเปเบชเปเบฒเบ scripts
เบเปเบฒเบเบญเบฒเบเบเบฐเบเบถเบเปเบกเบเบนเบเปเบเบปเปเบฒเปเบเปเบเปเบเปเบฅเบฐ เบเบฐเบเบฝเบ เปเบเบฅเปเปเบเบเปเบเป Perl เบเบปเบเบเบฐเบเบด 'เปเบเป' เบซเบผเบท 'เบเปเบญเบเบเบฒเบ'
เบเบฐเปเบซเบผเบเบเบฒเบ:
เปเบเปเบเบฒเบชเบฒเบญเบฑเบเบเบดเบ;
เบเปเบญเบเบเบฒเบเบเบญเบเบเปเบญเบ::เปเบกเบเบนเบ;
เปเบเปเบฅเบฐ 'เปเบเป' เบซเบผเบท 'เบเปเบญเบเบเบฒเบ' เบกเบตเบเบปเบเบเบฐเบเบปเบเบเบฝเบเปเบเปเบซเบเบถเปเบ เบเบฐเบเบฝเบ เปเบเบฅเปเบเบตเปเบกเบฑเบเบเบฒเบเบปเบ. เบเบฒเบโเบเปเบฒโเปเบเป a
เปเบกเบเบนเบเปเบเบซเบผเบฒเบ เบเบฐเบเบฝเบ เปเบเบฅเป, เบเปเบฒเบเบเปเบญเบเปเบชเปเบเปเบฒเบเบฐเปเบซเบผเบเบเบตเป 'เปเบเป' เบซเบผเบท 'เบเปเบญเบเบเบฒเบ' เปเบเปเบเปเบฅเบฐ
เบซเบเบถเปเบเบเบตเปเบเปเบญเบเบเบฒเบเปเบกเบเบนเบ.
เบเบญเบเปเบเบ of เบเบปเบงเปเบ
เบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ เบเปเปเบชเปเบฒเบ เปเบเบฅเป เปเบฅเบฐเบเบฑเบเปเบปเบ เบเบฐเบเบฝเบ เปเบเบฅเปเปเบฅเบตเปเบกเบเบปเปเบเบเบตเบงเบดเบเปเบ Perl เบเบปเปเบงเปเบ, เปเบเบเบเปเบฒเบเบซเบฒเบ
package cons เบเบงเบเบเบธเบกเบเบฒเบเบฐเบฅเบฒเบเบชเบฑเบเบเบฒเบฅเบฑเบเบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฑเปเบเบเบฑเปเบ, เบเบฒเบเบฐเบฅเบฒเบเบชเบฑเบเบเบฒเบฅเบฑเบเบชเปเบฒเบฅเบฑเบ
เปเบเปเบฅเบฐเบชเบฐเบเบฃเบดเบเปเบกเปเบเบซเบงเปเบฒเบเปเบเบปเปเบฒ, เบเบปเบเปเบงเบฑเปเบ เบเปเปเบชเปเบฒเบ เปเบเบฅเป, เปเบเบดเปเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ
เบเบฒเบเปเบเปเบเบฝเบ. เบเบธเบเปเบเบปเบงเปเบเบเบตเปเบเบทเบเบเปเบฒเบเบปเบเบซเบผเบทเปเบเป, เบเบฑเปเบเบเบฑเปเบ, เบเบทเบเบเปเบฒเบเบปเบเปเบเบ script
เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ - เบเปเปเปเบกเปเบเปเบเบเบชเบฐเบเบดเบเบเบฒเบเบเบญเบเบเบฒเบเบญเบฑเบ.
เบเบปเบงเปเบเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเปเบเบฑเบเปเบเบ เบเบณ เปเบเบปเปเบฒ เปเบเบเบชเบฐเบเบฃเบดเบเบเบฒเบเบชเบฐเบเบฃเบดเบเบซเบผเบฑเบเบเบญเบเบกเบฑเบ. เบเบฒเบโเบเปเบฒโเปเบเบปเปเบฒ a
เบเบปเบงเปเบ, เบกเบฑเบเบเปเบญเบเปเบเบฑเบ เบชเบปเปเบเบญเบญเบ เปเบเบเบเปเปเปเบกเปเปเบฅเบฐเปเบฅเบตเปเบกเบเบปเปเบ (เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ
เบเบฐโเปเบเบตเบโเบเบถเปเบ).
เปเบเป เบเบฒเบเบชเบปเปเบเบญเบญเบ เบเปเบฒเบชเบฑเปเบ
เบเปเบฒเบชเบฑเปเบ 'เบชเบปเปเบเบญเบญเบ' เบเบทเบเบเปเบฒเปเบเปเปเบเบเบปเบงเบขเปเบฒเบเบเปเปเปเบเบเบตเป:
$env = new cons();
$INCLUDE = "#export/include";
$LIB = "#export/lib";
เบชเบปเปเบเบญเบญเบ q( env เบฅเบงเบก LIB );
เบชเปเบฒเบ qw(util/Conscript );
เบเปเบฒเบเบญเบเบเบปเบงเปเบเบเปเบฒเบเปเบเบตเปเปเบเปเบเปเบฒเบงเปเบงเปเปเบเบฅเบฒเบเบเบฒเบ 'เบชเบปเปเบเบญเบญเบ' เบเบฐเบเบทเบเบเบฐเบฎเบญเบเบญเบญเบเปเบ
เปเบเบเบเปเบฒเบชเบฑเปเบ 'เบชเปเบฒเบ' เบเปเปเบกเบฒ. เบเปเบฒเบชเบฑเปเบ 'เบชเบปเปเบเบญเบญเบ' เบเบฐเบชเบปเปเบเบญเบญเบเบเบฝเบเปเบเป Perl เบเบดเบง เปเบฑเบ
เบเบปเบงเปเบ, เบเบฑเปเบเปเบกเปเบ, เบเบปเบงเปเบเบเบตเปเบเบทเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบ `$'. เบเบปเบงเปเบเบญเบทเปเบเป, เบงเบฑเบเบเบธ, เปเบฅเบฐเบญเบทเปเบเป.
เบชเบฒเบกเบฒเบเบเบทเบเบชเบปเปเบเบญเบญเบเปเบเบเบเบฒเบเบญเปเบฒเบเบญเบตเบ - เปเบเปเบชเบฐเบเบดเบเบเบฑเบเบซเบกเบปเบเบเบฐเบญเปเบฒเบเบญเบตเบเปเบเบดเบเบงเบฑเบเบเบธเบเบฝเบงเบเบฑเบ, เปเบฅเบฐเบเบตเป
เบงเบฑเบเบเบธเบเบงเบเบเบทเบเบเบดเบเบฒเบฅเบฐเบเบฒเปเบซเปเบญเปเบฒเบเบขเปเบฒเบเบเบฝเบงเปเบเบเบชเบฐเบเบฃเบดเบเบเปเบญเบ เปเบฅเบฐเปเบเบเบเบปเปเบเบชเบฐเบเบฑเบ
script เบเบฒเบโเบชเบปเปเบโเบญเบญเบโ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบกเบฑเบเปเบเบฑเบเบเบฒเบเบเบญเบกเบฎเบฑเบเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบกเบนเบเบเปเบฒเปเบซเบกเปเปเบซเปเบเบฑเบ scalar เบเบตเปเบชเบปเปเบเบญเบญเบ
เบเบปเบงเปเบ--เบเบตเปเบเบฐเบเปเปเบเปเบฝเบเปเบเบเบเบปเบงเปเบเบเบตเปเบญเปเบฒเบเบญเบตเบ. เบฅเปเบฒเบเบฑเบเบเบตเป, เบชเปเบฒเบฅเบฑเบ
เบเบปเบงเบขเปเบฒเบ, เปเบกเปเบ OK:
$env = new cons();
เบชเบปเปเบเบญเบญเบ q( env เบฅเบงเบก LIB );
เบชเปเบฒเบ qw(util/Conscript );
$env = new cons(CFLAGS => '-O');
เบชเปเบฒเบ qw(เบญเบทเปเบเป/Conscript );
เบกเบฑเบเบเปเปเบชเปเบฒเบเบฑเบเบงเปเบฒเบเบปเบงเปเบเบเบฐเบเบทเบเบเปเบฒเบเบปเบเบเปเบญเบเบซเบผเบทเบซเบผเบฑเบเบเบฒเบเบเปเบฒเบชเบฑเปเบ 'เบชเบปเปเบเบญเบญเบ'. เปเบเป
เบชเบดเปเบเบเบตเปเบชเปเบฒเบเบฑเบเปเบกเปเบเบกเบนเบเบเปเบฒเบเบญเบเบเบปเบงเปเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบชเบฑเปเบ 'Build' เบเบทเบเบเบฐเบเบดเบเบฑเบ.
เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเบฐเบฎเบญเบเบญเบญเบเปเบ. เบเบธเบเปเบเปเบฒเบชเบฑเปเบ 'เบชเบปเปเบเบญเบญเบ' เบเปเปเบกเบฒ, เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ,
invalidate เบเปเบฒเบญเบดเบ: เบเปเบฒเบเบเปเบญเบเบเปเบฒเบงเปเบเบดเบเบเบปเบงเปเบเบเบฑเบเบซเบกเบปเบเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเบชเบปเปเบเบญเบญเบเปเบเปเบเปเบฅเบฐ
เบเปเบฒเบชเบฑเปเบ 'เบชเบปเปเบเบญเบญเบ'.
เปเบเป เบเบฒเบเบเปเบฒเปเบเบปเปเบฒ เบเปเบฒเบชเบฑเปเบ
เบเบปเบงเปเบเบเบตเปเบชเบปเปเบเบญเบญเบเปเบเบเบเปเบฒเบชเบฑเปเบ 'เบชเบปเปเบเบญเบญเบ' เบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเบปเปเบฒเปเบเบปเปเบฒเปเบเปเบเบชเบฐเบเบดเบเบเปเบญเบเปเบเบ
เบเปเบฒเบชเบฑเปเบ 'เบเปเบฒเปเบเบปเปเบฒ'. script เบเปเบญเบเบชเบฐเปเบซเบกเบตเบเปเบฒเปเบเบปเปเบฒเบเบปเบงเปเบเปเบเบเบเบปเบเบเบฒเบ
script เบเบตเบเบงเปเบฒ. เบเบดเบเบฒเบฅเบฐเบเบฒเบเบปเบงเบขเปเบฒเบเบเบตเป:
เบเบณเปเบเบปเปเบฒ q(env INCLUDE );
เบญเบฑเบเบเบตเปเปเบกเปเบเบเบทเบเบเปเบญเบเบเบฒเบกเบเบปเบเปเบฒเบเปเบเบปเปเบฒเบเบฑเปเบเบซเบฒเบเบชเบฐเบเบฃเบดเบเบซเบผเบฑเบเบชเบปเปเบเบญเบญเบเบเบฑเบ `$env' เปเบฅเบฐ `$INCLUDE'. เบกเบฑเบเบเบฑเบเบเปเบญเบ
เปเบเปเปเบซเปเปเบเปเบฅเบฐเบเปเบฒเบเบญเบเบเบปเบงเปเบเปเบซเบผเบปเปเบฒเบเบตเป. เบกเบฑเบเปเปเบฒเบฐเบชเบปเบกเบชเบณเบฅเบฑเบเบชเบฐเบเบฃเบดเบเบเปเบญเบเปเบเบปเปเบฒเบเบฑเปเบ
เบเปเบฒเปเบเบปเปเบฒเบเบธเบเบเปเบญเบเบเบญเบเบเบปเบงเปเบเบเบตเปเบชเบปเปเบเบญเบญเบ (เปเบเบเบปเบงเบขเปเบฒเบเบเบตเป, `$LIB', เปเบเบดเปเบเบเบทเบเบชเบปเปเบเบญเบญเบเปเบเบ
เบเบปเบงเบขเปเบฒเบเบเบตเปเบเปเบฒเบเบกเบฒ, เบเปเปเปเบเปเบเปเบฒเปเบเบปเปเบฒ).
เบเบธเบเบเบปเบงเปเบเบเบตเปเบเปเบฒเปเบเบปเปเบฒเบเบฐเบเบทเบเบชเบปเปเบเบญเบญเบเบเบทเบเปเบซเบกเปเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบเบฑเปเบเบเบฑเปเบเบฅเปเบฒเบเบฑเบ:
เบเปเบฒเปเบเบปเปเบฒ qw ( env เบฅเบงเบก );
เบชเปเบฒเบ qw (เบขเบนเปเบฅเบธเปเบก-เบเปเบญเบ/Conscript);
เบเบฐเบชเบฐเปเบญเบเบเบฑเบ `$env' เปเบฅเบฐ `$INCLUDE' เปเบซเปเบเบฑเบเปเบเบฅเปเบเปเบญเบ. เบเปเบฒเบเบฝเบเปเบเป '$env' เบเบฐเปเบเบฑเบ
เบชเบปเปเบเบญเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเปเบเบเปเปเปเบเบเบตเปเบเบฐเบเบฝเบเบเป:
เบเปเบฒเปเบเบปเปเบฒ qw ( env เบฅเบงเบก );
เบชเบปเปเบเบญเบญเบ q ( env );
เบชเปเบฒเบ qw (เบขเบนเปเบฅเบธเปเบก-เบเปเบญเบ/Conscript);
เบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบงเบปเปเบฒ, เบเบปเบงเปเบเบญเบฒเบเบเบฐเบเบทเบเปเบเปเปเบเปเบเบเปเบญเบเบเบดเปเบเบเปเบญเบเบเบตเปเบเบฐเปเบญเบตเปเบ 'เบชเปเบฒเบ' เปเบ
script เบเปเบญเบ.
เบชเปเบฒเบ script เบเบฒเบเบเบฐเปเบกเบตเบเบเบปเบ เบเปเบฒเบชเบฑเปเบ
เบเปเปเบเปเบฒเบเบฑเบเบเบฝเบเปเบเปเปเบเบเปเบฒเบชเบฑเปเบเบเบญเบ build scripts เปเบกเปเบเบงเปเบฒ scripts เบเบตเบเบงเปเบฒ
เบเบฐเปเบกเบตเบเบเปเบญเบ script inferior เบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒ. เบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ เบเปเปเบชเปเบฒเบ เปเบเบฅเป, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เปเบกเปเบ
เบเบทเบเบเบฐเปเบกเบตเบเบเปเบญเบ, เบเบดเบเบเบฒเบกเบเปเบงเบเบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเบเปเปเบฒเบเบงเปเบฒเปเบเป. เบเบตเปเปเบกเปเบเบเบฑเบเบซเบกเบปเบเบเบตเปเปเบเบปเปเบฒเบเปเบญเบเบเบฒเบเบฎเบนเปเปเบเปเป
เบเปเบฝเบงเบเบฑเบเบเปเบฒเบชเบฑเปเบเบเบฒเบเบเบฐเปเบกเบตเบเบเบปเบ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเปเบฒเบชเบฑเปเบเปเบเบเบเบปเปเบงเปเบเปเบกเปเบเบเปเปเบเปเบฝเบงเบเปเบญเบ. เบเบดเบเบฒเบฅเบฐเบเบฒเบเปเปเปเบเบเบตเป
เบเปเบฒเบชเบฑเปเบ 'เบชเปเบฒเบ':
เบชเปเบฒเบ qw(
เปเบเปเบงเบต / เบเปเบชเบฐเปเบเบเบเบปเบ / Conscript
เบเบปเบเบเบฑเบ/เปเบกเบปเบฒเบชเป/Conscript
parser/Conscript
utilities/Conscript
);
เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบฅเบทเบญเบเปเบชเปเบเบทเปเบชเบฐเบเบฃเบดเบเบเบฒเบกเบฅเบณเบเบฑเบเบเบปเบงเบญเบฑเบเบชเบญเบ, เปเบเบฒเบฐเบงเปเบฒเบเบฑเปเบเปเบกเปเบเบซเบผเบฒเบเบเบตเปเบชเบธเบ
เบชเบฐเบเบงเบเบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบเปเบฒเบฅเบธเบเบฎเบฑเบเบชเบฒ. เบเบฒเบเบเปเบฝเบเปเบเบเบเปเบฒเบชเบฑเปเบเบเบฐเบเปเปเปเบเบเบเปเบฒเบเบเบฑเบ
เบเปเปเบชเปเบฒเบ.
A เบฎเบนเบเปเบเบ เบชเปเบฒเบฅเบฑเบเบเบฒเบ เบเบฒเบเปเบฅเบเบเปเบฝเบ เปเบ
เบเบฒเบ เบเปเบฒเบเบเบฒเบ เบญเบฐเบเบธเบชเบฑเบเบเบฒ
เปเบเบฅเบฐเบเบปเบเบเบญเบเปเบงเบเบตเปเบชเบฑเบเบชเบปเบเปเบเป, เบงเบดเบเบตเบเบฒเบเปเบเปเบเบเบฑเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเปเปเบชเปเบฒเบเบเปเบญเบเบกเบต
เบชเปเบฒเบเบเบฑเปเบเบเบถเปเบ. เบเบงเบโเปเบฎเบปเบฒโเบชเบฐโเปเบซเบเบตโเบเบฑเบโเบเบฒโเบชเบปเบโเบเบดโเบชเบฑเบโเบเบฒโเบเบตเปโเบเปเบฒเบโเบเบฒเบโเบเบตเปโเบเปเปโเบชเปเบฒโเบเบฑเบโเปเบเบทเปเบญโเบเบฐโเบเบดโเบเบฑเบโเบเบฑเบโ
Cons, เปเบเปเบเบฐเบชเบดเบเบเบดเบเบฒเบเบซเบผเบฒเบ.
เบเบปเบโเบฅเบฐโเบเบฝเบโเบเบทเปเบโเบเบฒเบโเปเบกเปเบโเบเปเบญเบโเบเบฒเบโเบเบฐโเบฅเบดเบโเบเบฐโเบเบฑเบโเบเบฒเบโเบเปเปโเบชเปเบฒเบโเบเบฑเบโเบซเบกเบปเบโเบเบตเปโเบเปเบฒโเปเบเบฑเบโเบเปเบญเบโเปเบเปโเบฎเบฑเบโเบเบฒเบโเปเบเปเบโเบเบฑเบโเบฅเบฐโเบซเบงเปเบฒเบโ
เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบทเบเปเบเปเบเบเบฑเบเบเปเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบฅเบฐเบเบฑเบเบเบฒเบ. เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบเบงเบเปเบฎเบปเบฒเปเบญเบตเปเบเบงเปเบฒเบญเบฑเบเบเบตเป
เบเบฒเบเบชเบปเปเบเบญเบญเบ, เปเบฅเบฐ, เปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก C, เบชเบฐเบซเบเบญเบเบเบฒเบเบเปเบญเบเปเบเบเบเปเบฒเบกเบฐเบเบฒเบเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเป,
เปเบเบฑเปเบโเบงเปเบฒ เบเบฐเบเบญเบเบเปเบงเบ, lib, เปเบเบปเปเบฒ, เปเบฅเบฐเบญเบทเปเบเป
เปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบซเบผเบปเปเบฒเบเบตเปเบเบทเบเบเปเบฒเบเบปเบเปเบเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ เบเปเปเบชเปเบฒเบ เปเบเบฅเป. เบเปเบฒเบเบเบฒเบ เบเปเปเบชเปเบฒเบ file for
a เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ! เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เบเบฑเบเบฅเบฐเบเบฝเบเปเบเบเปเบเปเบซเบผเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบต, เบญเบฒเบเบเบฐเปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเป:
# เบชเปเบฒเบเปเบเบฅเปเบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฒเบเบเบต, เปเบฅเบ!
# เบเปเบญเบเปเบเบงเบฒเบเบชเบดเบเบเปเบฒเบเบตเปเปเบเปเบเบเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบซเบกเบปเบ.
$EXPORT = '#เบชเบปเปเบเบญเบญเบ';
เบชเบปเปเบเบญเบญเบ q(CONS เบฅเบงเบกเบกเบต LIB BIN );
# เปเบเปเบฅเบเบฐเบเปเบฅเบตเบกเบฒเบเบเบฐเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเปเบเบเบฑเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบ.
$INCLUDE = "$EXPORT/เบฅเบงเบก";
$LIB = "$EXPORT/lib";
$BIN = "$EXPORT/bin";
# เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบกเบฒเบเบเบฐเบเบฒเบ.
$CONS = เบเปเปเปเบชเบเปเปเป (
CPPPATH => $INCLUDE, # เบฅเบงเบกเปเบชเบฑเปเบเบเบฒเบเบชเบณเบฅเบฑเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเปเปเบกเบนเบ C
LIBPATH => $LIB, # เปเบชเบฑเปเบเบเบฒเบเบซเปเบญเบเบชเบฐเปเบธเบเบชเบณเบฅเบฑเบเปเบเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป
LIBS => '-lworld', # เบฅเบฒเบเบเบทเปเบซเปเบญเบเบชเบฐเปเบธเบเบกเบฒเบเบเบฐเบเบฒเบ
);
เบชเปเบฒเบ qw(
เบชเบฐเบเบฒเบเบเบต/Conscript
เปเบฅเบ/Conscript
);
เปเบเป เปเบฅเบ เปเบเปเบฅเบเบฐเบเปเบฅเบต เบเบฐเบเบฝเบ เปเบเบฅเปเปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเป:
# เปเบเบฅเป Conscript เบชเปเบฒเบฅเบฑเบเปเบฅเบเปเบเปเบฅเบเบฐเบเปเบฅเบต
เบเบณเปเบเบปเปเบฒ q(CONS INCLUDE LIB );
# เบเบดเบเบเบฑเปเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเป
เบเบดเบเบเบฑเปเบ $CONS $LIB, 'libworld.a';
เบเบดเบเบเบฑเปเบ $CONS $INCLUDE, 'world.h';
#เบชเบดเบเบเปเบฒเบเบฒเบเปเบ
เบซเปเบชเบฐเปเบธเบ $CONS 'libworld.a', 'world.c';
เปเบฅเบฐ เบชเบฐเบเบฒเบเบเบต เปเบเปเบฅเบเบฐเบเปเบฅเบต เบเบฐเบเบฝเบ เปเบเบฅเปเปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเป:
# เปเบเบฅเป conscript เบชเปเบฒเบฅเบฑเบ directory เบชเบฐเบเบฒเบเบเบต
เบเปเบฒเปเบเบปเปเบฒ qw(CONS BIN );
#เบชเบดเบเบเปเบฒเบชเบปเปเบเบญเบญเบ
เบเบดเบเบเบฑเปเบ $CONS $BIN, 'เบชเบฐเบเบฒเบเบเบต';
#เบชเบดเบเบเปเบฒเบเบฒเบเปเบ
เปเบเบเบเบฒเบ $CONS 'เบชเบฐเบเบฒเบเบเบต', 'hello.c';
เบเบฒเบเบเปเปเบชเปเบฒเบเบ เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ! เปเบเบเบเบฒเบเบเบตเปเบกเบตเปเบเบเบชเปเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเป, เปเบเบซเบฒเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ
เปเบเปเบฅเบเบฐเบเปเบฅเบต, เปเบฅเบฐเปเบญเบตเปเบ 'cons' เบเปเบงเบเบเบฒเบเปเบเปเบเบฝเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก. เปเบเบเบปเบงเบขเปเบฒเบเบเปเปเปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒ
เบเบญเบ Cons เปเบเบทเปเบญเบชเปเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบต เบเบฒเบเบชเบปเปเบเบญเบญเบ. เปเบเบทเปเบญเบชเปเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบต, Cons recursively เบเปเปเบชเปเบฒเบเบเบฑเบเบซเบกเบปเบ
เบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเบตเปเบฎเบนเปเบเบฑเบเบเบฒเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฑเปเบ (เบเบฝเบเปเบเปเบเปเบฒเบเบงเบเปเบเบปเบฒเบเปเบญเบเบเบฒเบเบชเปเบฒเบเปเบซเบกเป, เปเบเปเบเบญเบ). เบเปเบฒเบกเบต
เบเบฐโเบฅเบดเบโเบเบฐโเบเบฑเบโเปเบซเบผเบปเปเบฒโเบเบฑเปเบโเปเบกเปเบโเบเบถเปเบโเบเบฑเบโเบเบฐโเบฅเบดเบโเบเบฐโเบเบฑเบโเบญเบทเปเบเปโเปเบโเบเบฑเบโเบเบตโเบฅเบฒเบโเบเบฒเบโเบญเบทเปเบเปโ, เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบชเบดเปเบโเบเบตเปโเบเบฐโเบชเปเบฒเบโเบเบถเปเบโ,
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ.
% cons เบชเบปเปเบเบญเบญเบ
เบเบดเบเบเบฑเปเบ world/world.h เปเบเบฑเบ export/include/world.h
cc -Iexport/include -c hello/hello.c -o hello/hello.o
cc -Iexport/include -c world/world.c -o world/world.o
ar r world/libworld.a world/world.o
ar: เบเบฒเบเบชเปเบฒเบเปเบฅเบ/libworld.a
ranlib world/libworld.a
เบเบดเบเบเบฑเปเบ world/libworld.a เปเบเบฑเบ export/lib/libworld.a
cc -o hello/hello hello/hello.o -Lexport/lib -lworld
เบเบดเบเบเบฑเปเบ hello/hello เปเบเบฑเบ export/bin/hello
เบชเบฐเบญเบฒเบ, เปเบเบปเปเบฒโเปเบโเปเบเปโ, เบชเบฐโเบเบฒเบโเบเบตเปโเปเบเบฑเบโเปเบญโเบเบฐโเบฅเบฒเบโ scripts
เบเปเบฒเบเบเบฐเบชเบฑเบเปเบเบเบงเปเบฒเบเบฑเบเบชเบญเบ เบเบฐเบเบฝเบ เปเบเบฅเปเปเบกเปเบเบชเบฐเบญเบฒเบเบซเบผเบฒเบเปเบฅเบฐเบเบปเบเบเบฑเบเบเบธเบ. เบเบงเบเปเบเบปเบฒเบเบฝเบเปเบเป
เบฅเบฐเบเบธเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบฅเบฐเบงเบดเบเบตเบเบฒเบเบชเปเบฒเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเปเบซเบผเบปเปเบฒเบเบฑเปเบ. เบเปเบฒเปเบเบฐเบเปเบฒเบเบฒเบเบเปเปเบชเปเบฒเบ
เปเบกเปเบเบซเบเปเบญเบเบเบตเปเบชเบธเบ: เบเบงเบเปเบเบปเบฒเบเปเบฒเบเบปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบเบฐเบเปเบฒเปเบเป, เบเบทเปเบเบญเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบ,
เปเบฅเบฐเบเบทเปเบเบญเบเบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ. เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบชเบฐเบเบดเบเปเบกเปเบเบเบถเปเบเบเบฑเบเบชเบฐเบเบฒเบเบเบตเป: เบเปเบฒเปเบเบปเปเบฒ
เบเบฒเบเบเบฐเบซเบเบฒเบเบตเปเบเบฐเบเบฑเบเบฅเบฐเบเบฝเบเบเบปเปเบเปเบกเปเปเบซเบผเปเบเบเบญเบเบเปเบฒเบ, เบเปเบฒเบเบกเบตเบญเบดเบเบชเบฐเบซเบผเบฐเบเบตเปเบเบฐเปเบฎเบฑเบเปเบเบงเบเบฑเปเบ: เบเปเบฒเบเบเบฝเบเปเบเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ
เบเปเปเบชเปเบฒเบ เปเบเบฅเป (เปเบเบเบปเบงเบขเปเบฒเบเบเบตเป), เปเบเบทเปเบญเบเปเบฒเบเบปเบเบชเบฐเบเบฒเบเบเบตเปเปเบซเบกเปเบเบญเบ เบเบฐเบเบฝเบ เปเบเปเบก. เบ
เบเบฒเบเบเปเบฒเปเบเปเบเบปเปเบเปเบกเปเบชเบปเปเบเบญเบญเบเปเบฎเบฑเบเปเบซเปเปเบเบปเปเบฒเบซเบกเบฒเบเบเบตเปเบเปเบฒเบ.
เบซเบกเบฒเบเปเบซเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ, เบงเบดเบเบตเบเบฒเบ Cons เบเบนเปเบฅเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบฅเบฑเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบ. เบเบฑเบเปเบปเบ เบเบฒเบเบชเบปเปเบเบญเบญเบ เปเบเปเบฅเบเบฐเบเปเบฅเบต, เบชเปเบฒเบฅเบฑเบ
เบเบปเบงเบขเปเบฒเบ, เบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ. เปเบฅเบฐเปเบเบฅเปเบเบตเปเบเบดเบเบเบฑเปเบเปเบเปเบเบทเบเปเบเบทเปเบญเบกเบเปเปเบเบฒเบเปเบเปเปเปเบเบปเปเบฒเปเบเปเบ
เปเบเปเบฅเบเบฐเบเปเบฅเบตเบชเบปเปเบเบญเบญเบเบเบฒเบกเบฅเปเบฒเบเบฑเบ, เปเบเบทเปเบญเบเปเบงเบเบเบฐเบขเบฑเบเบเบทเปเบเบเบตเปเปเบฅเบฐเปเบงเบฅเบฒ. เบเบงเบฒเบกเบชเบปเบเปเบเบเบฑเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบตเปเบเปเบงเบเบเบฐเบขเบฑเบ
เบงเบฝเบเบเบฒเบเบซเบผเบฒเบ, เปเบฅเบฐเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเบถเปเบเปเบเบเบฒเบเบเบฐเบฅเบดเบเบชเบฐเบเบดเบเบเบตเปเบเปเบฒเบเบเบฒเบ, เบชเบฒเบกเบฒเบเบฎเบฑเบเบชเบฒเปเบเป.
เบเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบ เปเบซเบผเปเบ เปเบฅเบฐ เบเบฒเบเบเปเปเบชเปเบฒเบ เบเบปเปเบเปเบกเป
เบกเบฑเบเบกเบฑเบเบเบฐเปเบเบฑเบเบเบงเบฒเบกเบเบฒเบเบฐเบซเบเบฒเบเบตเปเบเบฐเบฎเบฑเบเบชเบฒเปเบเบฅเปเบเบตเปเบกเบฒเบเบฒเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบเบขเปเบฒเบเบชเบปเบกเบเบนเบเบเบฒเบ
เปเบเบฅเปเปเบซเบผเปเบ. เบเบตเปเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเบถเปเบเบซเบผเบฒเบเบเบตเปเบเบฐเบเบดเบเบเบฒเบกเบเบฝเบเปเบเปเบชเบดเปเบเบเบตเปเปเบเบฑเบเปเบเบฅเปเปเบซเบผเปเบ, เปเบฅเบฐ
เบเบฑเบเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเปเปเบเบฒเบเบเบฑเบเบเบฒเบ variant เบเบฒเบเบเปเปเบชเปเบฒเบ, เปเบเบเบชเบฐเปเบเบฒเบฐเบเปเบฒเบซเบฒเบเบงเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบ variant builds
เบขเบนเปเบฎเปเบงเบกเบเบฑเบ.
เบเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบ เบเบฒเบเบเปเปเบชเปเบฒเบ เปเบฅเบฐ เปเบซเบผเปเบ เปเบเปเบฅเบเบฐเบเปเบฅเบต เบเบฒเบเบเปเบฒเปเบเป เปเบเป เบเบฒเบเปเบเบทเปเบญเบกเบเปเป เบเปเบฒเบชเบฑเปเบ
Cons เบชเบฐเบซเบเบญเบเบเบปเบเปเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเบตเปเบเบฑเบเบเบฒเบเบเบฑเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบฑเบเบซเบกเบปเบ. เบฅเบดเปเบเบเป
เบเปเบฒเบชเบฑเปเบเปเบกเปเบ invoked เปเบเบเบปเบงเบขเปเบฒเบเบเบตเป:
เปเบเบทเปเบญเบกเบเปเป 'build' => 'src';
เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบกเปเบ ``เปเบเบทเปเบญเบกเบเปเป'' เบเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบซเบผเปเบเบเบตเปเบฅเบฐเบเบธ. เบชเบปเบกเบกเบธเบเบงเปเบฒ
เบเบตเปเบเปเบฒเบเบเบฑเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบซเบผเปเบ, src, เบเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเบญเบ เปเบฅเบ เปเบฅเบฐ เบชเบฐเบเบฒเบเบเบต เบเปเบฒเบโเบฅเบธเปเบกโเบเบตเปโ,
เปเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบเปเบฒเบเบกเบฒ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบปเบเปเบเบเบชเปเบฒเบฅเบฑเบเบชเบฒเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบปเปเบเบชเบฐเบเบฑเบเปเบเป
เบเปเปเปเบเบเบตเป:
เบชเปเบฒเบ qw(
build/world/Conscript
build/hello/Conscript
);
เบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเบเปเบฒเบเบเบดเปเบเบเบปเบงเบเบฐเบเบฒเบ เบเบฐเบเบฝเบ เปเบเบฅเปเบเบทเบเบฑเบเบงเปเบฒเบกเบฑเบเบกเบตเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบชเปเบฒเบ. เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบซเบฒเบเบงเปเบฒ
เบเปเบฒเบเบเบดเบกเบเปเบฒเบชเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเปเบญเบ, เบเปเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเบเบฑเปเบเบเปเปเปเบเบเบตเป:
% cons เบชเบปเปเบเบญเบญเบ
เบเบดเบเบเบฑเปเบ build/world/world.h เปเบเบฑเบ export/include/world.h
cc -Iexport/include -c build/hello/hello.c -o build/hello/hello.o
cc -Iexport/include -c build/world/world.c -o build/world/world.o
ar r build/world/libworld.a build/world/world.o
ar: เบเบฒเบเบชเปเบฒเบ build/world/libworld.a
ranlib build/world/libworld.a
เบเบดเบเบเบฑเปเบ build/world/libworld.a เปเบเบฑเบ export/lib/libworld.a
cc -o build/hello/hello build/hello/hello.o -Lexport/lib -lworld
เบเบดเบเบเบฑเปเบ build/hello/hello เปเบเบฑเบ export/bin/hello
เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, Cons เปเบเปเบเบนเปเบฅเบฅเบฒเบเบฅเบฐเบญเบฝเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบ. เปเบเบเบชเบฐเปเบเบฒเบฐ, เบเปเบฒเบเบเบฐเบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเบเบฑเบเบซเบกเบปเบ
เบเบฒเบเบเปเปเบชเปเบฒเบเปเบกเปเบเปเบฎเบฑเบเปเบเปเปเบเบเปเบเปเปเบเบฅเปเปเบซเบผเปเบเปเบฅเบฐเปเบเบฅเปเบงเบฑเบเบเบธเบเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบชเปเบฒเบ. เบชเปเบฒเบฅเบฑเบ
เบเบปเบเบเบปเบงเบขเปเบฒเบ, build/world/world.o เปเบกเปเบเบฅเบงเบเบฅเบงเบกเบกเบฒเบเบฒเบ build/world/world.c, เปเบฅเบฐ
เบชเบปเปเบเบญเบญเบ/include/world.h เบเบทเบเบเบดเบเบเบฑเปเบเบเบฒเบ build/world/world.h. เบเบตเปโเปเบกเปเบโเบชเปเบฒโเปเบฅเบฑเบโเปเบโเบซเบผเบฒเบโเบเบตเปโเบชเบธเบโ
เบฅเบฐโเบเบปเบโเปเบเบโเบเบฒเบโเบเบตเปโเปเบซเบกเบฒเบฐโเบชเบปเบกโเบเบตเปโเบเปเบฒเบโเบเบฒเบโเบเบญเบ ``เบเบฒเบโ' เบเบฒเบโเปเบเบทเปเบญเบกโเบเปเปโเปเบเบฅโเปโเบเบตเปโเบเปเบญเบโเบเบฒเบโเบเบฒเบโเปเบเปโเบฅเบฐโเปเบซเบผเปเบโ
เปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบเบปเปเบฒเปเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก.
เบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบทเบเบฎเบฑเบเบชเบฒเปเบงเปเบขเปเบฒเบเบเบทเบเบเปเบญเบเปเบเบ Cons, เบเปเปเบงเปเบฒเบเปเบฒเบเบเบฐเปเบฎเบฑเบเปเบเบงเปเบเบเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบซเบผเปเบ.
เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเปเบฒเบโเบเบฑเบโเบเบธเบโเปเบเปโเปเบโเปเบเบฅโเปโเบเบตเปโเบกเบฒโ, เบเบฑเบโเบเบฒโเบเบดโเบเบฒเบโเบเบญเบโเบเปเบฒเบโเบญเบฒเบโเบเบฐโเปเบฎเบฑเบโเปเบเบงโเบเบตเป ``โเปเบโเบชเบฐโเบเบฒเบโเบเบตเปโ' เบซเบผเบทโเบกเบฑเบโเบญเบฒเบโเบเบฐโเบเปเบฝเบโเบเบทเปโเบกเบฑเบโ
เบเปเบฒเบญเบดเบเปเบฅเบฐเบชเปเบฒเบเปเบเบฅเปเปเบซเบกเป. เปเบเบเปเบฅเบฐเบเบตเบชเบธเบเบเปเบฒเบ, เบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฒเบเปเบเปเบเบฐเบชเบนเบเปเบชเบ. Cons เบเบฐ
เบเบงเบเบซเบฒเปเบเบทเปเบญเบเปเบเบเบตเปเปเบเบเบฑเปเบเบเปเปเปเบเบเบตเปเบเปเบญเบเบเบฒเบเปเบเบฅเปเปเบซเบผเปเบ, เปเบฅเบฐเบเบฐเปเบเบทเปเบญเบกเบเปเปเบกเบฑเบเบเบทเบเปเปเป
เบขเปเบฒเบ เปเปเบฒเบฐ เบชเบปเบก.
เบเปเบฒเบเบเบฑเบเบเบฐเบชเบฑเบเปเบเบเปเบซเบฑเบ, เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบงเปเบฒ no เบเบฒเบโเบเปเบฝเบโเปเบเบโเปเบเปโเบเบทเบโเบเปเบญเบโเบเบฒเบโเบเบตเปโเบเบดเบโเบเบฑเบโ เบเบฐเบเบฝเบ
เปเบเบฅเป. เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเบเบทเปเบกเบญเบตเบ, เบเบฑเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบซเบฑเบเปเบเบเบฒเบเบเปเปเปเบ.
variant เบชเปเบฒเบเบเบถเปเบ
เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ! เบชเปเบฒเบฅเบฑเบเบเบฒเบ เบเปเบงเบ เปเบฅเบฐ peAH OS เบเบญเบ
เบเบฒเบเบชเปเบฒเบ variant เบเปเบญเบเบเบฒเบเบเบฒเบเบเบฐเบซเบเบฒเบเบเบตเปเบเปเบฒเบเบเบฒเบเบญเบทเปเบ. เปเบซเปเปเบญเบปเบฒเปเบเบฑเบเบเบปเบงเบขเปเบฒเบ a
เบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบชเปเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบชเบญเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ baNaNa เปเบฅเบฐ peAcH. เปเบโเบเปโเบฅเบฐโเบเบตโเบเบตเป,
เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบปเบเปเบเบฅเปเบเบตเปเปเบเบเบขเบฒเบ, เปเบเบฑเปเบ NFS เปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบดเบเบฅเบฐเบเบปเบเบชเบฐเปเบเบฒเบฐ, เปเบฅเบฐ
เบเบฝเบเปเบเปเบซเบเบถเปเบเบซเบผเบทเบญเบทเปเบเปเบเบญเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฎเบฝเบเบฎเปเบญเบเปเบเปเบเบญเบ
`เบเปเปเปเบชเบ'. เบเบตเปเปเบกเปเบเบงเบดเบเบตเบซเบเบถเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบฑเปเบเบเปเบฒเปเบเป เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒ เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ!
เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ:
# เบชเปเบฒเบเปเบเบฅเปเบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฒเบเบเบต, เปเบฅเบ!
die qq(OS เบเปเบญเบเบเบทเบเบฅเบฐเบเบธ) เปเบงเบฑเปเบเปเบชเบเปเบเป $OS = $ARG{OS};
die qq (OS เบเปเบญเบเปเบเบฑเบ "peach" เบซเบผเบท "banana")
เบเปเบฒ $OS ne "peach" && $OS ne "banana";
# เบเปเบญเบเปเบเบงเบฒเบเบชเบดเบเบเปเบฒเบเบตเปเปเบเปเบเบเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบซเบกเบปเบ.
$EXPORT = "#export/$OS";
เบชเบปเปเบเบญเบญเบ q(CONS เบฅเบงเบกเบกเบต LIB BIN );
# เปเบเปเบฅเบเบฐเบเปเบฅเบตเบกเบฒเบเบเบฐเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเปเบเบเบฑเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบ.
$INCLUDE = "$EXPORT/เบฅเบงเบก";
$LIB = "$EXPORT/lib";
$BIN = "$EXPORT/bin";
# เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบกเบฒเบเบเบฐเบเบฒเบ.
$CONS = เบเปเปเปเบชเบเปเปเป (
CPPPATH => $INCLUDE, # เบฅเบงเบกเปเบชเบฑเปเบเบเบฒเบเบชเบณเบฅเบฑเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเปเปเบกเบนเบ C
LIBPATH => $LIB, # เปเบชเบฑเปเบเบเบฒเบเบซเปเบญเบเบชเบฐเปเบธเบเบชเบณเบฅเบฑเบเปเบเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป
LIBS => '-lworld', # เบฅเบฒเบเบเบทเปเบซเปเบญเบเบชเบฐเปเบธเบเบกเบฒเบเบเบฐเบเบฒเบ
);
# $BUILD เปเบกเปเบเบเปเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบญเบปเบฒเบกเบฒเปเบซเปเบเบธเบเบขเปเบฒเบ.
$BUILD = "#build/$OS";
# เบเบญเบเบเปเปเปเบชเบเบงเปเบฒเปเบเบฅเปเบเบตเปเบกเบฒเบเบญเบ $BUILD เบขเบนเปเปเบช.
เปเบเบทเปเบญเบกเบเปเป $BUILD => 'src';
เบเปเปเบชเปเบฒเบ (
"$BUILD/hello/Conscript",
"$BUILD/world/Conscript",
);
เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบ peAcH, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบชเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ! เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเปเบ
เปเบงเบเบต:
% cons เบชเบปเปเบเบญเบญเบ OS=peach
เบเบดเบเบเบฑเปเบ build/peach/world/world.h เปเบเบฑเบ export/peach/include/world.h
cc -Iexport/peach/include -c build/peach/hello/hello.c -o build/peach/hello/hello.o
cc -Iexport/peach/include -c build/peach/world/world.c -o build/peach/world/world.o
ar r build/peach/world/libworld.a build/peach/world/world.o
ar: เบเบฒเบเบชเปเบฒเบ build/peach/world/libworld.a
ranlib build/peach/world/libworld.a
เบเบดเบเบเบฑเปเบ build/peach/world/libworld.a เปเบเบฑเบ export/peach/lib/libworld.a
cc -o build/peach/hello/hello build/peach/hello/hello.o -Lexport/peach/lib -lworld
เบเบดเบเบเบฑเปเบ build/peach/hello/hello เปเบเบฑเบเบเบฒเบเบชเบปเปเบเบญเบญเบ/peach/bin/hello
เบเบฒเบเบเปเบฝเบเปเบเบ on a เบซเบปเบงเบเปเป
เบเบฒเบเบเปเบฝเบเปเบเบเบญเบทเปเบเปเบเบญเบเบฎเบนเบเปเบเบเบเบตเปเปเบกเปเบเปเบเบฑเบเปเบเปเบเป. เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบเบญเบฒเบเบเบฐเบเบฑเบเบชเบดเบเปเบเบงเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบ
เปเบเบทเปเบญเปเบเบเปเบญเบปเบฒเปเบเบฅเปเบเบญเบเบเปเบฒเบเบญเบญเบเปเบเบฑเบเปเบเบฅเปเบเบตเปเบเบถเปเบเบเบฑเบเปเบงเบเบต เปเบฅเบฐเปเบเบฅเปเปเบญเบเบฐเบฅเบฒเบเบเบญเบเปเบงเบเบต.
เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบเปเบฒเบเบเบฐเบเปเบญเบเบเปเบฒเบเบปเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบฑเบ `$INCLUDE' เบชเปเบฒเบฅเบฑเบเปเบงเบเบตเบเบตเปเบเบถเปเบเบเบฑเบ
เปเบเบฅเป. เบซเบผเบฒเบเบเบตเปเบชเบธเบ เบเบฐเบเบฝเบ เปเบเบฅเป, เบเบฒเบเบชเปเบฒเบเปเบงเบเบตเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฒเบเบขเปเบฒเบเบเบฝเบงเบเบฐเบเบญเบเบกเบตเปเบเบฅเป, เบเบฐ
เบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ.
เปเบเบปเปเบฒเบญเบฒเบเบเบฐเบเปเบญเบเบเบฒเบเบชเบฒเบกเบฒเบเบฅเบงเบเบฅเบงเบกเบฅเบฐเบเบปเบเบเบฑเบเปเบปเบเบเบญเบเปเบเบปเปเบฒเบเปเบงเบเบเบฒเบเบเบตเบเบฑเบ เบซเบผเบทเบเบฒเบเบชเปเบฒเบเปเบเบฃเปเบเบฅเป,
เบเบปเบงเบขเปเบฒเบ, เปเบเบตเบเปเบเปเบเบฒเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเบเปเบงเบเบเบปเบงเปเบฅเบทเบญเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก, เปเบเบฑเปเบ:
`DEBUG=on'. เบเบตเปเบเบฐเบเบทเบเปเบเปเบเบฑเบเปเบงเบเบตเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบชเบฐเปเบเบฒเบฐ
เบเปเปโเบเปเบฒโเบเบปเบโเปเบเบทเปเบญโเปเบเบตเบโเปเบเปโเบเบฒเบ debugging (เบเบตเปโเบญเบฒเบโเบเบฐโเบฅเบงเบกโเปเบเบดเบโเบเบฒเบโเบเบดเบโเบเบฒเบโเบเบฑเบโเบเบธเบโ, เบชเปเบฒโเบฅเบฑเบโเบเบฒเบโ
เบเบปเบงเบขเปเบฒเบ). เบเปเบฒเบโเบชเบฒโเบกเบฒเบโเปเบฅเบทเบญเบโเบเบตเปโเบเบฐโเบเปเบฝเบโเบเบทเปโเบเปเบญเบโเบชเปเบฒโเบฅเบฑเบโเบเบฐโเปเบเบโเบเบตเปโเปเบเบโเบเปเบฒเบโเบเบฑเบโเบเบญเบโเบฅเบฐโเบเบปเบโเปเบซเบผเบปเปเบฒโเบเบตเปโ,
เปเบเป, เบเบฑเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบซเบฑเบเปเบเบเบฒเบเบเปเปเปเบ, เบกเบฑเบเบเปเปเปเบกเปเบ เบเบตเปเบชเปเบฒเบเบฑเบ เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเบฑเบเบเบฑเปเบเปเบเป Cons เปเบกเปเบเบเบฒเบก
เบชเบฐเบซเบฅเบฒเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบทเบเปเบซเบกเปเปเบกเบทเปเบญเบเปเบฒเบเบเปเบฝเบเบเบฒเบเปเบฅเบทเบญเบ.
เบฅเบฒเบเปเบเบฑเบ
MD5 เบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบ เบฅเบฒเบเปเบเบฑเบ
เปเบกเบทเปเบญเปเบเบเปเปเบเบฒเบก Cons เบชเปเบฒเบเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒ, เบกเบฑเบเปเบเบฑเบเบฎเบฑเบเบชเบฒ a เบฅเบฒเบเปเบเบฑเบ เบชเปเบฒเบฅเบฑเบเปเบเบฅเปเบเบฑเปเบ. เบฅเบฒเบเปเบเบฑเบ
เบเบทเบเปเบเบฑเบเปเบงเปเปเบเปเบเบฅเปเปเบเบเบเปเบฒเบเบซเบฒเบ, เบซเบเบถเปเบเบเปเปเปเบเปเบฅเบเบฐเบเปเบฅเบต. เบซเบผเบฑเบเบเบฒเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบเปเบฒเบเบกเบฒเปเบเปเบเบทเบเบฅเบงเบเบฅเบงเบก,
เปเบเป .เบชเบปเปเบ เปเบเบฅเปเปเบ build/peach/world เปเบเปเบฅเบเบฐเบเปเบฅเบตเบกเบตเบฅเบฑเบเบชเบฐเบเบฐเบเบตเป:
world.o:834179303 23844c0b102ecdc0b4548d1cd1cbd8c6
libworld.a:834179304 9bf6587fa06ec49d864811a105222c00
เบเบปเบงเปเบฅเบเบเปเบฒเบญเบดเบเปเบกเปเบเบเบฒเบเบชเบฐเปเบเบกเปเบงเบฅเบฒ - เบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบ UNIX, เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบเบตเปเปเบกเปเบเบเปเบฒเบเบงเบ
เบงเบดเบเบฒเบเบตเบเบฑเบเบเบฑเปเบเปเบเปเบงเบฑเบเบเบต 1 เบกเบฑเบเบเบญเบ 1970. เบเปเบฒเบเบตเบชเบญเบเปเบกเปเบ MD5 checksum. เปเบเป เบเปเปเบเบงเบฒเบก เบเปเบญเบเบญเบฒเบซเบฒเบ
เบฅเบฐเบเบปเบเบงเบดเปเบเบฒเบฐ เปเบกเปเบเบชเบนเบเบเบฒเบเบเบดเบเปเบฅเปเบเบตเป, เปเบซเปเบชเบฐเบเบฃเบดเบเบเปเบญเบเบเปเปเบกเบนเบ, เบเบดเบเปเบฅเปเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบเบเบตเปเปเบเบฑเปเบกเปเบเบ
เบฅเบฒเบเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบชเบฒเบเบเบฑเปเบ. MD5 checksum เปเบเบฑเบเปเบงเปเปเบ .เบชเบปเปเบ เปเบเบฅเปเปเบกเปเบ, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, a
เบเปเบญเบเบเปเปเบกเบนเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบฑเบเปเบปเบเบเบญเบเปเบเบฅเปเบเบตเปเบฅเบฐเบเบธเปเบงเป. เบเบฑเปเบเบเบฑเปเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เบชเปเบฒเบฅเบฑเบ
world.o เปเบเบฅเป, เบเบตเปเบเบฐเบเบญเบเบกเบตเบขเปเบฒเบเบซเบเปเบญเบ world.c เปเบเบฅเป, เปเบฅเบฐเปเบเบฅเป header เปเบเปเบเบตเป Cons
เบฎเบนเปโเบเปเบฝเบงโเบเบฑเบโเบเบฒเบโเบเบตเปโเบฅเบงเบกโ, เปเบเบโเบเบปเบโเบซเบผเบทโเปเบเบโเบเบฒเบโเบญเปเบญเบกโเปเบเบโ world.c. เบเปเปเบเบฝเบเปเบเปเปเบเบปเปเบฒเบเบฑเปเบ, เปเบเปเบงเปเบฒ
เปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบปเบงเบเบดเบเบเบตเปเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบชเปเบฒเบ world.o เบเบฑเบเบเบทเบเบเปเบญเบเปเบเบปเปเบฒเปเบเบเบฒเบเบเบดเบเปเบฅเปเบเบญเบ
เบฅเบฒเบเปเบเบฑเบ. เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ, libworld.a เปเบเปโเบฎเบฑเบโเบฅเบฒเบโเปเบเบฑเบโเบเบตเป ``เบฅเบงเบกโเบเบฑเบโเบซเบกเบปเบโ
เบฅเบฒเบเปเบเบฑเบเบเบญเบเบญเบปเบเบเบฐเบเบญเบเบเบญเบเบเบปเบ (เปเบฅเบฐเปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, transitively, เบฅเบฒเบเปเบเบฑเบเบเบญเบ เบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒ
constituents), เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบชเปเบฒเบเปเบเบฅเป.
เบฅเบฒเบเปเบเบฑเบเบเบญเบเปเบเบฅเปเบเบตเปเบเปเปเปเบเปเบกเบฒเบเบฒเบเบเบทเบเบเบดเบเปเบฅเป, เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เปเบเบเบเบฒเบเปเบญเบปเบฒเบเบฑเบเบเบธเบเบฑเบ
เปเบงโเบฅเบฒโเบเบฒเบโเบเบฑเบโเปเบเปโเบเบญเบโเปเบเบฅโเปโเปเบฅเบฐโเบเบทเปโเปเบเบปเปเบฒโเบเบญเบโเปเบเบฅโเป (เปเบงเบฑเปเบโเปเบชเบโเปเบเปโเบกเบตโเบซเบเบฑเบโเปเบเบตเบโเบเบถเปเบโเปเบเบฑเบ a
เปเบเบเบฐเบเบธเบเบฑเบ .เบชเบปเปเบ เบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบเบชเปเบฒเบฅเบฑเบเปเบเบฅเปเบเบฑเปเบ, เปเบเบเปเบฅเบฐเบเบตเบเบตเปเบฅเบฒเบเปเบเบฑเบเบเบฑเปเบเบเบทเบเบเปเบฒเปเบเป).
เบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเบตเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒเปเบเบทเปเบญเบเบถเปเบเบเบฑเบเบชเบฐเปเบเบฒเบฐเปเบเบซเบเบถเปเบ เบเปเปเบชเปเบฒเบ or
เบเบฐเบเบฝเบ เปเบเบฅเป - เบเปเบฒเบเบฒเบเบเปเบฝเบเปเบเบเปเบเบฅเปเปเบซเบผเบปเปเบฒเบเบตเปเบกเบตเบเบปเบเบเบฐเบเบปเบเบเปเปเปเบเบฅเปเบเบตเปเปเบเบฑเบเบเปเบฒเบเบฒเบก, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบกเบฑเบเบเบฐเปเบเบฑเบ
เบชเบฐเบเปเบญเบเปเบซเปเปเบซเบฑเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบฅเบฒเบเปเบเบฑเบเบเบญเบเบเบปเบ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบฒเบเบชเปเบงเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบญเบเบชเบฒเบเบเปเบฒเบชเบฑเปเบเปเบกเปเบ
เบฅเบงเบกเบขเบนเปเปเบเบฅเบฒเบเปเบเบฑเบ. เบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบเปเปเบเปเบฝเบงเบเปเบญเบเบเบฐเบเปเปเบกเบตเบเบปเบเบเบฐเบเบปเบ.
เปเบกเบทเปเบญ Cons เบเบดเบเบฒเบฅเบฐเบเบฒเบงเปเบฒเบเบฐเบกเบฒเบเบฒเบเปเบเบฅเปเปเบเบเบถเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบกเบฑเบเบเปเบฒเบญเบดเบเบเบตเปเบเบฐเบเบดเบเปเบฅเป
เบฅเบฒเบเปเบเบฑเบเบเบตเปเบเบฒเบเปเบงเปเบเบญเบเปเบเบฅเป. เบเบฒเบเบเบฑเปเบเบกเบฑเบเบเบฝเบเบเบฝเบเปเบงเบฅเบฒเบเบฑเบเปเบเปเบซเบผเปเบฒเบชเบธเบเบเบญเบเปเบเบฅเปเบเบฑเบ
เบเบตเปโเปเบเปโเปเบงโเบฅเบฒโเบเบฑเบโเบเบถเบโเปเบงเปโเปเบโ .เบชเบปเปเบ เปเบเบปเปเบฒ, เบเปเบฒเบกเบตเบขเบนเป. เบเปเบฒเปเบงเบฅเบฒเปเบซเบผเบปเปเบฒเบเบตเปเบเบปเบเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ
เบฅเบฒเบเปเบเบฑเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบงเปเปเบ .เบชเบปเปเบ เปเบเบฅเปเปเบกเปเบเบเบทเบงเปเบฒเบเบทเบเบเปเบญเบ. เบเปเบฒเปเบเบฅเปเบเปเบฒเบเบกเบฒ
เบฅเบฒเบเปเบเบฑเบเบเปเปเบเบปเบเบเบฑเบเบฅเบฒเบเปเบเบฑเบเบเบตเปเบเบฒเบเปเบงเปเปเปเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบฅเปเบเบฐเบเปเบญเบเบเบทเบเบเบญเบเบเบญเบเบเบทเบ.
เบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเปเบเบฅเปเบเบฐเบเบทเบเบเบญเบเบเบญเบเบเบทเบเบเบธเบเบเบฑเปเบเบเบตเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเปเบเบฅเปเบเบตเปเบเบถเปเบเบเบฑเบ. เปเบ
เปเบเบเบชเบฐเปเบเบฒเบฐ, เบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒ เปเบ เบเบฒเบโเบเปเบฝเบโเปเบเบโเบเบตเปโเปเบเปโเปเบงโเบฅเบฒโเบเบฒเบโเบเบฑเบโเปเบเปโเบเบญเบโเบเบฒเบโเบเบถเปเบโเบเบฑเบ (เบเปเปโเบซเบเปเบฒโเบซเบผเบทโ
เบเบญเบเบซเบผเบฑเบเปเบเปเบงเบฅเบฒ) เบเบฐเบเบฑเบเบเบฑเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒ.
เบเบฒเบเบเปเบฒเปเบเปเบฅเบฒเบเปเบเบฑเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเบเบเบฒเบเบเบตเปเบชเบธเบ, เบเบฐเบชเบดเบเบเบดเบเบฒเบ, เปเบฅเบฐเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบญเบ
เบเบฒเบเบเบฑเบเบเบธเบ - เบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ - เบเบฒเบเปเบเปเบเบฑเบเบเบญเบเบฅเบฐเบเบปเบ.
เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบฐเปเบเบเบชเบดเปเบเบเบตเปเบเปเบงเบเบเบปเบงเบขเปเบฒเบเบเปเบฒเบเป:
# เบเปเบฒเบเป "เบชเบฐเบเบฒเบเบเบตเปเบฅเบ!" เบเปเปเบชเปเบฒเบเปเบเบฅเป
$CFLAGS = '-g' เบเปเบฒ $ARG{DEBUG} eq 'on';
$CONS = new cons(CFLAGS => $CFLAGS);
เปเบเบเบเบฒเบ $CONS 'เบชเบฐเบเบฒเบเบเบต', 'hello.c';
เบชเบฑเบเปเบเบเปเบซเบฑเบเบงเบดเบเบตเบเบฒเบ Cons recompiles เปเบเปเบงเบฅเบฒเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก:
% cons เบชเบฐเบเบฒเบเบเบต
cc -c hello.c -o hello.o
cc -o เบชเบฐเบเบฒเบเบเบต hello.o
% cons เบชเบฐเบเบฒเบเบเบต
cons: "เบชเบฐเบเบฒเบเบเบต" เปเบกเปเบเบเบฑเบเบชเบฐเปเบซเบก.
% cons DEBUG=เบชเบฐเบเบฒเบเบเบต
cc -g -c hello.c -o hello.o
cc -o เบชเบฐเบเบฒเบเบเบต hello.o
% cons DEBUG=เบชเบฐเบเบฒเบเบเบต
cons: "เบชเบฐเบเบฒเบเบเบต" เปเบกเปเบเบเบฑเบเบชเบฐเปเบซเบก.
% cons เบชเบฐเบเบฒเบเบเบต
cc -c hello.c -o hello.o
cc -o เบชเบฐเบเบฒเบเบเบต hello.o
เบฅเบฐเบซเบฑเบ เบเบฑเบเบเบฒเบซเปเบเบฐเบเบธเบก
เบญเบปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบงเบเปเบฒเบเบงเบเบซเบผเบฒเบเบเบฐเบกเบตเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบเบฅเบฐเบเบปเบ repository เบชเบนเบเบเบฒเบ
เบเบปเปเบเปเบกเปเบเบตเปเบกเบตเบฅเบฐเบซเบฑเบเปเบซเบผเปเบเบเบฐเบเบธเบเบฑเบเบชเปเบฒเบฅเบฑเบเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบเปเบเบเบเบฒเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบตเปเปเบเปเบกเบฒ
เปเบเบฅเปเบงเบฑเบเบเบธ, เบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เปเบฅเบฐเบเบฐเบเบดเบเบฑเบเปเบเป. เปเบเบทเปเบญเบซเบผเบธเบเบเปเบญเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบทเบเปเบซเบกเปเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบ,
เบกเบฑเบเปเบเบฑเบเบเบฐเปเบซเบเบเบเบตเปเบเบฐเบเปเบฒเปเบเปเปเบเบฅเปเบเบฒเบ repository เปเบเบทเปเบญเบชเปเบฒเบเบเบญเบเปเบงเบเบฒเบเบเบฑเบเบเบฐเบเบฒ - เบชเบปเบกเบกเบธเบเบเบดเบเบฒเบ, เบเบญเบ
เปเบเปเบเบญเบ, เบเปเปเบกเบตเปเบเบฅเปเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบญเบฑเบเปเบซเบกเปเบขเบนเปเปเบเบเบปเปเบเปเบกเปเบเปเปเบชเปเบฒเบเบเปเบญเบเบเบดเปเบ.
Repository
Cons เบชเบฐเบซเบเบญเบเบเบปเบเปเบเบเบฒเบเบเปเบฒเบเบปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบ repositories เบฅเบฐเบซเบฑเบเบเบตเปเบเบฐเบเบญเบเบซเบฒ,
in-order, เบชเปเบฒเบฅเบฑเบเปเบเบฅเปเบเบปเปเบเบชเบฐเบเบฑเบเปเบฅเบฐเปเบเบฅเปเบเบตเปเบกเบฒเบเบฒเบเบเปเปเบเบปเบเบขเบนเปเปเบเบเบปเปเบเปเบกเป build directory เบเปเบญเบเบเบดเปเบ.
เปเบเบงเบเปเปเปเบเบเบตเปเปเบ a เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบเบฐเปเบเบฐเบเปเบฒ Cons เปเบเบทเปเบญเปเบเบดเปเบเบเปเบฒเบญเบดเบเบเบฒเบเปเบเป
/usr/experiment/repository directory เปเบฅเบฐโเบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเบฒเบโเปเบเปโเบเบฒเบโ /usr/product/repository เปเบเปเบฅเบเบฐเบเปเบฅเบต:
Repository qw (
/usr/experiment/repository
/usr/product/repository
);
เปเบเปเบฅเบเบฐเบเปเบฅเบต repository เบเบตเปเบฅเบฐเบเบธเปเบงเปเบญเบฒเบเบกเบตเปเบเบฅเปเปเบซเบผเปเบ, เปเบเบฅเปเบเบตเปเบกเบฒเบเบฒเบ (objects,
เบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบฅเบฐเบเบฒเบเบเบฐเบเบดเบเบฑเบ), เบซเบผเบทเบเบฑเบเบชเบญเบ. เบเปเบฒเบเปเปเบกเบตเปเบเบฅเปเบเปเบญเบเบเบดเปเบ (เปเบซเบผเปเบเบซเบผเบทเบกเบฒเบเบฒเบ) เบเบฒเบเปเบเป
เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเป Cons เบเบทเบเบเบฐเบเบดเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบชเปเบฒเปเบเบปเบฒเบเปเบฒเบญเบดเบเบเบญเบเปเบเบฅเปเบเบตเปเบกเบตเบเบทเปเบเบฝเบงเบเบฑเบเบเบตเปเบเบปเบ
เบเบฒเบเปเบเปเบเบฑเบเบเบตเบเบญเบ repository เบเบฐเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบชเปเบฒเบเปเบเบฅเปเบเบตเปเบกเบฒเบเบฒเบเบเปเบญเบเบเบดเปเบเปเบเป.
Cons เบฎเบฑเบเบชเบฒเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบปเปเบงเปเบฅเบเบเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบต repositories. Cons เบเบฐโเบฅเบปเบโเบฅเปเบฒเบโ
เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฐเบเบธเบเบฑเบ, เปเบฅเบฐเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบเปเปเบกเบตเบขเบนเปเปเบฅเปเบง, เบเบฒเบเบฅเบฒเบเบเบทเป.
เบเบญเบ เปเบเป เบเปเปเบชเปเบฒเบ เปเบญเบเบฐเบชเบฒเบ in a Repository
Cons เบเบฑเบเบเบฐเบเบปเปเบเบซเบฒเบชเปเบฒเบฅเบฑเบ เบเปเปเบชเปเบฒเบ เปเบฅเบฐ เบเบฐเบเบฝเบ เปเบเบฅเปเปเบ repository tree เบซเบผเบทเบเบปเปเบเปเบกเป.
เบเบตเปเบเปเบฒเปเบเบชเบนเปเบชเบฐเบเบฒเบเบฐเบเบฒเบเปเบเปเปเบฅเบฐเปเบเป, เปเบเบดเบเปเบกเปเบเบงเปเบฒ: เปเบเบปเปเบฒเปเบเบดเปเบเบขเบนเปเปเบเบเบปเปเบเปเบกเป repository เปเบเบงเปเบ
เบชเปเบฒโเบฅเบฑเบ เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบเปเบฒเบซเบฒเบเบงเปเบฒ เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบเบญเบเปเบเบปเปเบฒเบงเปเบฒเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบขเบนเปเปเบช? เปเบเปโเบฎเบฑเบ
เบเบฐเบกเบฒเบเบเบตเป, repositories เบญเบฒเบเบเบฐเบเบทเบเบเปเบฒเบเบปเบเปเบเบเบเปเบฒเบเบเบฒเบเปเบฅเบทเบญเบ `-R' เปเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ:
% cons -R /usr/experiment/repository -R /usr/product/repository .
เปเบเปเบฅเบเบฐเบเปเบฅเบต repository เปเบเบฅเบฐเบเบธเปเบงเปเปเบ เบเปเปเบชเปเบฒเบ or เบเบฐเบเบฝเบ เปเบเบฅเปเบเบฐเบเบทเบเบเปเปเบเปเบฒเบ
เปเบเบซเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบต repository เบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบเบเบปเบงเปเบฅเบทเบญเบเปเบเบงเบเปเบฒเบชเบฑเปเบ `-R'.
Repository เปเบซเบผเปเบ เปเบ
เบเปเบฒเบฅเบฐเบซเบฑเบเปเบซเบผเปเบ (เบฅเบงเบกเบเบฑเบ เบเบฐเบเบฝเบ file) เบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฑเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบญเบ เบชเบฐเบเบฒเบเบเบต,
เปเบฅเบ! เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ C เบขเบนเปเปเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ (เบเปเปเบกเบตเปเบเบฅเปเบเบตเปเบกเบฒเบเบฒเบ), Cons เบเบฐเปเบเป
repository เปเบซเบผเปเบเปเบเบฅเปเปเบเบทเปเบญเบชเปเบฒเบเปเบเบฅเปเบงเบฑเบเบเบธเบเปเบญเบเบเบดเปเบเปเบฅเบฐเปเบเบฅเปเบเบฐเบเบดเบเบฑเบเปเบเป:
% cons -R /usr/src_only/repository เบชเบฐเบเบฒเบเบเบต
gcc -c /usr/src_only/repository/hello.c -o hello.o
gcc -c /usr/src_only/repository/world.c -o world.o
ar r libworld.a world.o
ar: เบเบฒเบเบชเปเบฒเบ libworld.a
ranlib libworld.a
gcc -o เบชเบฐเบเบฒเบเบเบต hello.o libworld.a
เบเบฒเบเบชเปเบฒเบเปเบเบฅเปเปเบซเบผเปเบเบเปเบญเบเบเบดเปเบเบเบฐเปเบฎเบฑเบเปเบซเป Cons เบเปเปเบชเปเบฒเบเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบซเบผเบท
เปเบเปเบก:
% pico world.c
[เปเบเปเปเบ]
% cons -R /usr/src_only/repository เบชเบฐเบเบฒเบเบเบต
gcc -c world.c -o world.o
ar r libworld.a world.o
ar: เบเบฒเบเบชเปเบฒเบ libworld.a
ranlib libworld.a
gcc -o เบชเบฐเบเบฒเบเบเบต hello.o libworld.a
เปเบฅเบฐเบเบฒเบเปเบญเบปเบฒเปเบเบฅเปเปเบซเบผเปเบเบเปเบญเบเบเบดเปเบเบญเบญเบเบเบฐเปเบฎเบฑเบเปเบซเป Cons เบเบฑเบเบเบทเบเปเบเบซเบฒเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบกเบฒเบเบฒเบ
เปเบเบฅเปเบเบฒเบเปเบซเบผเปเบ repository:
% rm world.c
% cons -R /usr/src_only/repository เบชเบฐเบเบฒเบเบเบต
gcc -c /usr/src_only/repository/world.c -o world.o
ar r libworld.a world.o
ar: เบเบฒเบเบชเปเบฒเบ libworld.a
ranlib libworld.a
gcc -o เบชเบฐเบเบฒเบเบเบต hello.o libworld.a
Repository derived เปเบ
เบเปเบฒเบเบปเปเบเปเบกเป repository เบกเบตเปเบเบฅเปเบเบตเปเบกเบฒเบเบฒเบ (เบเบปเบเบเบฐเบเบดเปเบฅเปเบงเปเบเบฅเปเบงเบฑเบเบเบธ, เบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เบซเบผเบท
executables), Cons เบเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบดเบเปเบฅเปเบฅเบฒเบเปเบเบฑเบเบเบปเบเบเบฐเบเบดเบเบญเบเบเบปเบเปเบเบทเปเบญเบเบฑเบเบชเบดเบเปเบเบเปเปเบงเปเบฒเบเบฐเปเบเบฑเบ
เปเบเบฅเป repository เปเบกเปเบเบเบฑเบเบชเบฐเปเบซเบกเบซเบผเบทเปเบเบฅเปเบเบตเปเบกเบฒเบเบฒเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบชเปเบฒเบเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ. เบเบตเปโเบซเบกเบฒเบโเบเบงเบฒเบกโเบงเปเบฒโ,
เปเบเบทเปเบญเบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเบเบดเบเปเบฅเปเบฅเบฒเบเปเบเบฑเบเบเบตเปเบเบทเบเบเปเบญเบ, เบเบปเปเบเปเบกเปเบเบตเปเปเบเบฑเบเบกเปเบฝเบเบเบฑเบเบเปเบญเบเบกเบต
.เบชเบปเปเบ เปเบเบฅเปเบเบตเปเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเบ Cons เปเบกเบทเปเบญเบชเปเบฒเบเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒ.
เบเบตเปเบเบปเบเบเบฐเบเบดเปเบฅเปเบงเบเบฐเบชเปเบฒเปเบฅเบฑเบเปเบเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบญเบเปเบงเปเบ repository (เบซเบผเบท,
เปเบเบเบฒเบเบเบปเบเบเบฑเบเบเปเบฒเบก, เปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบชเปเบฒเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเบฅเบญเบเบเบปเบเปเบเปเบฎเบฑเบเปเบเบซเบฒเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ):
% cd /usr/all/repository
% cons เบชเบฐเบเบฒเบเบเบต
gcc -c hello.c -o hello.o
gcc -c world.c -o world.o
ar r libworld.a world.o
ar: เบเบฒเบเบชเปเบฒเบ libworld.a
ranlib libworld.a
gcc -o เบชเบฐเบเบฒเบเบเบต hello.o libworld.a
(เบเบตเปโเปเบกเปเบโเบเบญเบโเปเบโเปเบเบดเบโเปเบกเปเบโเบงเปเบฒโ เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบฅเบฒเบเบเบทเป /usr/all/repository เปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบ a
เบเปเบฒเบชเบฑเปเบ 'Repository' เปเบเบฒเบฐเบงเปเบฒ Cons เบเบฐเปเบญเบปเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฐเบเบธเบเบฑเบเบญเบญเบเบเบฒเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ
เบเบฑเบเบเบตเบฅเบฒเบเบเบทเป.)
เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบชเปเบฒเบเบชเปเบฒเปเบเบปเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเปเบงเบเบเบปเบงเปเบฎเบปเบฒเปเบญเบ เบชเบฐเบเบฒเบเบเบต.c เปเบเบฅเป, เบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบ
เปเบเบทเปเบญเบชเปเบฒเบเปเบเบฅเปเปเบซเบผเปเบเบเบตเปเบเปเบฒเปเบเบฑเบเบญเบฑเบเบซเบเบถเปเบ, เปเบฅเบฐเปเบเปเบเบฒเบเปเบฅเบทเบญเบ `-R' เบเบตเปเบเบฐเบกเบต cons เปเบเปเบญเบทเปเบเป
เปเบเบฅโเปโเบเบฒเบ repositoryโ:
% mkdir $HOME/build1
% cd $HOME/Build1
%ed hello.c
[เปเบเปเปเบ]
% cons -R /usr/all/repository เบชเบฐเบเบฒเบเบเบต
gcc -c hello.c -o hello.o
gcc -o เบชเบฐเบเบฒเบเบเบต hello.o /usr/all/repository/libworld.a
เบชเบฑเบโเปเบเบโเปเบซเบฑเบโเบงเปเบฒ Cons เบเปเปโเปเบเป bothered เบเบฑเบ recreate เบเปเบญเบโเบเบดเปเบโ libworld.a เบซเปเบชเบฐเบซเบกเบธเบ (เบซเบผเบท recomple the
world.o module), เปเบเปเปเบเบเบเบตเปเบเบฐเปเบเปเบชเบฐเบเบฑเบเบเบตเปเบฅเบงเบเบฅเบงเบกเปเบฅเปเบงเบเบฒเบ repository.
เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบฅเบฒเบเปเบเบฑเบ MD5 เบเบตเป Cons เบงเบฒเบเปเบงเปเปเบ .เบชเบปเปเบ เปเบเบฅเปเบกเบตเปเบงเบฅเบฒเบเบฐเบเบฑเบเบเบฒเบชเปเบฒเบฅเบฑเบ
เปเบเบฅเปเบเบตเปเปเบเปเบกเบฒ, เบเบฒเบเบชเบฐเปเบเบกเปเบงเบฅเบฒเบฅเบฒเบเปเบเบฑเบเบเบฐเบเปเบญเบเบเบปเบเบเบฑเบเปเบงเบฅเบฒเบเบญเบเปเบเบฅเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฅเบปเบเบฅเบฒเบเปเบเบฑเบ
เบเบทเบงเปเบฒเบเบทเบเบเปเบญเบ.
เบเบฒเบเบฅเบฐเบเบปเบเบเบญเบเปเบงเบญเบฒเบเบเบฐเบเปเบฝเบเปเบเบเปเบงเบฅเบฒเปเบเปเบเบฅเป repository (เปเบเบเบเบฒเบเบเบฑเบเบฅเบญเบเบเบงเบเบกเบฑเบ,
eg), เปเบเบเปเบฅเบฐเบเบต Cons เบเบฐ, เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เบชเบปเบกเบกเบธเบเบงเปเบฒเบฅเบฒเบเปเบเบฑเบเบเบญเบ repository เบเปเปเบเบทเบเบเปเบญเบ.
เปเบฅเบฐเบชเปเบฒเบเปเบเบฅเปเปเบซเบกเปเปเบเบเบเปเปเบเปเบฒเปเบเบฑเบ. เบเบถเบเบเบดเบเปเบฒเบเบตเปเบญเบฒเบเบเบฐเบเบทเบเบเปเบฝเบเปเบเบเปเบเบเบเบฒเบเบฅเบฐเบเบธ:
Repository_Sig_Times_OK 0;
เบเบตเปเบเบญเบ Cons เบเบตเปเบเบฐเบเปเปเบชเบปเบเปเบเปเบงเบฅเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบเบฑเบเบชเบดเบเปเบเบงเปเบฒเบฅเบฒเบเปเบเบฑเบเบเบตเปเบเบทเบเบเปเบญเบ. (เบซเบกเบฒเบโเปเบซเบโ
เบงเปเบฒเบเบฒเบเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเบงเบเบเบฒเบชเบธเบเบฒเบเบดเบเบฒเบเบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฐเบเปเบญเบเบกเบตเบเบฒเบเบเบงเบเบเบธเบกเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบ repository
เบเบปเปเบเปเบกเปเปเบเบทเปเบญเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเปเบเบฅเปเบเบตเปเบกเบฒเบเบฒเบเบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเปเปเบเบเบเปเปเบกเบตเบเบฒเบเบเบฑเบเบเบธเบ .เบชเบปเปเบ
เบฅเบฒเบเปเบเบฑเบ.)
เบเปเบญเบเบเบดเปเบ เบชเปเบฒเปเบเบปเบฒ of เปเบ
เบเปเบฒเบเบปเปเบเปเบกเป repository เบกเบตเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบชเบปเบกเบเบนเบเบเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบ, เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฒเบเบฒเบกเบชเปเบฒเบเบเบฒเบ
repository เปเบเบเบเปเปเบกเบตเปเบเบฅเปเปเบเปเบขเบนเปเปเบเบเบปเปเบเปเบกเปเบเปเบญเบเบเบดเปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบซเบเปเบฒเบเบฐเบซเบฅเบฒเบเปเบเบเบฒเบเบเบฒเบ
เปเบเบตเบโเบเบถเปเบ:
% mkdir $HOME/build2
% cd $HOME/Build2
% cons -R /usr/all/repository เบชเบฐเบเบฒเบเบเบต
cons: "เบชเบฐเบเบฒเบเบเบต" เปเบกเปเบเบเบฑเบเบชเบฐเปเบซเบก.
Cons เปเบเบฑเบเบซเบเบฑเบเปเบงเบปเปเบฒเบงเปเบฒ เบชเบฐเบเบฒเบเบเบต เปเบเบเบเบฒเบเปเบกเปเบเบเบฑเบเบชเบฐเปเบซเบกเปเบเปเบงเบฅเบฒเบเบตเปเบเปเปเบกเบต เบชเบฐเบเบฒเบเบเบต program in
เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเปเบชเปเบฒเบเบเปเบญเบเบเบดเปเบ? เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ (เบเปเปเปเบกเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเบญเบเบเบดเปเบ) เบเบฐเบเบญเบเบเปเบงเบ
up-to-date เบชเบฐเบเบฒเบเบเบต เปเบเบโเบเบฒเบโ, เปเบฅเบฐ Cons เบเบทเบโเบเปเบฒโเบเบปเบโเบขเปเบฒเบโเบเบทเบโเบเปเบญเบโเบเบตเปโเบเปเปโเบกเบตโเบซเบเบฑเบโเบเปเบฒโเปเบเบฑเบโเบเปเบญเบโเปเบฎเบฑเบโเปเบเปโ
เบชเปเบฒเบเบชเบณเปเบเบปเบฒเปเบเบฅเปเบเบตเปเบเบฑเบเบชเบฐเปเปเบเบตเปเบเบทเบเปเปเป.
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบกเบตเบซเบผเบฒเบเบเบฑเปเบเบเบตเปเบกเบฑเบเปเบซเบกเบฒเบฐเบชเบปเบกเปเบเบทเปเบญเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบชเปเบฒเปเบเบปเบฒเบเปเบญเบเบเบดเปเบเบเบญเบ a
เปเบเบฅเปเบกเบตเบขเบนเปเบชเบฐเปเปเบต. เบเบปเบงเบขเปเบฒเบเปเบเบฑเปเบเบเบฒเบเบซเบธเปเบกเบซเปเปเบซเบผเบทเบเบฒเบเบเบปเบเบชเบญเบ, เบญเบฒเบเบเบฐเบชเบปเบกเบกเบธเบเบงเปเบฒเปเบเปเบเบญเบ
เปเบเบฅเปเบเบตเปเบชเปเบฒเบเบเบถเปเบเบกเบตเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ. เปเบเบเบเบตเปเบเบฐเปเบฎเบฑเบเปเบซเปเบชเบฐเบเบฃเบดเบเบเปเบญเบเปเบซเบผเบปเปเบฒเบเบตเปเบฎเบนเปเปเบเบดเบ
เปเบเปเบฅเบเบฐเบเปเบฅเบต repository, เบเปเบฒเบชเบฑเปเบ 'เบเปเบญเบเบเบดเปเบ' เบญเบฒเบเบเบฐเบเบทเบเปเบเบตเปเบกเปเบเบปเปเบฒเปเบ a เบเปเปเบชเปเบฒเบ or เบเบฐเบเบฝเบ file to
เบฅเบฐเบเบธเบงเปเบฒเปเบเบฅเป เบซเบผเบทเปเบเบฅเปเปเบเปเบถเปเบเบเบฐเบเปเบญเบเบเบฒเบเบปเบเบขเบนเปเปเบเปเบเปเบฃเบฑเบเบเปเบฃเบตเบชเปเบฒเบเบเปเบญเบเบเบดเปเบ:
เบเปเบญเบเบเบดเปเบ qw(
เบชเบฐเบเบฒเบเบเบต
);
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเบฝเบงเบเบฑเบเบเบทเบเปเบซเบกเป, Cons เบเบฐเปเบฎเบฑเบเปเบซเปเบชเปเบฒเปเบเบปเบฒเบเปเบญเบเบเบดเปเบเบเบญเบเปเบเบเบเบฒเบเบเบฒเบ
เบชเปเบฒเปเบเบปเบฒ repository (เบเบญเบเบเปเบฒเบเบงเปเบฒเบกเบฑเบเบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเปเบเบฑเปเบเบเบฑเปเบ):
% cons -R /usr/all/repository เบชเบฐเบเบฒเบเบเบต
เบชเปเบฒเปเบเบปเบฒเบเปเบญเบเบเบดเปเบเบเบญเบเบชเบฐเบเบฒเบเบเบตเบเบฒเบ /usr/all/repository/hello
cons: "เบชเบฐเบเบฒเบเบเบต" เปเบกเปเบเบเบฑเบเบชเบฐเปเบซเบก.
เบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบฒเบเบเบฐเบเปเบฒเบเบญเบเบเบฒเบเปเบฎเบฑเบเบชเปเบฒเปเบเบปเบฒเบเปเบญเบเบเบดเปเบเบเปเปเปเบเปเบเบทเบงเปเบฒเปเบเบฑเบ "เบเบฒเบเบเปเปเบชเปเบฒเบ" เบเบญเบ
เบชเบฐเบเบฒเบเบเบต เปเบเบฅเป, Cons เบเบฑเบเบฅเบฒเบเบเบฒเบเบงเปเบฒเบกเบฑเบเบเบฑเบเบชเบฐเปเบซเบก.
เบเบฒเบเบชเปเบฒเบเบชเปเบฒเปเบเบปเบฒเบเปเบญเบเบเบดเปเบเปเบกเปเบเปเบเบฑเบเบเบฐเปเบซเบเบเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบเปเบเบฅเปเบเบตเปเบเปเบฒเบฅเบฑเบเบเบทเบเบเบดเบเบเบฑเปเบเปเบเบปเปเบฒเปเบเปเบ
เปเบเปเบฅเบเบฐเบเปเบฅเบตเบฅเบฐเบเบฑเบเบเบฒเบ (เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเปเบเบเบฑเบเบเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบญเบทเปเบเป) เบเปเบฒเบเบเปเบฒเบชเบฑเปเบ 'เบเบดเบเบเบฑเปเบ'.
เบกเบฒเบเปเบญเบกเบเบฑเบเบเปเบฒเบชเบฑเปเบ 'เบเบดเบเบเบฑเปเบ' เบชเปเบฒเบฅเบฑเบเปเบเบฅเปเบเบตเปเบกเบตเบเปเบฒเบชเบฑเปเบ 'เบเปเบญเบเบเบดเปเบ' companion เปเบกเปเบเบเบฑเปเบเบเบฑเปเบ
เบเบปเปเบงเปเบเบเบตเป Cons เบชเบฐเบซเบเบญเบเบเปเบฒเบชเบฑเปเบ 'Install_Local' เปเบเบฑเบเบงเบดเบเบตเบเบตเปเบชเบฐเบเบงเบเบเบตเปเบเบฐเปเบฎเบฑเบเบเบฑเบเบชเบญเบ:
Install_Local $env, '#export', 'เบชเบฐเบเบฒเบเบเบต';
เปเบเบปเปเบฒเบเบฑเบ:
เบเบดเบเบเบฑเปเบ $env '#export', 'hello';
เบเปเบญเบเบเบดเปเบ '#export/hello';
เบเบฑเบเบเปเบฒเบชเบฑเปเบ 'Local' เปเบฅเบฐ 'Install_Local' เบเบฑเบเบเบธเบเบเปเบญเบเบเบดเปเบ .เบชเบปเปเบ เปเบเบฅเปเบเบตเปเบกเบต
เบฅเบฒเบเปเบเบฑเบเปเบเบฅเปเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก, เบเบฑเปเบเบเบฑเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเบญเบฐเบเบฒเบเบปเบเบเบทเบเบเบฐเบเบดเบเบฑเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ.
Repository เบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช เบเบฒเบเบงเบดเปเบเบฒเบฐ
เปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบชเบฐเปเบเบเบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ, Cons เบเบฐเบเบปเปเบเบซเบฒเบเบปเปเบเปเบกเป repository เบเบตเปเบฅเบฐเบเบธเปเบงเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฅเบงเบก
.h เปเบเบฅเป. เปเบงเบฑเปเบเปเบชเบเปเบเปเบงเปเบฒเบเบนเปเบฅเบงเบเบฅเบงเบกเบเปเปเบกเบนเบเบเบฑเบเบฎเบนเปเบเปเบฝเบงเบเบฑเบเบเบปเปเบเปเบกเป repository, เปเบเบดเบเปเบกเปเบเบงเปเบฒ, เบกเบฑเบเบเบฐเปเบเบฑเบ
เบเปเปเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒ .h เปเบเบฅเปเบเบตเปเบกเบตเบเบฝเบเปเบเปเบขเบนเปเปเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ. เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบซเบฒเบเบงเปเบฒ เบชเบฐเบเบฒเบเบเบต.c
เปเบเบฅเปเบเบฐเบเบญเบเบกเบต เบชเบฐเบเบฒเบเบเบต เปเบเบฅเปเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฐเบเบธเบเบฑเบเบเบญเบเบกเบฑเบ:
% cons -R /usr/all/repository เบชเบฐเบเบฒเบเบเบต
gcc -c /usr/all/repository/hello.c -o hello.o
/usr/all/repository/hello.c:1: hello.h: เบเปเปเบกเบตเปเบเบฅเป เบซเบผเบทเบฅเบฒเบเบเบทเปเบเบฑเปเบเบเปเบฒเบง.
เบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเบเบฑเบเบเบฑเบเปเบซเปเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบฒเบเบขเปเบฒเบเปเบเบชเบนเปเบงเบดเบเบตเบเบฒเบเบเปเปเบชเปเบฒเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก
เบเปเบฒเบเบปเบเปเบฅเบฐเปเบเบชเบนเปเบงเบดเบเบตเบเบฒเบ C `#include' preprocessor directive เบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบฐเบเบญเบเบกเบตเปเบเบฅเป.
เปเบเบทเปเบญเปเบเปเบเปเบซเปเบเบนเปเบฅเบงเบเบฅเบงเบกเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบปเปเบเปเบกเป repository, Cons เบเบฐเปเบเบตเปเบก "-I" เบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก.
เบเบธเบเบเบฑเบเบเปเบฒเบชเบฑเปเบเบเบฒเบเบฅเบงเบเบฅเบงเบก. เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบปเบงเปเบ 'CPPPATH' เปเบ
เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบเปเบญเบเบฅเบฐเบเบธเบขเปเบฒเบเบเบฐเปเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเบญเบเบเบฑเบเปเบปเบเบเบตเปเบเบฐเบเบญเบเบซเบฒ
เบชเปเบฒเบฅเบฑเบเปเบเบฅเปเบฅเบงเบก, เบฅเบงเบกเบเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฐเบเบธเบเบฑเบ. เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเปเปเบเบเปเบฒเบเปเบเบดเบ
เบเบปเบงเบขเปเบฒเบเปเบเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบฒเบเบชเปเบฒเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเปเบ เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบเบฑเปเบเบเปเปเปเบเบเบตเป:
$env = เบเปเปเปเบชเบเปเปเป(
CC => 'gcc',
CPPPATH => '.',
LIBS => 'libworld.a',
);
เปเบเบทเปเบญเบเบเบฒเบเบเปเบฒเบเบดเบเบฒเบกเบเบญเบเบเบปเบงเปเบ 'CPPPATH', เบเบปเบเปเบเปเบฎเบฑเบเบเบตเป, เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฑเบเบเบทเบเปเบซเบกเป.
เบเปเบฒเบชเบฑเปเบ:
% cons -R /usr/all/repository เบชเบฐเบเบฒเบเบเบต
gcc -c -I. -I/usr/all/repository /usr/all/repository/hello.c -o hello.o
gcc -o เบชเบฐเบเบฒเบเบเบต hello.o /usr/all/repository/libworld.a
เบเปเบฒเบชเบฑเปเบเบเบญเบเบเบธเบ `-Iโ replicates, เบชเปเบฒเบฅเบฑเบ C preprocessor, repository เบเบฝเบงเบเบฑเบ-
เปเบชเบฑเปเบเบเบฒเบเบเบปเปเบเบซเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเป Cons เปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบญเบเบเบปเบเปเบญเบ. เบเปเบฒเบกเบต
เบซเบผเบฒเบ repositories เปเบฅเบฐเบซเบผเบฒเบ 'CPPPATH' directory, Cons เบเบฐเปเบเบตเปเบกเปเบเบตเบก repository
เปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบเบซเบฒเบเบธเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเปเบเปเบฅเบฐเปเบเปเบฃเบฑเบเบเปเบฃเบต 'CPPPATH', เบเบฒเบเบเบนเบเบเบณเบเบงเบเบขเปเบฒเบเปเบงเบงเบฒ
เบเบญเบเบเบธเบ '-I'. เปเบเบฑเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบชเบธเบ, a เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบเบฐเบเบญเบเบกเบต:
Repository qw(
/u1
/u2
);
$env = เบเปเปเปเบชเบเปเปเป(
CPPPATH => 'a:b:c',
);
เบเบฐเปเบซเปเบเปเบฒเบชเบฑเปเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบญเบ:
cc -Ia -I/u1/a -I/u2/a -Ib -I/u1/b -I/u2/b -Ic -I/u1/c -I/u2/c -c hello.c -o เบชเบฐเบเบฒเบเบเบต.o
เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ Cons เบญเบตเบเปเบชเปเบเบธเบ `-I' เบเบญเบ compiler เปเบเบทเปเบญเบชเบทเปเบชเบฒเบเบเปเบฒเบชเบฑเปเบเปเบเบเบฑเปเบ
เปเบเปเบฅเบเบฐเบเปเบฅเบต repository เบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบปเปเบเบซเบฒ, Cons 'เบเบฒเบเบเบฑเบเบเบฒเบเบเบญเบ repository directory เปเบกเปเบ
เปเบเบเบเบทเปเบเบเบฒเบเปเบฅเปเบงเบเปเปเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบฑเบเบเบฒเบเปเบเปเบชเบญเบเบงเบปเบเบขเบทเบกเปเบเบเปเบฒเบชเบฑเปเบ `#include' เปเบ C เบเบญเบเบเปเบฒเบ.
เบฅเบฐเบซเบฑเบเปเบซเบผเปเบ:
#include "file.h" /* เบขเปเบฒเปเบเปเบชเบญเบเบเบณเปเบงเบปเปเบฒเปเบเบเบเบตเป */
เบเบตเปเปเบกเปเบเบเปเบญเบเบงเปเบฒ C preprocessors เบชเปเบงเบเปเบซเบเป, เปเบกเบทเปเบญเบเบฐเปเบเบตเบเบเบฑเบเบเปเบฒเบชเบฑเปเบเบเบฑเปเบเบเปเบฒเบง, เบเบฐเบเปเบฒเบญเบดเบเบชเบฐเปเบซเบกเบต
เบเบปเปเบเบซเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบกเบตเปเบเบฅเปเปเบซเบผเปเบ. เบญเบฑเบเบเบตเปเบเปเบฒเบฅเบฒเบเบเบงเบฒเบกเบฅเบฐเบญเบฝเบเบเบญเบ `-เบเปเบญเบโ.
เบเบฒเบเปเบฅเบทเบญเบเบเบตเป Cons เบเปเปเบชเปเบฒเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเป preprocessor เบชเบญเบเบเปเบญเบเบเบฑเบเบเบฒเบเบเบปเปเบเบซเบฒเบเบตเปเบเปเบญเบเบเบฒเบ
เปเบชเบฑเปเบเบเบฒเบ
เบเบฑเปเบเบเบฑเปเบ, เปเบกเบทเปเบญเบเปเบฒเปเบเปเบเบปเปเบเปเบกเป repository เปเบ Cons, เบชเบฐเปเบซเบกเบตเปเบ เปเบเปเบงเบปเบเปเบฅเบฑเบเบกเบธเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฅเบงเบก
เปเบเปเบก:
#เบฅเบงเบกเบเบฑเบ /* เปเบเป ANGLE-BRACKETS เปเบเบ */
Repository_List
Cons เบชเบฐเบซเบเบญเบเบเปเบฒเบชเบฑเปเบ 'Repository_List' เปเบเบทเปเบญเบชเบปเปเบเบเบทเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบ repository directory เบเบฑเบเบซเบกเบปเบ
เปเบเบเปเบฒเบชเบฑเปเบเบเบปเปเบเบซเบฒเปเบเบเบฐเบเบธเบเบฑเบเบเบญเบเบเบงเบเปเบเบปเบฒ. เบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบ debugging, เบซเบผเบทเปเบฎเบฑเบ Perl เบชเบฐเบฅเบฑเบเบชเบฑเบเบเปเบญเบเบซเบผเบฒเบ
เบชเบดเปเบเบเบญเบ:
@list =Repository_List;
เบเบดเบกเปเบเบปเปเบฒเบฎเปเบงเบก(' ', @list), "\n";
Repository เบเบฒเบเบเบปเบงเบเบฑเบเบฎเปเบงเบกเบเบฑเบ เบเบฑเบ เบญเบทเปเบเป cons เบเบธเบโเบฅเบฑเบโเบชเบฐโเบเบฐ
Cons 'เบเบฒเบเบเบฑเบเบเบฒเบเบเบปเปเบเปเบกเป repository เบเบฐเบเบดเบชเปเบฒเบเบฑเบเบขเปเบฒเบเบเบทเบเบเปเบญเบเบเบฑเบเบฅเบฑเบเบชเบฐเบเบฐ Cons เบญเบทเปเบเป - เปเบเบดเปเบเปเบกเปเบ
เปเบงเบปเปเบฒ, เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบกเบฑเบเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเปเบเบปเปเบฒเบเบฒเบเบซเบงเบฑเบ.
เปเบเบเบชเบฐเปเบเบฒเบฐเปเบกเปเบเบเบปเปเบเปเบกเป repository เปเบเปเบเบญเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ, เปเบฅเบฐเบกเบตเบญเปเบฒเบเบฒเบเบซเบผเบฒเบ, เบเปเบงเบ 'Link'
เบเปเบฒเบชเบฑเปเบ. เบเบปเปเบเปเบกเป repository เบญเบฒเบเบกเบตเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบชเบฐเบเบฑเบ
เบชเปเบฒเบเบเบฑเปเบเบเบถเปเบเปเบเบเบเปเบฒเบ 'เปเบเบทเปเบญเบกเบเปเป' เปเบเบซเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเบญเบเปเบซเบผเปเบ. Cons เบเบฐเบเบปเปเบเบซเบฒเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒเปเบ
เบเบฒเบเบชเปเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเบญเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบฒเบเปเบเปเบเบปเปเบเปเบกเป repository.
เบกเบฒเบเบเบฐเบเบฒเบ เปเบเบปเปเบฒเบซเบกเบฒเบ
เบเบปเบเบเปเบงเบฒเปเบเบเบฑเบเบเบธเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบฒเบเปเบญเบตเปเบ Cons เบเบฑเบเปเบเบปเปเบฒเบซเบกเบฒเบเบเบตเปเบเบฑเบเปเบเบเปเบเบทเปเบญเบชเปเบฒเบ:
% cons เบชเบฐเบเบฒเบเบเบต
เปเบเบเบเบปเบเบเบฐเบเบด, Cons เบเปเปเปเบเปเบชเปเบฒเบเบชเบดเปเบเปเบ, เปเบงเบฑเปเบเปเบชเบเปเบเปเบเปเบฒเบเบปเบเปเบเบปเปเบฒเบซเบกเบฒเบ, เปเบเปเบฅเบฐเบเบธ '.'
(เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฐเบเบธเบเบฑเบ) เบเบฐเบชเปเบฒเบเบเบธเบเบขเปเบฒเบ:
%cons # เบเปเปเปเบเปเบชเปเบฒเบเบซเบเบฑเบ
% cons . # เบชเปเบฒเบเบเบธเบเบขเปเบฒเบเบเบฒเบเปเบเปเปเบเปเบฅเบเบฐเบเปเบฅเบตเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ
เบเบฒเบเปเบเบตเปเบกเบงเบดเบเบตเบเบฒเบ 'เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ' เปเบชเปเบญเบฑเบเปเบเบเบถเปเบ เบเปเปเบชเปเบฒเบ or เบเบฐเบเบฝเบ เปเบเบฅเปเบเบฐเปเบเบตเปเบกเบเบตเปเบเปเบฒเบเบปเบเปเบงเป
เปเบเบปเปเบฒเบซเบกเบฒเบเปเบเบซเบฒเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเปเบเบปเปเบฒเบซเบกเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ. Cons เบเบฐเบชเปเบฒเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบซเบผเบปเปเบฒเบเบตเปเบเปเบฒเบเปเปเบกเบต
เปเบเบปเปเบฒเปเบฒเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเปเบชเบฑเปเบเบเบณเบชเบฑเปเบ. เบเบฑเปเบเบเบฑเปเบเบเบฒเบเปเบเบตเปเบกเปเบชเบฑเปเบเบเปเปเปเบเบเบตเปเปเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ
เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบเบฐเปเบฎเบฑเบเบเบฒเบกเบเบถเบเบเบดเบเปเบฒเบเบปเบเบเบฐเบเบดเบเบญเบ Make เบเบญเบเบเบฒเบเบชเปเบฒเบเบเบธเบเบขเปเบฒเบเบเบฒเบกเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ:
เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ '.';
เบเปเปเปเบเบเบตเปเบเบฐเปเบเบตเปเบก เบชเบฐเบเบฒเบเบเบต เปเบฅเบฐ เบฅเบฒเบเปเบญเบ เบเปเบฒเบชเบฑเปเบ (เบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฝเบงเบเบฑเบเบเบฑเบ
เบเปเปเบชเปเบฒเบ or เบเบฐเบเบฝเบ เปเบเบฅโเปโ) เบเบฑเบโเบเบฑเบโเบเบตโเบฅเบฒเบโเบเบฒเบโเปเบฅเบตเปเบกโเบเบปเปเบโ:
เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ qw(
เบชเบฐเบเบฒเบเบเบต
เบฅเบฒเบเปเบญเบ
);
เบงเบดเบเบตเบเบฒเบ 'เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ' เบญเบฒเบเบเบฐเบเบทเบเบเปเบฒเปเบเปเบซเบผเบฒเบเบเบงเปเบฒเบซเบเบถเปเบเบเบฑเปเบเปเบเบทเปเบญเปเบเบตเปเบกเปเบเบปเปเบฒเบซเบกเบฒเบเปเบชเปเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเปเบฅเบตเปเบกเบเบปเปเบ.
Selective เบชเปเบฒเบเบเบถเปเบ
Cons เบชเบฐเบซเบเบญเบเบชเบญเบเบงเบดเบเบตเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบซเบผเบธเบเบเปเบญเบเบเบฐเบซเบเบฒเบเบเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบซเป. เบเปเบฒเบญเบดเบเปเบกเปเบเปเบเบเบเบฒเบเบฅเบฐเบเบธ
เปเบเบปเปเบฒเบซเบกเบฒเบเบขเบนเปเปเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ, เปเบฅเบฐเบญเบฑเบเบเบตเบชเบญเบเปเบกเปเบเบงเบดเบเบตเบเบฒเบเบเบฑเบเบเบปเปเบเปเบกเปเบเปเปเบชเปเบฒเบ. เบเบต
เบเบดเบเบฒเบฅเบฐเบเบฒเบชเบฐเปเบเบฒเบฐเปเบเบปเปเบฒเปเบฒเบเบเปเบญเบ.
Selective เบเบฒเบเบเปเบฒเบซเบเบปเบเปเบเบปเปเบฒเบซเบกเบฒเบ
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเปเบฎเบฑเบเปเบซเป, Cons เบญเบฐเบเบธเบเบฒเบเปเบซเปเบชเบฐเปเบเบฒเบฐเบเบญเบ `` เปเบเบปเปเบฒเบซเบกเบฒเบ '' เปเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ. Cons เปเบเบปเปเบฒเบซเบกเบฒเบ
เบญเบฒเบเบเบฐเปเบเบฑเบเปเบเบฅเปเบซเบผเบทเปเบเปเบฅเบเบฐเบเปเบฅเบต. เปเบกเบทเปเบญเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบทเบเบฅเบฐเบเบธ, เบเบตเปเปเบกเปเบเบเบฝเบเปเบเปเบชเบฑเปเบ
เบซเบกเบฒเบเปเบซเบเบกเบทเบชเปเบฒเบฅเบฑเบเบเบธเบเปเบเบฐเบฅเบดเบเบเบฐเบเบฑเบ - เบเบตเป Cons เบฎเบนเปเบเปเบฝเบงเบเบฑเบ - เปเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเป
directory เปเบฅเบฐเบเปเบฒเบเบฅเบธเปเบกเบเบตเป. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ:
% cons build/hello/hello.o
เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเปเปเบชเปเบฒเบ เบชเบฐเบเบฒเบเบเบต เปเบฅเบฐเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฑเปเบ เบชเบฐเบเบฒเบเบเบต เบญเบฒเบเบเบฐเบเปเบญเบเบเบฒเบ. เบเบตเปเปเบกเปเบเบกเบฒเบเบฒเบเบเบตเปเบเปเบฒเบเบกเบฒ
เบชเบฐเบเบฑเบเบเบญเบ เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ! เปเบเบโเบเบฒเบโเบเบตเปโ เบชเบฐเบเบฒเบเบเบต เบเบถเปเบเบเบฑเบ
เบชเบปเปเบเบญเบญเบ/include/world.h. เบเปเบฒเปเบเบฅเปเบเบฑเปเบเบเปเปเบเบฑเบเบชเบฐเปเป (เปเบเบฒเบฐเบงเปเบฒเบกเบตเบเบปเบเบเบฑเบเปเบเป
src/world/world.h), เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบกเบฑเบเบเบฐเบเบทเบเบชเปเบฒเบเปเบซเบกเป, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบกเบฑเบเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบเบเบฒเบ
build/เบชเบฐเบเบฒเบเบเบต.
เปเบเบเบปเบงเบขเปเบฒเบเบเบตเป:
% cons เบเปเปเบชเปเบฒเบ
เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบขเบนเปเปเบ เบเบฒเบเบเปเปเบชเปเบฒเบ เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบทเบเบชเปเบฒเบเบเบถเปเบ, เบเปเบฒเบเปเบฒเปเบเบฑเบ. เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบเบตเปเบญเบฒเบเบเบฐเปเบฎเบฑเบเปเบซเปเปเบเบฅเปเบซเบผเบฒเบ
เบเบตเปโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบเปเปโเบชเปเบฒเบโ. เปเบเบเบชเบฐเปเบเบฒเบฐ, เบเบฑเบเบชเบญเบ เบชเบปเปเบเบญเบญเบ/include/world.h เปเบฅเบฐ เบชเบปเปเบเบญเบญเบ/lib/libworld.a เบกเบต
เบเปเบญเบเบเบฒเบเปเบเบ build/เบชเบฐเบเบฒเบเบเบต เปเบเปเบฅเบเบฐเบเปเบฅเบต, เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบเบเบงเบเบกเบฑเบเบเบฐเบเบทเบเบชเปเบฒเบเบเบทเปเบเบเปเบฒเบเบงเบเปเบเบปเบฒเบฅเปเบฒเบชเบฐเปเบซเบก.
เบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบ, เปเบเบเบเบตเปเบเบฐ:
% cons เบชเบปเปเบเบญเบญเบ
เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเบฝเบโเปเบเปโเปเบเบฅโเปโเบเบตเปโเบเบงเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบเบดเบโเบเบฑเปเบโเปเบโเบฅเบฐโเบเบปเบโเบเบฒเบโเบชเบปเปเบโเบญเบญเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบชเปเบฒเบโเปเบซเบกเปโ, เบเปเบฒโเบซเบฒเบโเบงเปเบฒโ
เบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบดเบเบเบฑเปเบเบขเบนเปเบเบตเปเบเบฑเปเบ. เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ 'cons build' เบญเบฒเบเบเบฐเบชเปเบฒเบเปเบเบฅเปเบเบตเป 'cons
เบเบฒเบเบชเบปเปเบเบญเบญเบ 'เบเปเปเปเบเปเบชเปเบฒเบ, เปเบฅเบฐเปเบเบเบฒเบเบเบฑเบเบเบฑเบ.
No ``เบเบดเปเบชเบ'' เปเบเบปเปเบฒเบซเบกเบฒเบ
เบเปเบงเบเบเปเปเปเบชเบ, เบเบฒเบเบชเปเบฒเบเปเบเบ '`เบเบดเปเบชเบ' เปเบเบปเปเบฒเบซเบกเบฒเบเปเบกเปเบเบเปเปเบเปเบฒเปเบเบฑเบ. เบเบฒเบเบเบฝเบเบเบฝเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเบตเปเบชเบธเบเบเบฑเบ Cons
เปเบกเปเบโเบเบฒเบโเบเปเบฒโเปเบเปโเบเบดโเปเบชเบโ เบเบฒเบเบชเบปเปเบเบญเบญเบ เปเบเปเบฅเบเบฐเบเปเบฅเบต, เปเบเบเบเบตเปเบเบฐ. เบเบปเบงเบขเปเบฒเบ, เปเบซเปเบชเบปเบกเบกเบธเบเบงเปเบฒเบเปเบฒเบเบกเบต a
เบเบธเบเบเบฒเบเบเบปเบเบชเบญเบเบเบฑเบเปเบปเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบฅเบฐเบซเบฑเบเบเบญเบเบเปเบฒเบ. เบเบฒเบเบเบปเบเบชเบญเบเบเปเบฒเบฅเบปเบเบเบตเบงเบดเบเบขเบนเปเปเบ
เปเบซเบผเปเบเบเบตเปเบขเบนเปเปเบเปเบเบฑเบเบฅเบฐเบซเบฑเบ. เปเบเบเบเบปเบเบเบฐเบเบด, เปเบเบงเปเบเบเปเปเบเบฒเบก, เบเปเบฒเบเบเปเปเบเปเบญเบเบเบฒเบเบชเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบเปเบซเบผเบปเปเบฒเบเบตเป.
เบเบฒเบเปเบเปเปเบเบซเบเบถเปเบเปเบกเปเบเปเบเบทเปเบญเบชเบฐเบซเบเบญเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบฒเบเบเปเปเบชเปเบฒเบเบเบฑเบเบซเบกเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ
เบเบดเบเบเบฑเปเบเบเบฒเบเบเบปเบเบชเบญเบเปเบเบปเปเบฒเปเบเปเบเบเบฒเบเบชเปเบงเบเปเบเบเบเปเบฒเบเบซเบฒเบเบเบญเบเบเบปเปเบเปเบกเป. เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบดเบเบเบฑเปเบเบเบฒเบเบเบปเบเบชเบญเบเปเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ
เปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบญเบตเปเบเบงเปเบฒ เบเบฒเบเบเบปเบเบชเบญเบ, เบเบฒเบเบเบฑเปเบ:
% cons เบเบฒเบเบเบปเบเบชเบญเบ
เบเบฐโเบชเปเบฒเบโเบเบฒเบโเบเบปเบโเบชเบญเบโเบเบฑเบโเบซเบกเบปเบโ.
% cons เบชเบปเปเบเบญเบญเบ
เบเบฐเบชเปเบฒเบเบชเบฐเบเบฑเบเบเบฒเบเบเบฐเบฅเบดเบเบเบญเบเบฅเบฐเบเบปเบ (เปเบเปเบเปเปเปเบกเปเบเบเบฒเบเบเบปเบเบชเบญเบ), เปเบฅเบฐ:
% cons เบเปเปเบชเปเบฒเบ
เบญเบฒเบเบเบฐเบซเบผเบตเบเปเบงเบฑเปเบเปเบเป (เปเบเบทเปเบญเบเบเบฒเบเบกเบฑเบเบเบฐเบฅเบงเบเบฅเบงเบกเบเบฒเบเบเบปเบเบชเบญเบเปเบเบเบเปเปเบเปเบฒเปเบเบฑเบ).
เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเปเบฒเบโเบเปเบญเบโเบเบฒเบโเบเบตเปโเบเบฐโเบชเปเบฒเบโเบเบฝเบโเปเบเปโเบเบฒเบโเบเบปเบโเบชเบญเบโเบเบฝเบงโ, เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒเบโเบชเบฒโเบกเบฒเบโเบเบฑเปเบโเบเบทเปโเบเบฒเบโเบเบปเบโเบชเบญเบโเบขเปเบฒเบโเบเบฑเบโเปเบเบ (เปเบโ
เบเปเปเบงเปเบฒเบเบฐ เบเบฒเบเบเบปเบเบชเบญเบ เปเบเปเบฅเบเบฐเบเปเบฅเบตเบซเบผเบท เบเบฒเบเบเปเปเบชเปเบฒเบ เปเบเปเบฅเบเบฐเบเปเบฅเบต). เบเบญเบเบเบฑเปเบเบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเบฅเบงเบเบฅเบงเบกเบเบฒเบเบเบปเบเบชเบญเบเปเบเป
เปเบเบปเปเบฒเปเบเปเบเบฅเปเบฒเบเบฑเบเบเบฑเปเบเบเบตเปเบชเบฐเบเบงเบเบเบฒเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฒเบเบเบปเบเบชเบญเบ. เบฅเปเบฒเบเบฑเบเบเบฑเปเบเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบ
เบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบปเบเบเบฑเบเบฅเปเบฒเบเบฑเบเบเบฑเปเบเบเบญเบเปเบซเบผเปเบ, เปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบฝเบงเบเบฑเบเบเบฑเบเบฅเปเบฒเบเบฑเบเบเบฑเปเบ
เบญเบฒเบเบเบฐเบเปเปเบเบปเบเบเบฑเบเบฅเปเบฒเบเบฑเบเบเบฑเปเบเบเบญเบเปเบซเบผเปเบ (เบเบฒเบเบฅเบงเบกเปเบญเบปเบฒเบฅเปเบฒเบเบฑเบเบเบฑเปเบเบเปเปเบซเบเปเบฒเบเบฐเปเบเบฑเบเบซเบผเบฒเบ
เปเบฅเบดเบเบเบงเปเบฒเบชเบญเบเบฅเบฐเบเบฑเบ, เบชเปเบฒเบฅเบฑเบเปเบเบเบเบฒเบ C).
เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบขเบนเปเปเบเบเบปเปเบเปเบกเป (เบเบถเปเบเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบเปเปเบเบฒเบก
เปเบฅเบทเบญเบ), เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป:
% cons .
เบเบตเปเบเปเปเปเบกเปเบเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบเบเบชเบฐเปเบเบฒเบฐ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบกเบฑเบเบเปเปเบฒเบเบฑเบเบเบฐเบเปเบฒเบเบเบปเปเบเปเบกเปเบเบฑเบเบซเบกเบปเบ,
เบฅเบงเบกเบเบฑเบเบเบปเปเบเปเบกเปเบเบตเปเบกเบฒเบเบฒเบ. เบเบปเปเบเปเบกเปเปเบซเบผเปเบ, เปเบเปเบเบญเบ, เบญเบฒเบเบเบฐเบกเบตเบงเบฑเบเบเบธเบเบตเปเบชเบฒเบกเบฒเบเบชเปเบฒเบเปเบเป
เบกเบฑเบ - เบเปเปเบกเบตเบซเบเบฑเบเบขเบธเบเปเบเบปเปเบฒเบเบฒเบเบเบฒเบเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบปเบเบเบฐเบเบดเบเปเบฒเบเบเบฐเบชเปเบฒเบเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบ
เบเบปเปเบเปเบกเป.
เบชเปเบฒเบ เบเบฒเบเบญเบญเบ เบเบณ เบฅเบฑเบเบเบฒเบ
เบชเบปเบกเบเบปเบเบเบฑเบเบเบฒเบเบเบฑเบเปเบฅเบทเบญเบเปเบเบปเปเบฒเบซเบกเบฒเบ, เบเบฒเบเบเปเปเบชเปเบฒเบ pruning เบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบซเบผเบธเบเบเปเบญเบเบเบญเบเปเบเบเบเบญเบ
เบชเปเบฒเบ. เปเบเบเบปเบงเบขเปเบฒเบ peAcH เปเบฅเบฐ baNaNa เบเบตเปเบเปเบฒเบเบกเบฒ, เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบซเบฑเบเปเบฅเปเบงเบงเปเบฒ script-driven
เบเบฒเบเบเปเปเบชเปเบฒเบ pruning เบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบฝเบเปเบเปเปเบเบดเปเบเบซเบเบถเปเบเบเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบกเบตเบเปเบฒเปเบฎเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบซเปเปเบเป
เบเบฒเบเบฎเบฝเบเบฎเปเบญเบเบเบญเบ 'cons'. Cons เบเบฑเบเบชเบฐเบซเบเบญเบ, เปเบเบฑเบเบเบงเบฒเบกเบชเบฐเบเบงเบ, เบชเบปเบเบเบดเบชเบฑเบเบเบฒเบเบฑเบเบเบฑเบเบเปเบฒเบชเบฑเปเบเบเบตเป
เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบฅเบฐเบเบธเบงเปเบฒเบญเบฑเบเปเบ เบเบฐเบเบฝเบ เปเบเบฅเปเบเบปเบงเบเบดเบเปเบเปเบฎเบฑเบ ''เบชเปเบฒเบ' -- เบเบฑเปเบเปเบกเปเบ, เบเบฐเบเบญเบ
เปเบเบปเปเบฒเปเบเปเบเบเบปเปเบเปเบกเปเบเปเปเบชเปเบฒเบ. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ:
% cons เบเปเปเบชเปเบฒเบ + เปเบฅเบ
argument `+' เปเบเบฐเบเปเบฒเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบปเบเบเบฐเบเบด Perl. เบเบตเป, เปเบเปเบเบญเบ, เปเบเปเบเบทเบเบญเปเบฒเบเปเบเบดเบเบขเบนเปเบเบตเป
เบฅเบฐเบเบฑเบ shell เบเปเบฒเบกเบตเบเบปเบงเบฅเบฐเบเบญเบเปเบกเบเบฒเบเบญเบ shell เบเบฒเบเปเบเบชเบฐเปเบเบเบญเบญเบ. เปเบเป
เบเบฒเบเบชเบฐเปเบเบเบญเบญเบเปเบกเปเบเบเบปเบเบเบฑเบเปเบเปเบฅเบฐเบเบปเบ เบเบฐเบเบฝเบ เปเบเบฅเปเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเปเบ 'เบชเปเบฒเบ'
เบเปเบฒเบเบฐเปเบซเบผเบเบเบฒเบ, เปเบฅเบฐเบเบฝเบเปเบเป scripts เบเบตเปเบกเบตเบเบทเปเบเบตเปเบเบปเบเบเบฑเบเปเบกเปเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเบเบปเบงเบเบดเบ
เบชเปเบฒเบเบเบปเปเบเปเบกเป. เบญเบฐเบเบธเบเบฒเบเปเบซเปเบกเบตเบเบฒเบเปเบเปเบเบฝเบเบเบฑเปเบเบเปเบฒเบงเบซเบผเบฒเบเบญเบฑเบ, เปเบเบเปเบฅเบฐเบเบตเบเบตเปเบกเบตเบเบฒเบเบเบฑเบเบเบนเปเบเบฑเบเบญเบฑเบเปเบเบญเบฑเบเปเบถเปเบเบเบญเบเบกเบฑเบ
เปเบกเปเบเบเบฝเบเบเปเบเบตเปเบเบฐเปเบฎเบฑเบเปเบซเปเบชเบฐเบเบฃเบดเบเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒ.
เปเบเบเบปเบงเบขเปเบฒเบเบเปเบฒเบเปเบเบดเบ, the เบชเบฐเบเบฒเบเบเบต เปเบเบเบเบฒเบเบเบฐเบเปเปเบเบทเบเบชเปเบฒเบเบเบถเปเบ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ Cons เบเบฐเบเปเปเบกเบต
เบเบงเบฒเบกโเบฎเบนเปโเบเบญเบ script เปเบเปโ เบชเบฐเบเบฒเบเบเบต/Conscript. เปเบเป libworld.a เบฎเบงเบเบฎเบงเบกเบเบฐเบเบทเบเบชเปเบฒเบ, เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบฒ
เบเปเบญเบเบเบฒเบ.
เบกเบตเบชเบญเบเบชเบฒเบกเบเบฒเบเบเปเบฒเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบ pruning เบเปเบฒเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ. เบเบฒเบเบเบตเบญเบฒเบเปเบเบฑเบเบเบฐเปเบซเบเบเบเบตเปเบชเบธเบ
เปเบกเปเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเปเบฝเบเปเบเบเบเปเบญเบเบเบดเปเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบกเบตเบเบงเบฒเบกเบฎเบนเปเบเบฝเบเบเปเบเบญเบ
เบเบปเบเบชเบฐเบเปเบญเบเบเบญเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบซเบผเบปเปเบฒเบเบฑเปเบ, เบเปเบฒเบเบฑเบเบเบฐเบซเบเบฒเบเบเบญเบเบเบปเปเบเปเบกเปเบเปเปเบชเปเบฒเบเปเบเบทเปเบญเปเบฅเบฑเปเบ
เบเบตเปเปเบเปเปเบงเบฅเบฒเบเปเปเบชเปเบฒเบเปเบซเบกเป. เบเบฒเบเบเปเบฒเปเบเปเบเบตเบชเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบ pruning เปเบกเปเบเปเบเบทเปเบญเบเปเบญเบเบเบฑเบเบขเปเบฒเบเบเบดเบเบเบฑเบ recompilation
เบเบญเบเบเบฒเบเปเบเบฅเปเบเบตเปเบเปเบฒเบเบฎเบนเปเบงเปเบฒเบเบฐเบฅเบงเบเบฅเบงเบกเบเบทเบเปเบเบทเปเบญเบเบเบฒเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เปเบเบฅเป header เบเบฑเบเปเบเป.
เบเปเบฒเบเบญเบฒเบเบเบฐเบฎเบนเปเบงเปเบฒเบเบฒเบเบเปเบฝเบเปเบเบเบเบญเบเปเบเบฅเป header เปเบกเปเบเบเปเปเบชเปเบฒเบเบฑเบ, เบซเบผเบทเบงเปเบฒ
เบเบฒเบโเบเปเบฝเบโเปเบเบโเบญเบฒเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบฅเบฐโเปเบฅเบตเบโเบขเปเบฒเบโเบเบญเบโเปเบโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบซเบผเบฒเบโเบเบตเปโเบชเบธเบโเบเบญเบโเบเบปเปเบโเปเบกเปโ, เบชเปเบฒโเบฅเบฑเบโเบเบธเบโเบเบฐโเบชเบปเบโเบเบฒเบโเบเบปเบโเบชเบญเบโ.With Consโ, เปเบเปโ
เบเบฑเบเบชเบฐเบเบฐเปเบกเปเบเบงเปเบฒเบกเบฑเบเปเบเบฑเบ pragmatic เบเบตเปเบเบฐเบเบญเบกเบฎเบฑเบเบเบฐเปเบเบเบเบญเบเบเบถเบเบเบดเบเปเบฒเบเบตเป, เบเปเบงเบเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบเบตเป
เปเบโเบเบฒเบโเบเปเปโเบชเปเบฒเบโเปเบเบฑเบกโเบเบตเปโเบเปเปโเปเบโเบเบธเบโเบชเบดเปเบโเบเบธเบโเบขเปเบฒเบโเบเบตเปโเบเบฐโเบเปเบญเบโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบเปเปโเบชเปเบฒเบโเปเบซเบกเปโเบเบฐโเปเบเบฑเบโ. เบเปเปเบกเบตเบเบฒเบเบเบฝเบเปเบเบปเปเบฒ
เปเบเบซเบฒเบเปเบฒเบชเบฑเปเบ ``เปเบฎเบฑเบเปเบซเปเบชเปเบฒเบเบฑเบ'', เปเบเบทเปเบญเปเบฒเบเปเบเบฅเปเบงเปเบฒเบญเบฑเบเปเบเบเบขเปเบฒเบเบเบฒเบงเบญเบ. เบเบฑเปเบเบเบฑเปเบเบเบงเบฒเบกเบชเปเบฝเบเปเบเปเบเบตเปเปเบเบฑเบ
เบเบตเปเปเบเบตเบเบเบถเปเบเปเบเบเบเบฒเบเบชเปเบฒเบ pruning เปเบกเปเบเบซเบผเบธเบเบเปเบญเบ. เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบตเปเบกเบตเบเบธเบเบเบฐเบเบฒเบเบเบฒเบเบเปเบญเบ, เปเบเปเบเบญเบ, เบเบงเบเปเบฎเบปเบฒเปเบเบฐเบเปเบฒ
เบงเปเบฒเบเปเบฒเบเบเปเปเปเบเปเปเบเปเบเบฒเบเบเปเปเบชเปเบฒเบ pruning (เบกเบฑเบเปเบซเบกเบฒเบฐเบชเบปเบกเบขเปเบฒเบเบชเบปเบกเบเบนเบเบเบตเปเบเบฐเปเบเปเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบ, เปเบเบงเปเบเบเปเปเบเบฒเบก,
เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเปเปเบกเบนเบ, เปเบฅเบฐเบญเบทเปเบเป. เบเบฝเบเปเบเปเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบฐเบชเปเบฒเบ unconstrained เบเปเบญเบเบเบตเปเบเบฐ committing
เบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบ).
เบเบปเปเบงเบเบฒเบง overrides
Cons เบชเบฐเบซเบเบญเบเบเบปเบเปเบเบเบตเปเบเปเบฒเบเบเบฒเบเบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบ overriding เบฅเบฑเบเบชเบฐเบเบฐเบเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบ. เปเบเบเปเบเบทเปเบญเปเบเปเปเบฅเปเบงเปเบกเปเบ
เบงเปเบฒเบเปเบฒเบเบเบฝเบเปเบเบฅเป override เบเบตเปเบกเบตเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบเบเปเบฒเบชเบฑเปเบ 'override', เปเบฅเบฐเบเปเบฒเบ
เบฅเบฐเบเบธเบกเบฑเบเบขเบนเปเปเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ, เปเบกเบทเปเบญเบเปเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ 'cons':
% cons -o เบซเบผเบฒเบเบเบงเปเบฒเบเบฒเบเบชเบปเปเบเบญเบญเบ
เบเบฐเบชเปเบฒเบ เบเบฒเบเบชเบปเปเบเบญเบญเบ เปเบเปเบฅเบเบฐเบเปเบฅเบต, เบเบฑเบเปเบเบฅเปเบเบตเปเบกเบฒเบเบฒเบเบเบฑเบเบซเบกเบปเบเบเบถเปเบเบเบฑเบเบเบฒเบ overrides เบเบฐเบเบธเบเบฑเบ
เปเบ เปเบเปเบฅเบเบฐ เปเบเบฅเป. เบเปเบฒเบเปเบฒเบเบญเบญเบเบเบฒเบเบเบฒเบเปเบฅเบทเบญเบ '-o', เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบตเปเบเปเบฒเปเบเบฑเบเบเบตเปเบเบฐเปเบญเบปเบฒเบญเบญเบ
เบเบฒเบเบเบปเบเปเบฅเบตเบเบเบฑเบเปเบปเบเบเบฐเบเบทเบเบชเปเบฒเบเปเปเป.
เบเปเบฒเบก เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก เบเบปเบงเปเบ
เปเบเบฅเป override เบชเบฒเบกเบฒเบเบกเบตเบชเบญเบเบเบฐเปเบเบเบเบญเบเบเบฒเบ overrides. เบเปเบฒเบญเบดเบเปเบกเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเปเบเบปเปเบฒเบกเบฒ
เบเบปเบงเปเบ. เปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบเบปเบเบเบฐเบเบดเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเปเปเบเบ เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบเบฒเบเปเบเบฑเบ `%ENV'
เบเบปเบงเปเบ. เบชเบดเปเบเปเบซเบผเบปเปเบฒเบเบตเปเบชเบฒเบกเบฒเบ overridden trivally เปเบเปเบเบฅเป override เปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒ
เบญเบปเบเบเบฐเบเบญเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบญเบ `%ENV' (เบชเบดเปเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบฅเบปเบเบฅเปเบฒเบเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบญเบเบเบนเปเปเบเป,
เปเบเปโเบเบญเบ).
เปเบเป Override เบเปเบฒเบชเบฑเปเบ
เบเบฐเปเบเบเบเบตเบชเบญเบเบเบญเบเบเบฒเบ override เปเบกเปเบเบชเปเบฒเปเบฅเบฑเบเบเปเบงเบเบเปเบฒเบชเบฑเปเบ 'override', เปเบเบดเปเบเปเบเบดเปเบเบเบทเบงเปเบฒ
เบเบตเป:
เบฅเบปเบเบฅเปเบฒเบ , => , => , ... ;
เบเบฒเบเบชเบฐเปเบเบเบญเบญเบเปเบเบฑเบเบเบปเบเบเบฐเบเบด regexp เบเบทเบเบเบฑเบเบเบนเปเบเบฑเบเบเบธเบเปเปเบเบฅเปเบเบตเปเบกเบฒเบเบฒเบเบเบนเปเบชเบฐเบซเบกเบฑเบ
เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบ. เบเปเบฒเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒเบเบปเบเบเบฑเบ, เบเบนเปเบเบปเบงเปเบ/เบเปเบฒเบเบทเบเปเบเปเปเบเบทเปเบญ
override เบเบธเบเบเปเบฒเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒ.
เบชเบปเบกเบกเบธเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบกเบตเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเบฑเปเบเบเบตเป:
$CONS = เบเปเปเปเบชเบเปเปเป(
COPT => '',
CDBG => '-g',
CFLAGS => '%COPT %CDBG',
);
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบกเบตเปเบเบฅเป override เปเบเปเบฅเบเบฐ เบเบฐเบเบญเบเบเปเบงเบเบเปเบฒเบชเบฑเปเบเบเบตเป:
เปเบเบเบเบตเป '\.o$', COPT => '-O', CDBG => '';
เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบ "consโ" เบเบตเปโเบกเบต "-o overโ" เบเบตเปโเบชเปเบฒเบโ .o เปเบเบฅเปเปเบเบเบเปเบฒเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเบเบฐ
เปเบฎเบฑเบเปเบซเปเบเบงเบเบกเบฑเบเบเบทเบเบฅเบงเบเบฅเบงเบกเบเปเบงเบ `-O 'เปเบฅเบฐเบเปเปเบกเบต `-g'. เบเบฒเบ override เบชเบฒเบกเบฒเบ, เปเบเปเบเบญเบ, เปเบเบฑเบ
เบเปเบฒเบเบฑเบเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฝเบงเปเบเบเบเบฒเบเบเบฑเบเปเบฅเบทเบญเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบญเบเบเบฒเบเบชเบฐเปเบเบเบเบปเบเบเบปเบเบเบฐเบเบด.
เบเบตเปเปเบกเปเบเบชเบฐเบเบฑเบเบเบปเปเบเบชเบฐเบเบฑเบเบเบญเบ Hello, World! เปเบเบเบเบฒเบ, เบชเปเบฒเบเบเบถเปเบเบเปเบงเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเป.
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ Cons เบเปเปเบชเปเบฒเบเบเบดเปเบเบชเปเบงเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบทเบเปเบซเบกเปเปเบกเบทเปเบญเบเบฒเบ override เบเบทเบเบเปเบฒเปเบเปเบซเบผเบทเปเบญเบปเบฒเบญเบญเบ:
% cons เบชเบฐเบเบฒเบเบเบต
cc -g -c hello.c -o hello.o
cc -o เบชเบฐเบเบฒเบเบเบต hello.o
% cons -o เบซเบผเบฒเบเบเบงเปเบฒเบชเบฐเบเบฒเบเบเบต
cc -O -c hello.c -o hello.o
cc -o เบชเบฐเบเบฒเบเบเบต hello.o
% cons -o เบซเบผเบฒเบเบเบงเปเบฒเบชเบฐเบเบฒเบเบเบต
cons: "เบชเบฐเบเบฒเบเบเบต" เปเบกเปเบเบเบฑเบเบชเบฐเปเบซเบก.
% cons เบชเบฐเบเบฒเบเบเบต
cc -g -c hello.c -o hello.o
cc -o เบชเบฐเบเบฒเบเบเบต hello.o
เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบชเปเบฒเบเบฑเบเบเบตเปเบเปเบฒเบชเบฑเปเบ 'Override' เบเบฝเบเปเบเปเบเบทเบเบเปเบฒเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเปเบงเบเบฒเบง, เปเบเปเบงเบฅเบฒเบเบดเบ
overrides เบเบตเปเบเปเบฒเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเบฒเบฐเบงเปเบฒ overrides เบเปเปเปเบกเปเบเปเบงเบเบตเปเบญเบเบฐเบฅเบฒเบเปเบฅเบฐ
เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบญเบตเบเปเบชเปเบเบงเบฒเบกเบฎเบนเปเบเบตเปเปเบเปเบเบดเบเปเบเบตเบเปเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบชเบฐเบเบดเบ. เบชเปเบฒเบฅเบฑเบ
เบเบฒเบเบเปเบฒเปเบเปเบเบปเปเบงเบเบฒเบง, เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบกเปเบเปเบเปเบชเบดเปเบเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบ.
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบกเบฑเบเบเบฑเบเปเบเบฑเบเบเบฐเปเบซเบเบเบเบตเปเบเบฐเบชเบฐเบซเบเบญเบ, เปเบงเบปเปเบฒ, เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบชเปเบฒเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบขเปเบฒเบเปเบเบฑเบกเบชเปเบงเบ
เบฎเบธเปเบเบเบญเบเบฅเบฐเบเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเบฐเบฅเบดเบ - เบเบฒเบ เบเปเปเบชเปเบฒเบ เปเบฅเบฐ เบเบฐเบเบฝเบ เปเบเบฅเป. เบงเบดเบเบตเบเบตเป
เบเปเบฒเบโเบชเบฒโเบกเบฒเบโเบเบฑเบโเบฅเบฐโเบเบปเบโเบเบตเปโเปเบซเบกเบฒเบฐโเบชเบปเบกโเบเบฑเบโเปเบงโเบเบตโ. เบเปเบญเบเบเบตเป optimizer เบเบฒเบเบเปเบฒ offs เบเปเบญเบเบเบฒเบ
เปเบฎเบฑเบ (เปเบเบฅเปเปเบเบเบชเบฐเปเบเบฒเบฐเบญเบฒเบเบเบฐเบเปเปเบเบทเบเบฅเบงเบเบฅเบงเบกเบเปเบงเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบเบฑเบก, เบเบปเบงเบขเปเบฒเบ), เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ
เปเบซเบผเบปเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเบชเปเบฒเบฅเบฑเบเบฅเบนเบเบซเบฅเบฒเบ (เปเบฅเบฐเบเบฒเบเบชเบทเบเบเบฑเบ) เปเบเบเบเบปเบเปเบเบชเบฐเบเบดเบ.
เปเบเบตเปเบกเปเบเบตเบก on เบเบฒเบเบเปเปเบชเปเบฒเบ เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก
เบกเบฒเบเบเบฐเบเบฒเบ เบเบฒเบเบเปเปเบชเปเบฒเบ เบเบปเบงเปเบ
เบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเบงเปเบเบดเบ, เปเบฅเบฐเบเปเบฒเปเบเป, เปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบ a เบเบฒเบเบเปเปเบชเปเบฒเบ เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก, เบซเบผเบฒเบเบเบฑเปเบเปเบ
เปเปเบฒเบเปเบญเบเปเปเบฒ. เบเบฝเบงเบเบตเปเปเบเบดเบเปเบงเบฅเบฒเปเบฅเปเบงเบเบตเปเบเบฐเปเบฎเบฑเบเบญเบฑเบเบเบตเปเปเบซเปเบเบฒเบเปเบเบฑเบเบชเบตเบกเบฑเบเบซเบผเบฒเบ. เบกเบตเบเบฑเปเบเบเปเปเปเบเบเบตเป
เบเบฐเปเบซเบผเบเบเบฒเบ:
$env = new cons();
เบเบฒเบเบญเปเบฒเบเบญเบดเบเปเบเบดเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเบซเบกเปเปเบกเปเบเบเบทเบเบชเปเบฒเบเบเบถเปเบ. เบเบตเปเบเบฐเบเบญเบเบกเบตเบเบปเบงเปเบฅเบ
เบเบญเบเบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบฅเบฐเบเบฒเบเบงเบดเบเบตเบเบฒเบ. เปเบเบเบฒเบเบเบฝเบเบเบฐเบเบธเบเบฑเบ, เบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบ
เบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบกเปเบเบเบทเบเบเปเบฒเบเบปเบเบเบฑเปเบเบเปเปเปเบเบเบตเป:
CC => 'cc',
CFLAGS => '',
CCCOM => '%CC %CFLAGS %_IFLAGS -c %< -o %>',
INCDIRPREFIX => '-เบเปเบญเบ',
CXX => '%CC',
CXXFLAGS => '%CFLAGS',
CXXCOM => '%CXX %CXXFLAGS %_IFLAGS -c %< -o %>',
LINK => '%CXX',
LINKCOM => '%LINK %LDFLAGS -o %> %< %_LDIRS %LIBS',
LINKMODULECOM => '%LD -r -o %> %<',
LIBDIRPREFIX => '-L',
AR => 'เบญเบฒ',
ARFLAGS => 'r',
ARCOM => "%AR %ARFLAGS %> %<\n%RANLIB %>",
RANLIB => 'ranlib',
AS => 'เปเบเบฑเบ',
ASFLAGS => '',
ASCOM => '%AS %ASFLAGS %< -o %>',
LD => 'ld',
LDFLAGS => '',
PREFLIB => 'lib',
SUFLIB => '.a',
SUFLIBS => '.so:.a',
SUFOBJ => '.o',
ENV => { 'เปเบชเบฑเปเบเบเบฒเบ' => '/ เบเบฑเบ:/ usr / เบเบฑเบ' },
เปเบเบฅเบฐเบเบปเบ Win32 (Windows NT), เบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเปเปเปเบเบเบตเปเปเบกเปเบ overridden เปเบ
default:
CC => 'cl',
CFLAGS => '/เปเบเปเบฅเปเบ',
CCCOM => '%CC %CFLAGS %_IFLAGS /c %< /Fo%>',
CXXCOM => '%CXX %CXXFLAGS %_IFLAGS /c %< /Fo%>',
INCDIRPREFIX => '/เบเปเบญเบ',
LINK => 'เปเบเบทเปเบญเบกเบเปเป',
LINKCOM => '%LINK %LDFLAGS /out:%> %< %_LDIRS %LIBS',
LINKMODULECOM => '%LD /r /o %> %<',
LIBDIRPREFIX => '/LIBPATH:',
AR => 'lib',
ARFLAGS => '/เปเบเปเบฅเปเบ',
ARCOM => "%AR %ARFLAGS /out:%> %<",
RANLIB => '',
LD => 'เปเบเบทเปเบญเบกเบเปเป',
LDFLAGS => '/nologo ',
PREFLIB => '',
SUFEXE => '.exe',
SUFLIB => '.lib',
SUPLIBS => '.dll:.lib',
SUFOBJ => '.obj',
เบเบปเบงเปเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบทเบเบเปเบฒเปเบเปเปเบเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเบเปเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก, เปเบ
เปเบเบเบชเบฐเปเบเบฒเบฐเบงเบดเบเบตเบเบฒเบเปเบเบเบถเปเบเบเบตเปเบชเบธเบเบเปเบฒเบเปเบญเบตเปเบเบเปเบฒเบชเบฑเปเบเบเบฒเบเบเบญเบเบเบฐเบเบปเบเปเบเบเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเป
เบเบปเบงเปเบเปเบเบปเปเบฒเปเบเปเบเบเปเบฒเบชเบฑเปเบเบชเบธเบเบเปเบฒเบ, เบเบฒเบกเบเบงเบฒเบกเปเบซเบกเบฒเบฐเบชเบปเบก. เบเบปเบงเบขเปเบฒเบ, เบงเบดเบเบตเบเบฒเบ 'เบงเบฑเบเบเบธ' เปเบเปเปเบงเบฅเบฒ
เบเปเบฒ เบเบงเบ เบเบญเบ เปเบเบฅ เป เปเบซเบผเปเบ เปเบฅเบฐ เบเบฑเบ เบเบฒเบ เบเบตเป เบเบฐ เปเบเป เบฎเบฑเบ, เบเปเบฒ เบซเบฒเบ เบงเปเบฒ เบเปเบฒ เปเบเบฑเบ, เบเบธเบ เบเบฐ เบชเบปเบ เบเบตเป เบชเบญเบ เบเปเบญเบ เบเบฑเบ
เปเบเบฅเป. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ:
เบงเบฑเบเบเบธ $env 'foo.c', 'bar.c';
เบเบตเปเบเบฐเบเบฑเบเบเบฒเบเบเบฐเบฅเบดเบ, เบเปเบฒเบเปเบฒเปเบเบฑเบ, foo.o เปเบฅเบฐ bar.o. เบเปเบฒโเบชเบฑเปเบโเบเบตเปโเบฎเบฝเบโเบฎเปเบญเบโเปเบกเปเบโเบเปเบฒเบโเบเบฒเบโ
`%CCCOM', เปเบเบดเปเบเบเบฐเบซเบเบฒเบเปเบเบเบเปเบฒเบเบเบฒเบเบเบปเบเปเบเบ, เปเบเบซเบฒเบเปเบฒเบชเบฑเปเบเบเบฒเบเบเบญเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบตเปเบเปเบญเบเบเบฒเบ
เบเบฒเบเบเปเปเบชเปเบฒเบเปเบเปเบฅเบฐเบงเบฑเบเบเบธ. เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบปเปเบเบซเบฒเบเบปเบเบฅเบฐเบเบฝเบเบเบฒเบเบเบปเบเปเบเบเบเบทเปเบกเบญเบตเบเบเบฒเบเปเบเป "เบเปเบฒเบชเบฑเปเบ"
เบงเบดเบเบตเบเบฒเบ, เบเปเบฒเบเบฅเบธเปเบกเบเบตเป.
เบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบฑเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบธเบเบเบฐเบชเบปเบเบญเบทเปเบเป. เบเบปเบงเบขเปเบฒเบ, 'CPPPATH' เปเบกเปเบ
เปเบเปเปเบเบทเปเบญเบฅเบฐเบเบธเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบเบฑเปเบเบเปเบงเบเบเปเปเบฒเบชเบญเบเปเบกเบฑเบเบเบญเบเบเบฐเบเบญเบเบกเบตเปเบเปเบฅเบเบฐเบเปเบฅเบต. เปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบกเบตเบเบธเบเบเบฐเบชเบปเบ
เบเปเบฒเบเปเบ C preprocessor เปเบฅเบฐเบเบฑเบเบเบทเบเบเปเบฒเปเบเปเปเบเบเปเบเบทเปเบญเบเบเบฑเบเบชเบฐเปเบเบเปเบเบฅเป C เปเบเบทเปเบญ
เบเปเบฒเบเบปเบเบเบงเบฒเบกเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบฅเบงเบเบฅเบงเบก C. เบเบปเบงเปเบเบเบตเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบ
underscore, เบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเบเป, เปเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบงเบเบเบฐเบเบทเบเบเบดเบเบฒเบฅเบฐเบเบฒเบงเปเบฒ "เบเบฒเบเปเบ"
เบเบปเบงเปเบ. เบเบปเบงเบขเปเบฒเบ, เปเบกเบทเปเบญเบงเบดเบเบตเบเบฒเบเปเบญเบตเปเบเบงเปเบฒเบเบตเปเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบชเปเบฒเบเบงเบฑเบเบเบธ
เบเบฒเบเปเบซเบผเปเบ C, เบเบปเบงเปเบ `_IFLAGS' เบเบทเบเบชเปเบฒเบเบเบทเปเบ: เบญเบฑเบเบเบตเปเบเบปเบเบเบฑเบเบเบธเปเบก `-I'
เบเปเบญเบเบเบฒเบเปเบเบ C compiler เปเบเบทเปเบญเปเบเบฑเบเบเบปเบงเปเบเบเบเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบ `CPPPATH'.
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ, เบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบชเบฐเปเบเบฒเบฐเปเบเบซเบเบถเปเบ, เบเปเบฒเบเบญเบเบเบปเบงเปเบเปเบกเปเบเบเบทเบเบเปเบฒเบเบปเบเบซเบเบถเปเบเบเบฑเปเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ
เบเปเปเปเบเบตเบเบฃเบตเปเบเบฑเบ (เปเบเบทเปเบญเบเปเบฝเบเบเบปเบงเปเบ, เบเปเบฒเบเบเปเบญเบเบชเปเบฒเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเปเบซเบกเป. เบงเบดเบเบตเบเบฒเบเปเบกเปเบเบชเบฐเบซเบเบญเบเปเบซเป
เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบฅเบญเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบเบตเป). เบเบฒเบเบเบปเบงเปเบเบเบฒเบเปเบ, เปเบเบฑเปเบ:
`_IFLAGS' เบเบทเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบกเบเบงเบฒเบกเบเปเบญเบเบเบฒเบ, เปเบเปเปเบกเบทเปเบญเบเบฑเปเบเปเบฅเปเบง, เบเบงเบเบกเบฑเบเบเบฑเบเบเบปเบเบเบปเบเบเบตเปเบชเปเบฒเบฅเบฑเบเบเบตเบงเบดเบเบเบญเบ
เบชเบดเปเบเปเบงเบเบฅเปเบญเบก.
เบเบปเบงเปเบ 'CFLAGS', `LDFLAGS', เปเบฅเบฐ `ARFLAGS' เบเบฑเบเปเบปเบเปเบกเปเบเบชเบฐเปเบญเบเบชเบฐเบเบฒเบเบเบตเปเปเบซเปเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบฒเบเบเปเบฒเบเบเบญเบ.
compiler, loader, เปเบฅเบฐ archiver, เบเบฒเบกเบฅเปเบฒเบเบฑเบ. เบซเบเปเบญเบเปเบเปเบเบญเบ, "INCDIRPREFIX"
variable เบเปเบฒเบเบปเบ string เบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเบฐเบเปเปเบเปเบฒเบเบเบฑเบเบเบธเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเปเบเปเบฅเบฐเบเบฐเบเบญเบเบกเบต
เปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบเบทเปเบญเปเบซเป compiler เบฎเบนเปเบเปเบญเบเบเบตเปเบเบฐเบเบญเบเบซเบฒ .h เปเบเบฅเป. เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ, เปเบเป
เบเบปเบงเปเบ 'LIBDIRPREFIX' เบฅเบฐเบเบธเบชเบฐเบเบฃเบดเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเบฐเบเปเปเบเปเบฒเบเบเบฑเบเบเบธเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบ
เปเบเปเบฅเบฐเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบเบนเปเปเบเบทเปเบญเบกเบเปเปเบเบงเบเบเบปเปเบเบซเบฒเบซเปเบญเบเบชเบฐเบซเบกเบธเบ.
เบเบปเบงเปเบเบญเบทเปเบ, `ENV', เบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบฒเบเบปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบญเบเบฅเบฐเบเบปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ
เบเบญเบโเบเปเบฒโเบชเบฑเปเบโเบเบฒเบโเบเบญเบโ. เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฝเบงเบเบตเปเบเบทเบเบเปเบฒเบเบปเบเปเบกเปเบ 'PATH',
เบเบถเปเบเปเบเบฑเบเปเบชเบฑเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบชเบฑเปเบ UNIX. เบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบทเบเบเบฑเบเบชเบนเบเบชเบธเบ, เบเปเบฒเบเบเบงเบ
เบเปเปเบเบฑเบเบงเบฒเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเปเบฒเบเปเบญเบ, เปเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบเบเบญเบเปเบเบปเปเบฒ เบเปเปเบชเปเบฒเบ เปเบเบฅเป (เบซเบผเบท
เบเบฒเบเบเบตเปเบเบเบเบฒเบเบเปเบฒเปเบเบปเปเบฒเบเบธเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบเบเปเบฒเบชเบฑเปเบ Perl `use'). เปเบเป
เบเบปเบงเปเบเปเบฅเบตเปเบกเบเบปเปเบเบกเบตเบเบธเบเบเบฐเบชเบปเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเปเบฒเบเบญเบญเบเบเบฒเบเบเบทเปเบเบเบดเบ.
Interpolating เบเบฒเบเบเปเปเบชเปเบฒเบ เบเบปเบงเปเบ
เบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบญเบฒเบเบเบฐเบเบทเบ interpolated เปเบเปเบซเบผเปเบเปเบฅเบฐเบเบทเปเปเบเบฅเปเปเบเบปเปเบฒเบซเบกเบฒเบ
เปเบเบเบเบฒเบเบเบณเปเปเบฒเบเบทเปเบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเปเบงเบ `%'.
$env = เบเปเปเปเบชเบเปเปเป(
DESTDIR => 'เบฅเบฒเบเบเบฒเบ',
SRCDIR => 'src',
);
เปเบเบเบเบฒเบ $env '%DESTDIR/hello', '%SRCDIR/hello.c';
เบเบฒเบเบเบฐเบซเบเบฒเบเบเบปเบงเบเบญเบเบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบกเปเบ recursive - เบเบฑเปเบเปเบกเปเบ, เปเบเบฅเป เบเบทเป(s) เบเบฐโเปเบเบฑเบโเบเบทเบโเปเบซเบกเป
เบเบฐเบซเบเบฒเบเบญเบญเบเปเบเบเบปเบเบเปเบงเบฒเบเปเปเบชเบฒเบกเบฒเบเบเปเบฝเบเปเบเบเปเบเป. เบเปเบฒเบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเปเปเปเบกเปเบ
เบเบณเบเบปเบเปเบงเปเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก, เบเบฒเบเบเบฑเปเบเบชเบฐเบเบฃเบดเบ null เบเบฐเบเบทเบเบเปเบฝเบเปเบเบ.
เบกเบฒเบเบเบฐเบเบฒเบ เบเบฒเบเบเปเปเบชเปเบฒเบ เบงเบดเบเบตเบเบฒเบ
เบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบงเบดเบเบตเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเบเบญเบเบเบปเปเบเบเบฐเบเบญเบเบกเบตเบเบฑเปเบเบเปเปเปเบเบเบตเป:
เปเบเป `เปเบซเบกเป' เบเบนเปเบเปเปเบชเปเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เปเปเป' เปเบกเปเบเบเบปเบงเบชเปเบฒเบเบงเบฑเบเบเบธ Perl. เบเบฑเปเบเปเบกเปเบ, เบกเบฑเบเบเปเปเปเบเปเบเบทเบเปเบญเบตเปเบเบเปเบฒเบเปเบญเบเบฐเบชเบฒเบเบญเปเบฒเบเบญเบตเบ
เบเบฑเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง เบญเปเบฒเบเบญเบดเบ, เปเบเป, เปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบชเบฐเบเบดเบเบด, เบเบฒเบเบเปเบฒเปเบเปเบเบทเป
เบเบญเบ Perl เปเบเป เบเบธเบ เบเปเบญเบเบเบตเป constructor เบเบทเบเบเปเบฒเบเบปเบ. เบงเบดโเบเบตโเบเบฒเบโเปเบกเปเบโเบฎเบฝเบโเบฎเปเบญเบโเปเบซเปโเบกเบตโเบเบฑเปเบโเบเบตเปโ:
$env = เบเปเปเปเบชเบเปเปเป( );
เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเบเปเบฒเบเปเบเปเบฎเบฑเบเบเบฑเบเบเบทเบเปเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบญเบเปเบเบปเปเบฒเปเบเปเบเบเบธเบ 'cons', เบเบถเปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบกเบฑเบเบเบฐ
เปเบเปเปเบเบทเปเบญเบกเปเบเบเบเบฑเบเบกเบฑเบเบงเบดเบเบตเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบตเปเบญเบฐเบเบดเบเบฒเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป. เบเบฒเบเบเปเปเบชเปเบฒเบเบชเปเบงเบเบเบธเบเบเบปเบ
เบเบปเบงเปเบเบชเบฒเบกเบฒเบเบเบทเบเบฅเบปเบเบฅเปเบฒเบเปเบเบเบเบฒเบเปเบซเปเบเบทเป/เบเปเบฒเบเบนเปเปเบเบฅเบฒเบเบเบฒเบเปเบเบเบเบตเป. เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ
เปเบเบทเปเบญ override เบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเปเบฒเบชเบฑเปเบเปเบเป (เปเบเบฑเปเบเบชเบดเปเบเบเบตเปเบขเบนเปเบเบฒเบเปเบเป `ENV'), เบเปเบฒเบเบเบฐเบเปเบญเบ
override เบเบฑเบเบซเบกเบปเบเบเบญเบเบเบงเบเปเบเบปเบฒ. เบเปเบฒเบโเบชเบฒโเบกเบฒเบโเปเบเปโเบฎเบฑเบโเบเบฐโเบกเบฒเบโเบเบงเบฒเบกโเบซเบเบธเปเบโเบเบฒเบโเบเบตเปโเปเบเบโเบเบฒเบโเบเปเบฒโเปเบเปโเบงเบดโเบเบตโเบเบฒเบ 'เบชเปเบฒโเปเบเบปเบฒโ' เปเบโ
เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง.
เปเบเป `เปเบเบ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'clone' เบชเปเบฒเบ clone เบเบญเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง, เปเบฅเบฐเบชเบฒเบกเบฒเบเปเบเบฑเบ
เปเบญเบตเปเบเบงเปเบฒเปเบเบเบปเบงเบขเปเบฒเบเบเปเปเปเบเบเบตเป:
$env2 = $env1->เปเบเบ( );
เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบฐเบซเบเบญเบเบเบฒเบ overrides เปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบปเบเบเบฐเบเบดเปเบเบทเปเบญเบชเปเบฒเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบฒเบ
เบเบปเปเบเบชเบฐเบเบฑเบ. เบเปเบฒเบซเบฒเบเบงเปเบฒเบเปเบฒเบเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบเบเบทเปเปเบซเบกเปเบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฝเบงเบเบฑเบ (เบเบถเปเบเบญเบฒเบเบเบฐเปเบเบฑเบเบเบฐเปเบซเบเบเปเบเปเบงเบฅเบฒเบเบตเป
เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบชเบปเปเบเบญเบญเบเปเบเบเบฑเบเบญเบปเบเบเบฐเบเบญเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง), เบเปเบฒเบเบเบฝเบเปเบเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบกเบญเบเบซเบกเบฒเบเบเปเบฒเบเบเบฒเบ.
เปเบเป `เบชเบณเปเบเบปเบฒ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เบชเปเบฒเปเบเบปเบฒ' เบชเบฐเบเบฑเบเบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบเปเบฒเบเบปเบเบเบฒเบเบเบญเบเบเบฒเบ an
เบชเบฐโเบเบฒเบโเปเบงเบโเบฅเปเบญเบกโเปเบฅเบฐโเบเบฑเบโเบเบทเบโเบเบงเบโเปเบเบปเบฒโเปเบเบฑเบโเบเบฑเบโเบเบตโเบฅเบฒเบโเบเบทเปโเบเบญเบโเบเบนเป / เบกเบนเบโเบเปเบฒโ. Overrides เบเบฑเบเบชเบฒเบกเบฒเบเปเบเบฑเบ
เบชเบฐเบซเบเบญเบเปเบซเป, เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบเปเบฒ overridden เบเบฐเบเบทเบเบชเบปเปเบเบเบทเบ, เบเบฒเบกเบเบงเบฒเบกเปเบซเบกเบฒเบฐเบชเบปเบก. เปเบเป
เบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบตเปเบชเบปเปเบเบเบทเบเบชเบฒเบกเบฒเบเบเบทเบเบกเบญเบเบซเบกเบฒเบเปเบซเปเปเบเบฑเบ hash, เบเบฑเปเบเบเบตเปเบชเบฐเปเบเบเบขเบนเปเปเบเบเบปเบงเปเบเบ, เบเปเบฒเบเบฅเบธเปเบกเบเบตเป, เปเบเปเบกเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเป
เปเบเปโเบฎเบฑเบโเบเบฒเบโเบเบฑเบโเบเบฒเบโเปเบโเบงเบดโเบเบตโเบเบฒเบโเบญเบทเปเบเปโ:
%env = $env1->เบชเบณเปเบเบปเบฒ( );
เบเปเบฒเบเบญเบ 'ENV', เปเบเบดเปเบเปเบเบฑเบเบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเปเบเบฑเบ hash, เบเบฑเบเบเบทเบเบเบฑเบเบฅเบญเบเปเบเบเบตเป hash เปเปเป, เบเบฑเปเบเบเบฑเปเบเบเบตเปเบญเบฒเบเบเบฐเปเบเบฑเบ.
เบเปเบฝเบเปเบเบเปเบเบเบเปเปเบกเบตเบเบงเบฒเบกเบขเปเบฒเบเบเบปเบงเบเบตเปเบเบฐเบชเบปเปเบเบเบปเบเบเบฐเบเบปเบเบเปเปเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเปเบเบตเบก. เบเบฑเปเบเบเบฑเปเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบซเบฒเบเบงเปเบฒเบเปเบฒเบเปเบเป
เบเปเบญเบเบเบฒเบ override เบเบฝเบเปเบเปเบเบปเบงเปเบ 'PATH' เปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเปเบฅเบตเปเบกเบเบปเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเป
เบเปเปเปเบเบเบตเป:
%cons = new cons()->copy();
$cons{ENV}{PATH} = " ";
$cons = new cons(%cons);
เบเบตเปเบเบฐเบเปเบญเบเปเบซเปเบชเบดเปเบเบญเบทเปเบเบเบตเปเบญเบฒเบเบเบฐเบขเบนเปเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ
เบเปเปเบฅเบปเบเบเบงเบ.
เปเบเป 'เบเบดเบเบเบฑเปเบ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เบเบดเบเบเบฑเปเบ' เบเบฑเบเปเบเบเปเบเบฅเปเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบทเปเบญเบเบดเบเบเบฑเปเบเปเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเป
เปเบเปเบฅเบเบฐเบเปเบฅเบต. เบเบฒเบเบเบดเบเบเบฑเปเบเปเบเปเบเบทเบเบเบฑเบเบเบธเบเปเบซเปเปเบซเบกเบฒเบฐเบชเบปเบก: เปเบเบฅเปเบเปเปเปเบเปเบเบทเบเบเบฑเบเบฅเบญเบเบเปเบฒเบกเบฑเบเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเป. เบเปเบฒ
เบเบตเปเบเปเปเปเบกเปเบเบเบถเบเบเบดเบเปเบฒเบเบตเปเบเปเบญเบเบเบฒเบ, เบเปเบฒเบเบเบฐเบเปเบญเบเปเบเปเบงเบดเบเบตเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบทเปเบญเบเบดเบเบเบฑเปเบ
เปเบเบฅเป. เบกเบฑเบเบเบทเบเปเบญเบตเปเบเบงเปเบฒ:
เบเบดเบเบเบฑเปเบ $env , ;
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ, เปเบเบเบฐเบเบฐเบเบตเปเปเบเบฅเปเบเบตเปเบเบฐเบเบดเบเบเบฑเปเบเบญเบฒเบเบเบฐเบเบฑเปเบเบเบทเป arbitrarily, เบเบฝเบเปเบเปเบชเบธเบเบเปเบฒเบ
เบญเบปเบเบเบฐเบเบญเบเบเบญเบเปเบเปเบฅเบฐเบเบทเปเปเบกเปเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบทเปเปเบเบปเปเบฒเบซเบกเบฒเบเบเบตเปเบเบดเบเบเบฑเปเบ. เบเบฑเปเบเบเบฑเปเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบซเบฒเบเบงเปเบฒเบเปเบฒเบ
เบเบฑเบโเบเบฒเบโเบเบดเบโเบเบฑเปเบโ foo/bar in เบเบฒเบ, เบเบตเปเบเบฐเบชเปเบฒเบเปเบเบฑเบ เบเบฒเบเบฐเบเบฒเบเบเบงเบฒเบก เปเบเบฅเปเปเบ เบเบฒเบ เปเบเปเบฅเบเบฐเบเปเบฅเบต (เบเปเป
foo/bar).
เปเบเป 'เบเบดเบเบเบฑเปเบ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'InstallAs' เบเบฑเบเบซเบฒเปเบซเบผเปเบเบเบตเปเบฅเบฐเบเบธเปเบงเป เปเบญเบเบฐเบชเบฒเบ(sโ) เบเบฒเบโเบเบดเบโเบเบฑเปเบโเปเบเบฑเบโ
เปเบเบปเปเบฒโเบซเบกเบฒเบโเบเบตเปโเบเปเบฒโเบเบปเบโเปเบงเปโ เปเบญเบเบฐเบชเบฒเบ(เบช). เบซเบผเบฒเบเปเปเบเบฅเปเบเบงเบเบเบทเบเบฅเบฐเบเบธเปเบเบฑเบเบฅเบฒเบเบเบฒเบเปเบเบฅเป. เปเบเป
เบเบฒเบโเบเบดเบโเบเบฑเปเบโเปเบกเปเบโเปเบซเบกเบฒเบฐโเบชเบปเบกโ: เปเบเบฅโเปโเบเปเปโเปเบเปโเบเบทเบโเบเบฑเบโเบฅเบญเบโเบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบกเบฑเบโเบชเบฒโเบกเบฒเบโเปเบเบทเปเบญเบกโเบเปเปโเปเบเปโ. เบเปเบฒเบเบตเปเบเปเปเปเบกเปเบ
เบเบถเบเบเบดเบเปเบฒเบเบตเปเบเปเบญเบเบเบฒเบ, เบเปเบฒเบเบเบฐเบเปเบญเบเปเบเปเบงเบดเบเบตเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบทเปเบญเบเบดเบเบเบฑเปเบเปเบเบฅเป. เบกเบฑเบโเปเบกเปเบ
เปเบญเบตเปเบเบเบฑเปเบเบเบตเป:
'เบเบดเบเบเบฑเปเบ' เปเบฎเบฑเบเบงเบฝเบเปเบเบชเบญเบเบงเบดเบเบต:
เบเบฒเบเบเบดเบเบเบฑเปเบเปเบเบฅเปเบเบฝเบง:
เบเบดเบเบเบฑเปเบAs $env TgtFile, SrcFile;
เบเบฒเบโเบเบดเบโเบเบฑเปเบโเบซเบผเบฒเบโเปเบเบฅโเปโ:
InstallAs $env ['tgt1', 'tgt2'], ['src1', 'src2'];
เบซเบผเบท, เปเบเบดเบเปเบกเปเบเบงเปเบฒ:
@srcs = qw(src1 src2 src3);
@tgts = qw(tgt1 tgt2 tgt3);
เบเบดเบเบเบฑเปเบAs $env [@tgts], [@srcs];
เบเบฑเบเปเบเบปเปเบฒเปเบฒเบ เปเบฅเบฐเบฅเบฒเบเบเบฒเบเปเบซเบผเปเบเบเปเบฒเบเปเบเบงเบเบกเบตเบเบงเบฒเบกเบเบฒเบงเบเบฝเบงเบเบฑเบ.
เปเบเป 'เบกเบตเบเปเบฒ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เบกเบตเบเปเบฒ' เบเป cons เบเปเปเปเบซเปเบฅเบถเบเปเบเบฅเปเบเบตเปเบฅเบฐเบเบธเปเบงเปเบซเบผเบทเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเปเบเบฅเปเบเปเบญเบ
เบเบฒเบเบเปเปเบชเปเบฒเบเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ. เบกเบฑเบโเบเบทเบโเปเบญเบตเปเบโเปเบเบฑเบโ:
เบกเบตเบเปเบฒ ;
เบญเบฑเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบเปเบเบเบชเบฐเปเบเบฒเบฐเบชเปเบฒเบฅเบฑเบเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบกเบตเบเบฒเบเบเบฑเบเบเบธเบเปเบเบตเปเบกเปเบเบตเบกเบเปเปเบเบฑเบเบซเปเบญเบเบชเบฐเปเบธเบ เบซเบผเบทเบเบตเบเบฑเบ
เปเบเบฅเปเบเปเปเบกเบนเบเบเปเบฒเบงเบชเบฒเบเบเบตเปเบเบทเบเบเบฑเบเบเบธเบเปเบเบเบเบตเปเบเบฐเบชเปเบฒเบเปเบซเบกเปเปเบเปเบเปเบฅเบฐเบเบฑเปเบ. เบเปเปเปเบชเบเบเบฑเบเบเบฐเบขเบนเป
เบฅเบถเบเปเบเบฅเปเปเบกเบทเปเบญเบเบธเบ `-r' เบเบทเบเบฅเบฐเบเบธ.
เปเบเป 'เบเปเบฒเบชเบฑเปเบ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เบเปเบฒเบชเบฑเปเบ' เปเบกเปเบเบงเบดเบเบตเบเบฒเบ catchall เบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบฑเบเปเบเบเบเบฒเบเบเบญเบ
เบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฐเปเบญเบตเปเบเบงเปเบฒเบเบฒเบเบเบฑเบเบเบธเบเปเบเบปเปเบฒเบซเบกเบฒเบ. เบชเปเบฒเบฅเบฑเบเบเปเบฒเบชเบฑเปเบเบเบตเป, เปเบเบฅเปเปเบเบปเปเบฒเบซเบกเบฒเบเปเบฅเบฐเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบ
เบงเบฑเบเบชเบฐเบเบธเบเปเบญเบเปเบกเปเบเบชเบฐเบซเบเบญเบเปเบซเป. เบเบญเบเบเบฒเบเบเบฑเปเบ, เปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบฒเบเบเปเปเบชเปเบฒเบ, เบซเบผเบทเบชเบฒเบ, เปเบกเปเบเบชเบฐเบซเบเบญเบเปเบซเปเปเบเบฑเบ
string (string เบเบตเปโเบญเบฒเบโเบเบฐโเบกเบตโเบซเบผเบฒเบโเบเปเบฒโเบชเบฑเปเบโเบเบตเปโเบเบฑเบโเบขเบนเปโเปเบโเบกเบฑเบโ, เปเบเบโเปเบเบโเปเบซเบกเปโ
เบชเบฒเบ). 'เบเปเบฒเบชเบฑเปเบ' เปเบญเบตเปเบเบงเปเบฒเบเบฑเปเบเบเปเปเปเบเบเบตเป:
เบเปเบฒเบชเบฑเปเบ $env , , ;
เปเบเบปเปเบฒเบซเบกเบฒเบเปเบกเปเบเบเบถเปเบเบเบฑเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเปเบเบฅเปเบเบตเปเบฅเบฐเบเบธเปเบงเป, เปเบฅเบฐเบงเบฑเบเบชเบฐเบเบธเบเปเบญเบเบเปเบญเบ
เปเบเปโเบฎเบฑเบโเบเบฒเบโเบชเปเบฒเบโเบชเปเบฒโเปเบฅเบฑเบโเบซเบผเบท Cons เบเบฐโเบเปเปโเบเบฐโเบเบฒโเบเบฒเบกโเบเบตเปโเบเบฐโเบชเปเบฒเบโเปเบเบปเปเบฒโเบซเบกเบฒเบ.
เบเบฒเบเปเบเบเปเบฒเบชเบฑเปเบเบเบฒเบเบเปเปเบชเปเบฒเบ, เบเบฒเบเบเปเบฝเบเปเบเบเปเบเปเบเบฒเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบญเบฒเบเบเบฐเปเบเบฑเบ
เปเบเบฐเบเบณเปเบเบเบเบฒเบเบเบณเปเปเบฒเบเบทเปเบเบญเบเบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเปเบงเบ `%'. เบเบตเปเปเบกเปเบ recursive:
เบเปเบฒเบชเบฑเปเบเบเบทเบเบเบฐเบซเบเบฒเบเบญเบญเบเปเบเบเบปเบเบเปเบงเบฒเบเปเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบซเบผเบฒเบ. เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเบฒเบโเบเปเปโเบชเปเบฒเบโ
เบเบปเบงเปเบเบเปเปเปเบเปเบเบทเบเบเปเบฒเบเบปเบเปเบงเปเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก, เบเบฒเบเบเบฑเปเบเบชเบฐเบเบฃเบดเบ null เบเบฐเบเบทเบเบเปเบฝเบเปเบเบ. เบ
เบชเบญเบเปเบเบปเปเบฒ `%%' เบเบฐเบเบทเบเปเบเบเบเบตเปเบเปเบงเบ `%' เบเบฝเบงเปเบเบเปเบฒเบชเบฑเปเบเบเปเปเบชเปเบฒเบ.
เบกเบตเบซเบผเบฒเบเบเบปเบงเปเบ pseudo เบเบตเปเบเบฐเบเบทเบเบเบฐเบซเบเบฒเบเบญเบญเบ:
%> เบเบทเปเปเบเบฅเปเปเบเบปเปเบฒเบซเบกเบฒเบ (เปเบเบเปเบฒเบชเบฑเปเบเบซเบผเบฒเบเปเบเบปเปเบฒเบซเบกเบฒเบ, เบเบตเปเปเบกเปเบเปเบเบปเปเบฒเบซเบกเบฒเบเบเปเบฒเบญเบดเบเบชเบฐเปเบซเบกเบต
เบเปเบฒเบง).
%0 เบเบทเบเบฑเบเบเบฑเบ `%>'.
%1, %2, ..., %9
เปเบซเบผเบปเปเบฒเบเบตเปเบซเบกเบฒเบเปเบเบดเบเปเบเบฅเปเบเปเบญเบเบเปเปเบกเบนเบเบเปเบฒเบญเบดเบเบเปเบฒเบเปเบเบปเปเบฒ, เบเบฒเบกเบฅเปเบฒเบเบฑเบ.
%< เบเบธเบเปเบเบฑเบกเบเบญเบเบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ. เบเปเบฒเบญเบฑเบเปเบเบญเบฑเบเปเบถเปเบเบญเบฑเบเปเบเบญเบฑเบเปเบถเปเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบเปเบเบณเปเบเปเบขเบนเปเบเปเบญเบเบญเบทเปเบเปเบ
เปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบฐเบเบธเบเบฑเบ (เบเปเบฒเบ `%1', `%2', เปเบฅเบฐเบญเบทเปเบเป), เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบซเบผเบปเปเบฒเบเบฑเปเบเบเบฐเบเบทเบเบฅเบถเบเบญเบญเบเบเบฒเบ
เบฅเบฒเบเบเบฒเบเบชเบฐเปเบญเบเปเบซเปเปเบเบ `%<'. เบเบดเบเบฒเบฅเบฐเบเบฒเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเปเบเบปเบเปเบ a เบเบฐเบเบฝเบ เปเบญเบเบฐเบชเบฒเบ
เปเบ เบเบฒเบเบเบปเบเบชเบญเบ เปเบเปเบฅเบเบฐเบเปเบฅเบต:
เบเปเบฒเบชเบฑเปเบ $env 'tgt', qw(foo bar baz), qq(
echo %< -i %1 > %>
echo %< -i %2 >> %>
echo %< -i %3 >> %>
);
If tgt เบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบธเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบตเปเบเบฐเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบ
เบเบฐเบเบดเบเบฑเบเบเบฒเบกเบเปเบฒเบชเบฑเปเบ, เบชเบปเบกเบกเบธเบเบงเปเบฒเบเปเปเบกเบตเบเบฒเบ remapping เปเบเปเบเบทเบเบชเปเบฒเบเบเบฑเปเบเบเบถเปเบเบชเปเบฒเบฅเบฑเบ เบเบฒเบเบเบปเบเบชเบญเบ
เปเบเปเบฅเบเบฐเบเปเบฅเบต:
echo test/bar test/baz -i test/foo > test/tgt
echo test/foo test/baz -i test/bar >> test/tgt
echo test/foo test/bar -i test/baz >> test/tgt
เปเบเปเบเบญเบเบเบปเบงเปเบ pseudo เบเปเบฒเบเปเบเบดเบเบญเบฒเบเบเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบเบฑเบเบเบตเปเบเบเบซเบเบถเปเบเปเบเบเบฑเปเบเบเปเปเปเบเบเบตเป
เบเปเบฒเบเปเปเบเปเบฒเบเปเบเบทเปเบญเปเบฅเบทเบญเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเบทเปเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบเบฐเบซเบเบฒเบ:
:a เปเบชเบฑเปเบเบเบฒเบเบขเปเบฒเบเปเบเปเบเบดเบเปเบเบซเบฒเบเบทเปเปเบเบฅเป
:b เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบงเบเบเบฑเบเบเบทเปเปเบเบฅเปเบเบตเปเบเบญเบเบญเบญเบเบเบญเบเบเปเบฒเบเปเปเบเปเบฒเบเปเบเป
:d เปเบเปเบฅเบเบฐเบเปเบฅเบต
:f เบเบทเปเปเบเบฅเป
:s เบเบทเปเปเบเบฅเปเบเปเปเบเปเบฒเบ
:F เบเบทเปเปเบเบฅเปเบเบทเบเบเบญเบเบญเบญเบเบเบญเบเบเบณเบเปเปเบเปเบฒเบเบญเบฑเบเปเบเบเบถเปเบ
เบชเบทเบเบเปเปเบเบฑเบเบเบปเบงเบขเปเบฒเบเบเปเบฒเบเปเบเบดเบ, `%<:f' เบเบฐเบเบฐเบซเบเบฒเบเปเบเบฑเบ `foo bar baz', เปเบฅเบฐ `%':d> เบเบฐ
เบเบฐเบซเบเบฒเบเปเบเบซเบฒ 'เบเบปเบเบชเบญเบ'.
เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเบฝเบเบเบทเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเปเบฒเบชเบฑเปเบเปเบเบเบเบฒเบเบเบฝเบเปเบเบผเปเบเบผเบกเปเบเบเบเบฒเบเบเบดเบเบเบฒเบเบชเปเบงเบเบเบญเบเบกเบฑเบ
เบฅเบฐเบซเบงเปเบฒเบ `%[' เปเบฅเบฐ `%]'. เบเบตเปเบเบฐเปเบเบซเบฒเบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบกเบตเบเบทเปเปเบเบฑเบเบเปเบฒเบเปเบฒเบญเบดเบ
enclosed เปเบเบงเบปเบเปเบฅเบฑเบเปเบเบฑเบเบเบฒเบเบญเปเบฒเบเบญเบดเบเบฅเบฐเบซเบฑเบ Perl; เบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบเบฒเบเปเบเบเบตเปเบเบฐเบเบทเบเบเปเบฒเปเบเป
เปเบเบทเปเบญเบเบปเบเปเบเบเปเบเบทเปเบญเปเบเบเบญเบเบงเบปเบเปเบฅเบฑเบเปเบเปเบเบงเบเปเบฒเบชเบฑเปเบ. เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เปเบซเป
เปเบเบฅเปเบเปเบญเบเบเปเปเบกเบนเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเบเบตเปเบกเบตเบเบทเป tgt.in:
@keywords = qw(foo bar baz);
$env = new cons(X_COMMA => sub { join(",", @_) });
เบเปเบฒเบชเบฑเปเบ $env 'tgt', 'tgt.in', qq(
echo '# เบเปเบฒเบชเปเบฒเบเบฑเบ: %[X_COMMA @keywords %]' > %>
cat %< >> %>
);
เบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบ:
echo '# เบเปเบฒเบชเปเบฒเบเบฑเบ: foo,bar,baz'> tgt
cat tgt.in >> tgt
เบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเบเบปเบโเปเบเบโเบเบตเปโเปเบเบตเบโเบเบถเปเบโ, เบเปเบญเบโเปเบเปโเบเบญเบโเบเปเบญเบโเบเบฒเบงโเปเบกเปเบโเบเปเบฝเบโเปเบเบฑเบโเบเปเบญเบโเบซเบงเปเบฒเบโเบเบฝเบงโ, เปเบฅเบฐโ
เบเบทเปเบเบเบตเปเบชเบตเบเบฒเบงเบเบฑเปเบเบเปเบฒเปเบฅเบฐเบเบฒเบเบซเบฅเบฑเบเบเบทเบเบฅเบปเบเบฅเปเบฒเบ. เบเบฑเปเบเบเบฑเปเบเบเบถเปเบเบเปเปเบชเบฒเบกเบฒเบเปเบเบฐเบเปเบฒเปเบเป
เบเปเบญเบเบซเบงเปเบฒเบเบชเบตเบเบฒเบงเบเบตเปเบกเบตเบเบงเบฒเบกเบเบฒเบงเบเปเบฝเบเปเบเบเปเบเปเปเบเบชเบฐเบเบฃเบดเบเบเบตเปเบเปเบฒเบเปเบเบปเปเบฒเปเบเปเบเบเปเบฒเบชเบฑเปเบ, เปเบเบเบเปเปเบกเบตเบเบฒเบเปเบเปเบเบฒเบเบญเบฑเบ
เบเบฒเบเบเบฑเบเบฅเบฝเบเบเบญเบเบงเบปเบเบขเบทเบก shell.
เบเปเบฒเบชเบฐเบเบฃเบดเบเบเบณเบชเบฑเปเบเบซเบผเบฒเบเปเบเบงเบเบทเบเบชเบฐเปเบญเบเปเบซเป, เบเบณเบชเบฑเปเบเบเบฐเบเบทเบเบเบณเปเบเบตเบเบเบฒเบเบเบฒเบกเบฅเบณเบเบฑเบ. เบเปเบฒโเบกเบต
เบเบญเบเบเปเบฒเบชเบฑเปเบเบฅเบปเปเบกเปเบซเบฅเบง, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเปเบกเบตเบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเบเบทเบเบเบฐเบเบดเบเบฑเบ, เปเบฅเบฐเปเบเบปเปเบฒเบซเบกเบฒเบเบเปเปเปเบเปเบเบทเบเบซเบกเบฒเบเปเบเบฑเบ
เบเบฑเบเบเบธเบ, ie เบฅเบฒเบเปเบเบฑเบเปเบซเบกเปเบเปเปเปเบเปเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบงเปเบชเปเบฒเบฅเบฑเบเปเบเบปเปเบฒเบซเบกเบฒเบ.
เปเบเบเบเบปเบเบเบฐเบเบด, เบเปเบฒเบเปเบฒเบชเบฑเปเบเบเบฑเบเบซเบกเบปเบเบเบฐเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ, เปเบฅเบฐเบชเบปเปเบเบเบทเบเบชเบฐเบเบฒเบเบฐเบชเบนเบ (เบซเบผเบทเปเบงเบเบตเปเบเบเปเปเบเบฒเบก,
เบเบปเบงเบเบตเปเบเบญเบเบชเบฐเปเบเบฒเบฐเบเบญเบเบเบงเบฒเบกเบชเปเบฒเปเบฅเบฑเบเปเบกเปเบเบเปเบญเบเบเบฒเบ), เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบฅเบฒเบเปเบเบฑเบเปเบซเบกเปเบเบฐเบเบทเบเปเบเบฑเบเปเบงเปเบชเปเบฒเบฅเบฑเบ
เปเบเบปเปเบฒโเบซเบกเบฒเบ. เบเปเบฒเบเปเบฒเบชเบฑเปเบเบเบดเบเบเบฒเบเบฅเบฒเบเบเบฒเบเบเบงเบฒเบกเบชเปเบฒเปเบฅเบฑเบเปเบเบดเบเปเบกเปเบเบงเปเบฒเบซเบผเบฑเบเบเบฒเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบง, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ Cons เบเบฐ
เบชเบปเบกเบกเบธเบเบงเปเบฒเปเบเบฅเปเปเบเบปเปเบฒเบซเบกเบฒเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบเบเบเปเบฒเบชเบฑเปเบเบเบฑเปเบเปเบกเปเบเบเบทเบเบเปเบญเบเปเบฅเบฐเบเบฑเบเบชเบฐเปเบซเบก.
เบเปเบฒเบเปเบฒเบญเบดเบเบเบญเบเปเบเปเบฅเบฐเบชเบฒเบเบเปเบฒเบชเบฑเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบฐเบซเบเบฒเบ, เบเบทเบงเปเบฒเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเป
เบเปเบฒเบชเบฑเปเบเบเบญเบเบซเบฒเบขเบนเปเปเบเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก 'PATH' (เปเบเบดเปเบเปเบกเปเบ, เปเบเบเบฒเบเบเบฑเบเบเบฑเบ, เบเปเบฒเบเบปเบเปเบเบ
'ENV' เบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบ). เบเปเบฒเบเปเบฒเบชเบฑเปเบเบเบตเปเบเบทเบเบเบปเบเปเบซเบฑเบเบขเบนเปเปเบเปเบชเบฑเปเบเบเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบปเปเบฒเบซเบกเบฒเบเบเบฐ
เบเบถเปเบเบเบฑเบเบกเบฑเบ: เบเปเบฒเบชเบฑเปเบเบเบฐเบเบทเบเบชเปเบฒเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบเบฒเบกเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบ. เบกเบฑเบ
เปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเบฝเบเบเปเบฒเบชเบฑเปเบเบซเบผเบฒเบเบชเปเบงเบเบเบฑเบเบเบฒเบ shells, เปเบเบเปเบเบเปเบเบดเปเบเบเปเปเบฒเบชเบญเบเปเบกเบฑเบ. เบเบฝเบเปเบเป
เบเปเบฒเบเปเบฒเบชเบฑเปเบเบเปเบฒเบญเบดเบเบเบฐเบเบถเปเบเบเบฑเบ, เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเปเบฒเบเบเบฝเบเบชเบฒเบเบเปเบฒเบชเบฑเปเบเบเบญเบเบเปเบฒเบ
เบเปเบงเบเบงเบดเบเบตเบเบตเป, เปเบเบปเปเบฒเบเปเบญเบเบเบฑเปเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบขเปเบฒเบเบเบฐเปเบเปเบ (เบเปเบงเบเบงเบดเบเบต 'เบเบถเปเบเบเบฑเบ'), เบซเบผเบท
เปเบซเปเปเบเปเปเบเบงเปเบฒเบเปเบฒเบชเบฑเปเบเบเบตเปเบเปเบฒเบเบเปเบฒเบฅเบฑเบเปเบเปเปเบกเปเบเบเปเบฒเบชเบฑเปเบเบฅเบฐเบเบปเบเบเบตเปเบเบฒเบเบงเปเบฒเบเบฐเปเบเบฑเบ
เบกเบตเปเบซเป. เบเปเบฒเบกเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเป, เปเบเปเบเบญเบ, เบเปเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ.
เบเปเบฒเบเปเบฒเบชเบฑเปเบเปเบเป (เปเบกเปเปเบเปเบซเบเบถเปเบเปเบเบเปเบฒเบชเบฑเปเบเบซเบผเบฒเบเปเบเบง) เปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบ `[perl]', เบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญ
เบเบญเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบฑเปเบเบเบฐเบเบทเบเบเบฐเปเบกเบตเบเปเบเบ Perl เปเบฅเปเบเปเบเบเบเบตเปเบเบฐเบเบทเบ forked เปเบเบ
เปเบเบฐ. เบเปเบฒเบกเบตเบเปเปเบเบดเบเบเบฒเบเปเบเบตเบเบเบถเปเบเปเบเบเบฒเบเบงเบดเปเบเบฒเบฐ Perl เบซเบผเบทเบเปเบฒเบเบฒเบเบชเบฐเปเบเบเบเบปเบ Perl เบเบฑเบเบเบทเบ 0 เบซเบผเบท
undef, เบเปเบฒเบชเบฑเปเบเบเบฐเบเบทเบเบเบดเบเบฒเบฅเบฐเบเบฒเบงเปเบฒเบฅเบปเปเบกเปเบซเบฅเบง. เบเบปเบงเบขเปเบฒเบ, เบเบตเปเปเบกเปเบเบเปเบฒเบเบเบฒเบ
เบเปเบฒเบชเบฑเปเบเบเบตเปเบชเปเบฒเบเปเบเบฅเป 'foo' เปเบเบเบเบปเบเบเบฒเบ Perl:
$env = new cons();
เบเปเบฒเบชเบฑเปเบ $env 'foo',
qq([perl] open(FOO,'>foo');เบเบดเบก FOO "hi\n"; close(FOO); 1);
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเปเบกเบทเปเบญเบเปเบฒเบชเบฑเปเบเบเบทเบเบเบฐเบเบดเบเบฑเบ, เบเปเบฒเบเบขเบนเปเปเบเบเบธเบเบเบฝเบงเบเบฑเบเบเบฑเบเปเบงเบฅเบฒเบเบตเป เบเปเปเบชเปเบฒเบ
or เบเบฐเบเบฝเบ เปเบเบฅเปเปเบเปเบเบทเบเบญเปเบฒเบ, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบซเบฒเบซเบเปเบฒเบเบตเป Perl เบเบตเปเบเปเบฒเบเปเบเปเบเปเบฒเบเบปเบเปเบงเปเปเบเบญเบฑเบเบเบฝเบงเบเบฑเบ
เบเปเปเบชเปเบฒเบ or เบเบฐเบเบฝเบ เปเบเบฅเปเบเบตเป 'เบเปเบฒเบชเบฑเปเบ' เบเบฒเบเบปเบ:
$env = new cons();
sub create_file {
$file เบเบญเบเบเปเบญเบ = shift;
เปเบเบตเบ(FILE, ">$file");
เบเบดเบก FILE "hi\n";
เบเบดเบ(FILE);
return 1
}
เบเปเบฒเบชเบฑเปเบ $env 'foo', "[perl] &create_file('%>')";
เบชเบฐเบเบฃเบดเบ Perl เบเบฐเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบชเปเบฒเบเบฅเบฒเบเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒ, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเปเบฒเบ
เบเปเบฝเบเบชเบฐเบเบฃเบดเบ, เปเบเบฅเปเบเบฐเบเบทเบเบชเปเบฒเบเปเบซเบกเป. เปเบเบทเปเบญโเปเบโเบเบญเบ subroutines เปเบโเบซเบเบถเปเบโเบเบตเปโเบเปเบฒเบโเปเบโเบซเบฒโ,
เปเบเบงเปเบเบเปเปเบเบฒเบก, เบเปเปเปเบกเปเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบฅเบฒเบเปเบเบฑเบ, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเปเบฒเบเบเบฑเบเปเบเบ subroutine เบเบตเปเปเบญเบตเปเบเบงเปเบฒ
`create_file' เบเปเบฒเบเปเบเบดเบ, เปเบเบปเปเบฒเบซเบกเบฒเบเบเบฐ เบเปเป เปเบเปโเบฎเบฑเบโเบเบฒเบโเบชเปเบฒเบโเปเบซเบกเปโ. เบเบนเปเปเบเป Caveat.
Cons เบเบปเบเบเบฐเบเบดเบเบดเบกเบเปเบฒเบชเบฑเปเบเบเปเบญเบเบเบตเปเบเบฐเบเบฐเบเบดเบเบฑเบเบกเบฑเบ. เบเบถเบเบเบดเบเปเบฒเบเบตเปเบเบทเบเบชเบฐเบเบฑเบเบเบฑเปเบเบเปเบฒเบซเบฒเบเบงเปเบฒ
เบฅเบฑเบเบชเบฐเบเบฐเบเปเบฒเบญเบดเบเบเบญเบเบเปเบฒเบชเบฑเปเบเปเบกเปเบ `@'. เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบเปเบฒเบเบญเบฒเบเบเบฐเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบ `@' เบเบฒเบ
เบเบทเปเบเปเบฒเบชเบฑเปเบเบซเบผเบทเบซเบเบตเบกเบฑเบเปเบเบทเปเบญเบเปเบญเบเบเบฑเบเบเปเปเปเบซเป `@cmd' เปเบเบดเปเบเบเบทเบงเปเบฒ array เบเบฑเบ Perl quote
เบเบนเปเบเบฐเบเบญเบเบเบฒเบเบเบตเปเบเบฐเบเบดเบเบฑเบ interpolation:
# เบเปเบฒเบชเบฑเปเบเบเปเบฒเบญเบดเบเปเบกเปเบเบเปเปเบเบทเบเบเปเบญเบ,
# เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ "@cp" เบเปเบฒเบเบเบท array
# เปเบเบซเบฒ Perl qq // เบเบฑเบเบเบฑเบ.
# เปเบเปเบฎเบนเบเปเบเบเบเบตเบชเบญเบเปเบเบ.
เบเปเบฒเบชเบฑเปเบ $env 'foo', 'foo.in', qq(
@cp %< tempfile
@ cp tempfile %>
);
เบเปเบฒเบกเบตเบเบปเบงเบญเบฑเบเบชเบญเบเปเบกเบเบฒเบเบญเบเปเบเบฐเบขเบนเปเบเปเบญเบเปเบเบเปเปเบเปเปเบเปเบเบงเบเบณเบชเบฑเปเบเบเบตเปเบเบฐเบซเบเบฒเบ, เปเบเบฑเปเบ: `<',
`>', quotes, เบซเบผเบท semi-colon, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบเบเบฒเบเปเบญเบตเปเบ a
เปเบเบฐ. เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเปเบฒเบชเบฑเปเบเปเบเบฑเปเบ:
cd foo
เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบเบปเบเบเบฝเบงเบเบฐเบฅเบปเปเบกเปเบซเบฅเบง, เปเบเบฒเบฐเบงเปเบฒเบเปเปเบกเบตเบเปเบฒเบชเบฑเปเบ 'cd' เบขเบนเปเปเบเปเบชเบฑเปเบเบเบฒเบ. เปเบเปเบเปเบฒเบชเบฑเปเบ
เบเปเบญเบเปเบเป:
cd $<:d; tar cf $>:f $<:f
เปเบกเบทเปเบญเบเบฐเบซเบเบฒเบเบญเบญเบเบเบฐเบเบฑเบเบเบฑเบเบเบธ Shell meta character semi-colon, เปเบฅเบฐ shell เบเบฐเปเบเบฑเบ
เบฎเบฝเบโเบฎเปเบญเบโเปเบซเปโเบเบตโเบเบงเบฒเบกโเบซเบกเบฒเบโเบเปเบฒโเบชเบฑเปเบโ. เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ 'cd' เบเบทเบเบเบตเบเบงเบฒเบกเปเบเบ sub-shell เบเบตเป, เบเปเบฒเบชเบฑเปเบ
เบเบฐโเบเบณโเปเบเบตเบโเบเบฒเบโเบเบฒเบกโเบเบตเปโเบเบฒเบโเปเบงเป.
เปเบเบทเปเบญเบเปเบฒเบเบปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบกเบตเปเบเบปเปเบฒเบซเบกเบฒเบเบซเบผเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเบเบฒเบเบญเปเบฒเบเบญเบตเบเปเบเบดเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบ
เปเบเบปเปเบฒเปเบฒเบ. เปเบ Perl, เบเบฒเบเบญเปเบฒเบเบญเบตเบเบฅเบฒเบเบเบทเปเบชเบฒเบกเบฒเบเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเบเบเบฒเบเบเบดเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเปเบเบงเบปเบเปเบฅเบฑเบเบชเบตเปเบซเบผเปเบฝเบก.
เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
เบเปเบฒเบชเบฑเปเบ $env ['foo.h', 'foo.c'], 'foo.template', q(
gen %1
);
เบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเปเบฒเบชเบฑเปเบ 'gen' เบชเปเบฒเบเบชเบญเบเปเบเบฅเป, เบเบฑเบเบชเบญเบ foo.h เปเบฅเบฐ foo.c.
เปเบเป 'เบงเบฑเบเบเบธ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'objects' เบเบฑเบเปเบเบทเปเบญเบชเปเบฒเบเปเบเบฅเปเบงเบฑเบเบเบธเบเบตเปเบเบปเบเบเบฑเบเบเบตเปเบฅเบฐเบเบธ
เปเบเบฅเปเปเบซเบผเปเบ. เบกเบฑเบโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฑเปเบโเบเบตเปโเบชเบฐโเปเบเบโเปเบซเปโเปเบซเบฑเบโเบเปเบฒเบโเบฅเบธเปเบกโเบเบตเปโ:
@files = เบงเบฑเบเบเบธ $env ;
เบเบฒเบเปเบเป Unix, เปเบซเบผเปเบเปเบเบฅเปเบเบตเปเบฅเบปเบเบเปเบฒเบเบเปเบงเบ .s เปเบฅเบฐ .c เบเบฐเบเบธเบเบฑเบเปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ, เปเบฅเบฐเบเบฐเบเบทเบเบฅเบงเบเบฅเบงเบก
เปเบเบปเปเบฒเปเบเปเบเบเบทเปเบเบญเบเปเบเบฅเปเบเบฝเบงเบเบฑเบเบเบตเปเบฅเบปเบเบเปเบฒเบเบเปเบงเบ .o. เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เปเบเบฅเปเบเบฑเบเบซเบกเบปเบเปเบกเปเบเบเบทเบเบชเปเบฒเบเบเบถเปเบเปเบเบเบเบฒเบเปเบญเบตเปเบ
เบเปเบฒเบชเบฑเปเบเบเบฒเบเบเบญเบเบเบตเปเปเบเบฑเบเบเบปเบเบกเบฒเบเบฒเบเบเบฒเบเบเบฐเบซเบเบฒเบเบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบ 'CCCOM', เบเบฑเบ
`%<' เปเบฅเบฐ `%>' เบเบฑเปเบเปเบเบฑเบเปเบเบฅเปเปเบซเบผเปเบ เปเบฅเบฐเบงเบฑเบเบเบธ, เบเบฒเบกเบฅเปเบฒเบเบฑเบ (เปเบเบดเปเบเบงเบดเบเบตเบเบฒเบ 'เบเปเบฒเบชเบฑเปเบ'
เบชเปเบฒเบฅเบฑเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบฒเบเบเบฐเบซเบเบฒเบ). เบเบปเบงเปเบ 'CPPPATH' เบเบฑเบเบเบทเบเปเบเปเปเบเปเบงเบฅเบฒเบชเบฐเปเบเบเปเบเบฅเปเปเบซเบผเปเบ
เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช. เบเบตเปเปเบกเปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเปเบชเบฑเปเบเบเบฒเบเบเบตเปเปเบเบเบญเบญเบเบเบฒเบเบเปเปเบฒเบชเบญเบเปเบกเบฑเบ, เปเบฅเบฐเบเบฑเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบชเปเบฒเบ
เบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบ `_IFLAGS,' เปเบเบดเปเบเบเบฐเบกเบตเบฅเบฒเบเบเบทเปเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบญเบ -`I'
เบเบฒเบเปเบฅเบทเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฅเบงเบเบฅเบงเบก. เบเบธเบเบเบทเปเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเปเบ 'CPPPATH' เปเบกเปเบเบเบทเบเบเบตเบเบงเบฒเบกเปเบเบฑเบเบเบตเปเบเปเบญเบเบเบฑเบ
เปเบเบซเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบ (เบขเปเบฒเบเปเบเปเบเบดเบ
เปเบฅเบฐโเบเบทเปโเบเบตเปโเบเปเบญเบโเปเบเบดเบโเบญเบฒเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบเปเบฒโเปเบเป). เบเบปเบงเปเบเบเบตเปเบเบทเบเปเบเปเปเบเบ 'CCCOM'. เบเบถเบเบเบดเบเบณ
เบเปเบฒเบชเบฑเปเบเบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเบเบฑเบเปเบเปเปเบเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบเปเบเบญเบเบเบปเบงเปเบเบเบตเป interpolated
เปเบเบปเปเบฒเปเบเปเบ `CCCOM', เปเบเบฑเปเบ: `CC', `CFLAGS', เปเบฅเบฐ, เบเบฒเบเบญเปเบญเบก, `CPPPATH'. เบกเบฑเบเบเปเปเปเบเบฑเบเปเบเปเบเป
เปเบเบเบเปเบฒเบเบญเบ 'CCCOM', เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ. เปเบเบทเปเบญเบเบงเบฒเบกเบชเบฐเบเบงเบ, เปเบเบฅเปเบเบตเปเบชเบปเปเบเบเบทเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบ
เบเบทเปเปเบเบฅเปเบงเบฑเบเบเบธ.
เปเบเป `เปเบเบเบเบฒเบ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เปเบเบเบเบฒเบ' เบเบฑเบเบฅเบฝเบเปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเปเบเบเบเบฒเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเบเบฑเบเบงเบฑเบเบเบธเบเบตเปเบฅเบฐเบเบธ
เปเบเบฅเป. เบกเบฑเบโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเปเบโเบฅเบฑเบโเบชเบฐโเบเบฐโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
เปเบเบเบเบฒเบ $env , ;
เบเบทเปเปเบเบเบเบฒเบเบเบฐเบกเบตเบกเบนเบเบเปเบฒเบเบญเบเบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบ 'SUFEXE' เบเปเปเบเปเบฒเบ (เปเบเบ
เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, `.exe' เปเบเบฅเบฐเบเบปเบ Win32, เบเปเปเบกเบตเบซเบเบฑเบเบขเบนเปเปเบเบฅเบฐเบเบปเบ Unix) เบเปเบฒเบเปเบฒเบเปเปเบเปเบฒเบเบเปเปเปเบกเปเบเปเบฅเปเบง.
เบเบฐเบเบธเบเบฑเบ.
เปเบเบฅเปเบเบปเปเบเบชเบฐเบเบฑเบเบญเบฒเบเบเบฐเบเบทเบเบฅเบฐเบเบธเปเบเบเปเบเบฅเปเบงเบฑเบเบเบธ -- เบงเบดเบเบตเบเบฒเบ 'เบงเบฑเบเบเบธ' เบเบฐเปเบเบฑเบ
invoked เบเบฒเบโเบเบฑเบโเปเบเบโเบเบฒเบโเบเปเบฝเบโเปเบเบฅโเปโเบเบฑเบโเบซเบกเบปเบโเปเบเบปเปเบฒโเปเบโเปเบโเปเบเบฅโเปโเบงเบฑเบโเบเบธโ, เปเบฅเบฐโเปเบเบฒเบฐโเบชเบฐโเบเบฑเปเบโเบเบฑเบโเบซเบกเบปเบโ
เบเบฒเบเบชเบฑเบเปเบเบเบเบฒเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบต 'เบงเบฑเบเบเบธ', เบเปเบฒเบเปเบเบดเบ, เบเบฑเบเปเบเปเบเบฑเบเบงเบดเบเบตเบเบฒเบเบเบตเป.
เบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบปเบงเบเบดเบเบเบญเบเปเบเบเบเบฒเบเบเบฐเบเบทเบเบเบฑเบเบเบฒเบเปเบเบเบเปเบฒเบชเบฑเปเบเบเบฒเบเบเบญเบเปเบเบดเปเบเบเบปเบเปเบเปเบฎเบฑเบ
เบเบฒเบโเบเบฒเบโเบเบฐโเบซเบเบฒเบโเบเบปเบงโเบเปเบฝเบโเบเบฒเบโเบเปเปโเบชเปเบฒเบ `LINKCOMโ, เบเบฑเบ `%<โ' เบเบฑเปเบโเปเบเบฅโเปโเบงเบฑเบโเบเบธโเปเบเบฑเบโ
เบเบทเบเปเบเบทเปเบญเบกเบเปเป (เปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเปเบฒเบชเบฐเปเบซเบเบต), เปเบฅเบฐ `%>' เบเปเบฒเบเบปเบเปเบเบปเปเบฒเบซเบกเบฒเบ (เปเบเบดเปเบเบงเบดเบเบตเบเบฒเบ 'เบเปเบฒเบชเบฑเปเบ'
เบชเปเบฒเบฅเบฑเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบฒเบเบเบฐเบซเบเบฒเบ). เบเบนเปเปเบเปเบญเบฒเบเบเบฐเบเปเบฒเบเบปเบเบเบปเบงเปเบเปเบเบตเปเบกเปเบเบตเบกเปเบเบเบฒเบเบเปเปเบชเปเบฒเบ
เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก, เบฅเบงเบกเบเบฑเบ `LINK', เปเบเบทเปเบญเบเปเบฒเบเบปเบเปเบเบเบเบฒเบเบเบตเปเบเบฐเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ, `LIBPATH', a
เบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบตเปเปเบเบเบญเบญเบเบเบฒเบเบเปเปเบฒเบชเบญเบเปเบกเบฑเบเบเบญเบเปเบชเบฑเปเบเบเบฒเบเบเบปเปเบเบซเบฒเบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบชเบฐเปเบเบฒเบฐเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบญเบ
เบฎเบนเบเปเบเบ - เบฅเบตเบ, เปเบฅเบฐ `LIBS', เบฅเบฐเบเบธเบฅเบฒเบเบเบทเปเบซเปเบญเบเบชเบฐเปเบธเบเปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเป (เปเบเบเบฑเบเบชเบญเบ - เบฅเบตเบ
เปเบเบเบเบญเบกเบซเบผเบทเบเบฝเบเปเบเปเปเบเบฑเบเบเบทเปเปเบชเบฑเปเบเบเบฒเบ. เบเบทเปเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเปเบเบเบฑเบ 'LIBPATH' เปเบฅเบฐ 'LIBS' เบเบทเบเบเบตเบเบงเบฒเบกเปเบฒเบ
เบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบทเบเบชเปเบฒเบเบเบทเปเบ
(เบเบทเปเบชเบปเบกเบกเบธเบเบเบดเบเบฒเบ เปเบฅเบฐเบเบทเปเบเบตเปเบเปเบฝเบงเบเปเบญเบเบญเบฒเบเบเบฐเบเบทเบเปเบเปเปเบเบฑเปเบเบเบฑเบ). Cons เบเบฑเปเบเบเปเบฒเบญเบฑเบเบเบฐเปเบเบกเบฑเบ
เบเบฒเบเบเบทเปเบเบเบฑเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบเปเบเบตเปเปเบเปเบเปเบฒเบงเปเบงเปเปเบ `LIBS': เบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบซเบผเบปเปเบฒเบเบฑเปเบเบเบฐเบเบทเบเบชเปเบฒเบเบเบทเปเบเบเปเบญเบ
เบเปเบฒเบชเบฑเปเบเบเบทเบเปเบเบทเปเบญเบกเบเปเป.
เปเบเป เบซเปเบชเบฐเปเบธเบ เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เบซเปเบญเบเบชเบฐเบซเบกเบธเบ' เบเบฑเบเปเบเบเปเบเบทเปเบญเบชเปเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบตเปเบฅเบฐเบเบธเบเบฒเบเบงเบฑเบเบเบธเบเบตเปเบฅเบฐเบเบธ
เปเบเบฅเป. เบกเบฑเบโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
เบซเปเบญเบเบชเบฐเปเบธเบ $env , ;
เบเบทเปเบซเปเบญเบเบชเบฐเปเบธเบเบเบฐเบกเบตเบกเบนเบเบเปเบฒเบเบญเบเบเบปเบงเปเบเบเบฒเบเบเปเปเบชเปเบฒเบ 'SUFLIB' เบเปเปเบเปเบฒเบ (เปเบเบ
เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, `.lib' เปเบเบฅเบฐเบเบปเบ Win32, `.a' เปเบเบฅเบฐเบเบปเบ Unix) เบเปเบฒเบเบณเบเปเปเบเปเบฒเบเบเปเปเปเบกเปเบเปเบฅเปเบง
เบเบฐเบเบธเบเบฑเบ.
เปเบเบฅเปเบเบปเปเบเบชเบฐเบเบฑเบเบญเบฒเบเบเบฐเบเบทเบเบฅเบฐเบเบธเปเบเบเปเบเบฅเปเบงเบฑเบเบเบธ -- เบงเบดเบเบตเบเบฒเบ 'เบงเบฑเบเบเบธ' เบเบฐเปเบเบฑเบ
invoked เบเบฒเบโเบเบฑเบโเปเบเบโเบเบฒเบโเบเปเบฝเบโเปเบเบฅโเปโเบเบฑเบโเบซเบกเบปเบโเปเบเบปเปเบฒโเปเบโเปเบโเปเบเบฅโเปโเบงเบฑเบโเบเบธโ, เปเบฅเบฐโเปเบเบฒเบฐโเบชเบฐโเบเบฑเปเบโเบเบฑเบโเบซเบกเบปเบโ
เบเบฒเบเบชเบฑเบเปเบเบเบเบฒเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบต 'เบงเบฑเบเบเบธ', เบเปเบฒเบเปเบเบดเบ, เบเบฑเบเปเบเปเบเบฑเบเบงเบดเบเบตเบเบฒเบเบเบตเป.
เบเบฒเบเบชเปเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบปเบงเบเบดเบเบเบฐเบเบทเบเบเบฑเบเบเบฒเบเปเบเบเบเปเบฒเบชเบฑเปเบเบเบฒเบเบเบญเบเปเบเบดเปเบเบเบปเบเปเบเปเบฎเบฑเบ
เบเบฒเบโเบเบฒเบโเบเบฐโเบซเบเบฒเบโเบเบปเบงโเบเปเบฝเบโเบเบฒเบโเบเปเปโเบชเปเบฒเบ `ARCOMโ, เบเบฑเบ `%<โ' เบเบฑเปเบโเปเบเบฑเบโเบชเบฐโเบกเบฒโเบเบดเบโเบซเปเบญเบโเบชเบฐโเบซเบกเบธเบ (เปเบ
เบเปเบฒโเบชเบฑเปเบโเบเบตเปโเบเปเบฒโเบชเบฐโเปเบซเบเบตโ)โ, เปเบฅเบฐ `%โ>โ' เบเบฑเบโเบซเปเบญเบโเบชเบฐโเบซเบกเบธเบโเบเบตเปโเบเบฐโเบชเปเบฒเบโเบเบฑเปเบโเบเบถเปเบ (เปเบเบดเปเบโเบงเบดโเบเบตโเบเบฒเบ "เบเปเบฒโเบชเบฑเปเบโ" เบชเปเบฒโเบฅเบฑเบโเบเบฒเบโ
เบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบฒเบเบเบฐเบซเบเบฒเบ). เบเบนเปเปเบเปเบญเบฒเบเบเบฐเบเปเบฒเบเบปเบเบเบปเบงเปเบเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบเบฐ
เบเบปเบเบเบฐเบเบปเบเบเปเปเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบเปเบฒเบชเบฑเปเบ. เปเบซเบผเบปเปเบฒเบเบตเปเบฅเบงเบกเบกเบต `AR', เปเบเบฃเปเบเบฃเบกเปเบเบฑเบเบเปเปเบกเบนเบเปเบเบทเปเบญเปเบเป,
`ARFLAGS', เปเบเบดเปเบเบชเบฒเบกเบฒเบเบเบทเบเปเบเปเปเบเบทเปเบญเบเบฑเบเปเบเบเบเบธเบเบเบตเปเบกเบญเบเปเบซเปเบเบฑเบเปเบเบเบเบฒเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบ `AR',
เปเบฅเบฐ 'RANLIB', เบเบทเปเบเบญเบเปเบเบฃเปเบเบฃเบกเบชเปเบฒเบเบเบฑเบเบชเบฐเบเบตเปเบเบฑเบเบกเปเบฝเบ, เบเปเบฒเบเปเบญเบเบเบฒเบ (เบเปเบฒเบชเบฐเปเบเบฒเบฐ
เบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเบตเบซเบเปเบฒเบเบตเปเบชเบธเบเบเปเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ 'ARCOM' เบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเปเบฒเบเบปเบเปเบซเบกเปเปเบเบทเปเบญเบเปเป
เบญเปเบฒเบเบญเบดเบ `RANLIB').
เบงเบดเบเบตเบเบฒเบ 'เบซเปเบญเบเบชเบฐเบซเบกเบธเบ' เบญเบฐเบเบธเบเบฒเบเปเบซเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบฝเบงเบเบฑเบเบเบทเบเบฅเบฐเบเบธเปเบงเปเปเบเบซเบผเบฒเบเบงเบดเบเบต
เบเบณเบฎเบฝเบเบฎเปเบญเบ. เบเบฑเบเปเบปเบเบเบญเบเบงเบฑเบเบเบธเบเบฐเบเบญเบเบชเปเบงเบเบเบฒเบเบเบฒเบเบฎเบฝเบเบฎเปเบญเบเบเบฑเบเปเบปเบ (เปเบเบดเปเบเบญเบฒเบเบเบฐเบกเบฒเบเบฒเบ
เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ) เบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเบเบฑเบเปเบฅเบฐเบชเปเบฒเบเบเบถเปเบเปเบเบเบเปเบฒเบชเบฑเปเบเปเบเบฑเบเบเปเปเบกเบนเบเบเบฝเบง. เบซเบกเบฒเบโเปเบซเบโ,
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบงเปเบฒเบเปเบฒเบเปเบฒเบเบเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเบทเปเบญเปเบซเปเบเบฝเบเปเบเปเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบเปเบเบทเบเบฅเบฐเบเบธ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฝเบเปเบเป
เบชเปเบงเบเบเบญเบเบซเปเบญเบเบชเบฐเปเบธเบเบเบฑเปเบเบเบฐเบเบทเบเบชเปเบฒเบเบเบทเปเบ (เบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเบเบฐเบซเบฒเบเปเบ!).
เปเบเป `เปเบกเบเบนเบ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เปเบกเบเบนเบ' เปเบกเปเบเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบญเบเบงเบดเบเบตเบเบฒเบ 'เปเบเบเบเบฒเบ' เปเบฅเบฐ 'เบเปเบฒเบชเบฑเปเบ'. เปเบเบโเบเบตเปโเบเบฐ
เบเบฒเบเบชเปเบฒเบเปเบเบเบเบฒเบเบเบตเปเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเปเบเบเบเบปเบ, เบเปเบฒเบชเบฑเปเบเบเบตเปเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเบเบญเบเบเปเบฒเบเปเบญเบ
เบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฐเบชเปเบฒเบเปเบกเบเบนเบเบเบปเบงเบเบดเบ. เบงเบดโเบเบตโเบเบฒเบโเปเบกเปเบโเบฎเบฝเบโเบฎเปเบญเบโเปเบซเปโเบกเบตโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
เปเบกเบเบนเบ $env , , ;
เบเปเบฒเบชเบฑเปเบเบเบตเปเปเบกเปเบเปเบเบฑเบเบเบฐเปเบซเบเบเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเบชเปเบฒเบ, เบเบปเบงเบขเปเบฒเบ, เปเบเบเปเบเบทเปเบญเบเปเบซเบง
เปเบกเบเบนเบเบเบตเปเปเบซเบฅเบ, เบซเบผเบทเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบฅเบฐเบซเบฑเบเบเบตเปเปเบเบทเปเบญเบกเปเบเบเปเบเบเบเบปเบเบเบตเป.
เปเบเป เบเบถเปเบเบเบฑเบ เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'Depends' เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบฅเบฐเบเบธเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเปเบเบตเปเบกเปเบเบตเบกเบชเปเบฒเบฅเบฑเบเปเบเบปเปเบฒเบซเบกเบฒเบเปเบเบซเบเบถเปเบ. เบกเบฑเบโเปเบกเปเบ
เบฎเบฝเบโเบฎเปเบญเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
เบเบถเปเบเบเบฑเบ $env , ;
เบญเบฑเบเบเบตเปเบญเบฒเบเบเบฐเปเบเบฑเบเบเบฐเปเบซเบเบเปเบเบฑเบเบเบฒเบเปเบญเบเบฒเบ, เปเบเบเบชเบฐเปเบเบฒเบฐเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเปเปเบกเบตเปเบเบทเปเบญเบเบชเบฐเปเบเบเบขเบนเป (เบซเบผเบท
เบเบฝเบเปเบเป) เบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบเบชเบฐเปเบเบฒเบฐเบเบญเบเปเบเบฅเป. เปเบเบเบเบปเบเบเบฐเบเบด, เบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเปเบกเปเบเบเบดเบเปเบฅเป
เบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบฒเบเบเบฒเบเบฅเบงเบกเบเบฑเบเบเบญเบเบเบฒเบเบเบถเปเบเบเบฑเบเบขเปเบฒเบเบเบฑเบเปเบเบเบเบตเปเบเบฑเปเบเบเบถเปเบเปเบเบเบงเบดเบเบตเบเบฒเบ
invocation เบซเบผเบทเปเบเบเบเบฒเบเบชเบฐเปเบเบเปเบเบฅเปเปเบซเบผเปเบ.
เบเบธเบเบเบญเบเบเบปเบงเบญเปเบฒเบเบญเบดเบเบเบตเปเบเบทเบเบฑเบเบชเบณเบฅเบฑเบเบซเบผเบฒเบเปเบเบปเปเบฒเปเบฒเบเบญเบฒเบเบเบฐเบเบทเบเบฅเบฐเบเบธเปเบเบเปเบเปเบเบฒเบเบญเปเบฒเบเบญเบตเบเปเบเบดเบ
เบเบฑเบโเบเบตโเบฅเบฒเบโเบเบทเปโเบเบญเบโเปเบเบปเปเบฒโเบซเบกเบฒเบโ. เปเบ Perl, เบเบฒเบเบญเปเบฒเบเบญเบตเบเบฅเบฒเบเบเบทเปเบชเบฒเบกเบฒเบเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเบเบเบฒเบเบเบดเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเปเบเบฑเบเบชเบตเปเบซเบผเปเบฝเบกเบกเบปเบ
เบงเบปเบเปเบฅเบฑเบ. เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
เบเบถเปเบเบเบฑเบ $env ['foo', 'bar'], 'input_file_1', 'input_file_2';
เบเปเบฒเบเบปเบเบงเปเบฒเบเบฑเบเบชเบญเบ เบเบน เปเบฅเบฐ เบเบฒเบเบฐเบเบฒเบเบเบงเบฒเบก เปเบเบฅเปเปเบกเปเบเบเบถเปเบเบเบฑเบเปเบเบฅเปเบเปเบญเบเบเปเปเบกเบนเบเบเบตเปเบกเบตเบฅเบฒเบเบเบทเป.
เปเบเป 'เบเปเปเบชเบปเบเปเบ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เบเปเปเบชเบปเบเปเบ' เบเปเบงเบเปเบซเปเบเปเบฒเบเบเปเปเบชเบปเบเปเบเบเบฑเบเบเบงเบฒเบกเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบขเปเบฒเบเบเบฑเบเปเบเบเบเบตเป Cons infers เบเปเบฝเบงเบเบฑเบเบกเบฑเบ.
เบเบญเบเบเบปเบเปเบญเบ. เบกเบฑเบโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
เบเปเปเบชเบปเบเปเบ ;
เบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบ recompilation เปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบเปเบเบฅเป header เบฅเบฐเบเบปเบเบซเบผเบท
เบเบปเบเบเบฐเปเบซเบเบเบเบตเปเบฎเบนเปเบงเปเบฒเบเปเปเบกเบตเบเบปเบเบเบฐเบเบปเบเบเปเปเปเบเบปเปเบฒเบซเบกเบฒเบเบเบตเปเบชเปเบฒเบเบเบถเปเบ.
เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เปเบเบฃเปเบเบฃเบกเบเบทเบเบชเปเบฒเบเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบเบดเบเบขเบนเปเบเบฑเบ NFS เปเบเบซเบผเบฒเบเบฅเบฐเบเบปเบเบเบตเป
เบกเบตเบชเปเบฒเปเบเบปเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบญเบ stdio.h, เบเบงเบฒเบกเปเบเบเบเปเบฒเบเบเบฐเบชเบปเปเบเบเบปเบเบเบฐเบเบปเบเบเปเปเบฅเบฒเบเปเบเบฑเบเบเบญเบเบเบฑเบเบซเบกเบปเบ
เปเบเปเบกเบฒเบเบฒเบเปเบเบปเปเบฒเบซเบกเบฒเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเบเบฒเบเปเบเบฅเปเปเบซเบผเปเบเบเบตเป `#include '. เบเบตเปเบเบฐเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบฑเบเบซเบกเบปเบ
เปเบเบปเปเบฒเบซเบกเบฒเบเปเบซเบผเบปเปเบฒเบเบฑเปเบเบเบฐเบเบทเบเบชเปเบฒเบเปเบซเบกเปเปเบเปเบงเบฅเบฒเบเบตเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบฅเบฐเบเบปเบ. เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเบตเปโเบเปเปโเปเบกเปเบโเบเบถเบโเบเบดโเบเปเบฒโเบเบตเปโเบเปเบญเบโเบเบฒเบโ,
เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโ, เปเบชเบฑเปเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโเบเบฐโเปเบญเบปเบฒโเบเบฒเบโเบเบถเปเบโเบเบฑเบโเบเบฒเบโ stdio.h file:
เบเปเปเบชเบปเบเปเบ '^/usr/include/stdio\.h$';
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบเบฒเบเปเบเปเบเบฝเบเบเบฑเบเบงเบดเบเบตเบเบฒเบ 'เบเปเปเบชเบปเบเปเบ' เปเบกเปเบเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเปเบเบฑเบเบเบปเบเบเบฐเบเบด, เบเบดเปเบชเบ
เบเบปเบงเบญเบฑเบเบชเบญเบเบเปเบญเบเบเบทเบเบซเบฅเบปเบเบซเบเบตเปเบฅเบฐเปเบเบปเปเบฒเบญเบฒเบเบเบฐเบเปเบญเบเบเบฒเบเบชเบฐเบกเปเบเบธเบเปเบฅเบตเปเบกเบเบปเปเบเบซเบผเบทเบชเบดเปเบเบชเบธเบเบเบญเบ
เบชเบฐเปเบเบเบญเบญเบเบเปเบงเบเบเบปเบงเบญเบฑเบเบชเบญเบ `^' เบซเบผเบท `$'.
เปเบเป เปเบเบทเบญ เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เปเบเบทเบญ' เบเบฐเปเบเบตเปเบกเบกเบนเบเบเปเบฒเบเบปเบเบเบตเปเปเบเบเบฒเบเบเบดเบเปเบฅเปเบฅเบฒเบเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบธเบเปเบเบตเปเปเบเปเบกเบฒ
เปเบเบฅเป. เบกเบฑเบโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
เปเบเบทเบญ $string;
เบเบฒเบเบเปเบฝเบเบเปเบฒเบเบญเบเปเบเบทเบญเบเบฐเบเบฑเบเบเบฑเบเปเบซเปเบกเบตเบเบฒเบเบชเปเบฒเบเปเบซเบกเปเบเบตเปเบชเบปเบกเบเบนเบเบเบญเบเบเบธเบเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒ. เบเบตเปเบชเบฒเบกเบฒเบเปเบเบฑเบ
เปเบเปเปเบเบทเปเบญเบเบฑเบเบเบฑเบเปเบซเปเบชเปเบฒเบเบเบทเบเปเบซเบกเปเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบเปเบญเบเบเบฒเบ. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ,
เปเบเบทเบญ `uname -s`;
เบเบฐเบเบฑเบเบเบฑเบเปเบซเปเบชเปเบฒเบเบเบทเบเปเบซเบกเปเบขเปเบฒเบเบชเบปเบกเบเบนเบเบเบญเบเบเบธเบเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒเบเบธเบเบเบฑเปเบเบเบตเปเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบตเบ
เปเบเบดเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบกเปเบเบเบฐเบเบดเบเบฑเบ (เบเบฒเบกเบเบฒเบเบฅเบฒเบเบเบฒเบเปเบเบ `uname -s') เบเบฒเบเบเปเบฝเบเปเบเบ.
เปเบเป 'เปเบเปเปเบเบ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'UseCache' เปเบเบฐเบเปเบฒ Cons เปเบเบทเปเบญเบฎเบฑเบเบชเบฒ cache เบเบญเบเปเบเบฅเปเบเบตเปเปเบเปเบกเบฒ, เปเบเบทเปเบญเปเบเปเบเบเบฑเบ.
เปเบเบเบฑเบเบเบฒเบเบปเปเบเปเบกเปเบเปเปเบชเปเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบเบเบญเบเปเบเบเบเบฒเบเบเบฝเบงเบเบฑเบ.
UseCache("cache/ ") โชโช เปเบเบทเบญเบ("เบเปเปเบเบปเบ cache directory");
เปเบเป 'เปเบชเบฑเปเบเบเบฒเบเปเบซเบผเปเบ' เบงเบดเบเบตเบเบฒเบ
เบเบฐเบเบดเบเบชเบฒเบ 'SourcePath' เบเบญเบเบเบทเปเปเบชเบฑเปเบเบเบฒเบเปเบซเบผเปเบเบเบตเปเปเบเปเบเบดเบเบเบญเบเปเบเบฅเป, เบเบปเบเบเบฑเบเบเปเบฒเบกเบเบฑเบ
เบเบทเปเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบชเปเบฒเบ. เบกเบฑเบโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
$path = SourcePath ;
เปเบเป เปเบชเบฑเปเบเบเบฒเบ ConsPath เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'ConsPath' เบเบฑเบเบเบทเบเบกเบฒเปเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเปเบฒเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบชเบฐเบซเบเบญเบเปเบซเปเปเบเบฑเบเปเบเบฅเปเบเบตเปเบกเบฒเบเบฒเบ, เปเบฅเบฐเบชเบปเปเบเบเบทเบ
undef (false) เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบ. เบกเบฑเบโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
$result = ConsPath ;
เปเบเป `เบเบฒเบเปเบเบ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'SplitPath' เบเบญเบเบซเบฒเบเบทเปเปเบชเบฑเปเบเบเบฒเบเบซเบผเบฒเบเบญเบฑเบเปเบเบชเบฐเบเบฃเบดเบเบเบตเปเปเบเบเบญเบญเบเปเบเบฑเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ
เบเบปเบงเปเบเบเปเบชเบฑเปเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ (':' เปเบเบฅเบฐเบเบปเบ UNIX, ';' เปเบ Windows NT), เปเบฅเบฐ
เบชเบปเปเบเบเบทเบเบเบทเปเบเบตเปเบกเบตเบเบธเบเบชเบปเบกเบเบฑเบเบเบปเบเบเปเบงเบ. เบกเบฑเบโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
@paths = SplitPath ;
เบงเบดเบเบตเบเบฒเบ 'SplitPath' เบเบฐเบเปเบฝเบเบเบทเปเบเบตเปเบเบณเปเปเบฒ '#' เปเบเบชเบนเปเบเบฒเบเบชเปเบฒเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบเบเบตเปเปเปเบฒเบฐเบชเบปเบก.
name (เบเปเปเบกเบต '#') เปเบฅเบฐเบเบฐเบเปเบฝเบเบเบทเปเบเบตเปเบเปเบญเบเปเบเบฑเบเบเบทเปเบฅเบฐเบเบฑเบเปเบเบดเบ.
เปเบเป "DirPath" เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'DirPath' เบเบฑเบเบเบทเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบเปเปเบชเปเบฒเบ เบเบทเป(s) เบเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบซเบผเบทเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบต.
เบกเบฑเบโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
$cwd = DirPath ;
เบเบฒเบเบเปเบฒเปเบเปเบเบปเปเบงเปเบเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบเบงเบดเบเบตเบเบฒเบ 'DirPath' เปเบกเปเบ:
$cwd = DirPath '.';
เปเบเบทเปเบญเปเบญเบปเบฒเปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฐเบเบธเบเบฑเบเบเบญเบเบเปเบฅเบดเบชเบฑเบเบเปเบญเบ เบเบฐเบเบฝเบ เบเบทเปเบ.
เปเบเป `เปเบชเบฑเปเบเบเบฒเบเปเบเบฅเป' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'FilePath' เบเบญเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบเปเปเบชเปเบฒเบ เบเบทเป(s) เบเบญเบเปเบเบฅเปเบซเบผเบทเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเปเบเบฅเป. เบกเบฑเบโเปเบกเปเบ
เบฎเบฝเบโเบฎเปเบญเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
$file = FilePath ;
เปเบเป `เบเปเบงเบ' เบงเบดเบเบตเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เบเบฒเบเบเปเบงเบเปเบซเบผเบทเบญ' เบฅเบฐเบเบธเบเปเปเบเบงเบฒเบกเบเปเบงเบเปเบซเบผเบทเบญเบเบตเปเบเบฐเบชเบฐเปเบเบเปเบกเบทเปเบญเบเบนเปเปเบเปเบฎเบฝเบเบฎเปเบญเบ `cons
-เบ'. เบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบชเบฐเบซเบเบญเบเปเบญเบเบฐเบชเบฒเบเบเบญเบเปเบเบปเปเบฒเบซเบกเบฒเบเบชเบฐเปเบเบฒเบฐ, เบกเบนเบเบเปเบฒ, เบเบฒเบเบเปเปเบชเปเบฒเบ
เบเบฒเบเปเบฅเบทเบญเบ, เปเบฅเบฐเบญเบทเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบปเปเบเปเบกเป. เบกเบฑเบโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
เบเปเบงเบเปเบซเบผเบทเบญ ;
เบงเบดเบเบตเบเบฒเบ 'เบเบฒเบเบเปเบงเบเปเบซเบผเบทเบญ' เบญเบฒเบเบเบฐเบเบทเบเปเบญเบตเปเบเบเบฝเบเปเบเปเบเบฑเปเบเบเบฝเบง, เปเบฅเบฐเปเบเบเบเบปเบเบเบฐเบเบดเบเบงเบเบเบฐเบเบทเบเบฅเบฐเบเบธเปเบงเปเปเบเบเปเบฒเบเปเบเบดเบ.
เบฅเบฐเบเบฑเบ เบเปเปเบชเปเบฒเบ เบเบทเปเบ.
เบเบฒเบเบเบฐเบซเบเบฒเบ cons
เบเปเบฒเบก เบเบฒเบเบเปเปเบชเปเบฒเบ เบเบปเบงเปเบ
เบกเบตเบซเบผเบฒเบเบงเบดเบเบตเบเบญเบเบเบฒเบเบเบฐเบซเบเบฒเบ Cons, เปเบเบดเปเบเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบฅเบฐเบเบฑเบเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบ. เบเปเบฒเบโเบเบตเปโเบชเบธเบโ
เบงเบดเบเบตเบเบฒเบเปเบกเปเบเบเปเบฒเบเบปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบเบเบญเบเบเปเบฒเบเปเบญเบ, เปเบเบเบญเบตเบเปเบชเปเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเปเบฅเบตเปเบกเบเบปเปเบ,
เปเบเปเบเบฑเบเปเบเปเปเบเบทเปเบญเบชเบฐเบเปเบญเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบชเบฐเปเบเบฒเบฐเบเบญเบเปเบเบปเปเบฒ. เบเบตเปเบกเบฑเบเบเบฐเบเบฝเบเบเปเบชเปเบฒเบฅเบฑเบ C-based
เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป 'เปเบซเบกเป' constructor, เปเบฅเบฐ 'clone' เปเบฅเบฐ 'copy' เบงเบดเบเบตเบเบฒเบ
เบชเปเบฒเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฐเบชเบปเบก. เบเบฒเบเบเปเบฝเบเปเบเบเปเบซเบผเบปเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเบกเบตเบเบงเบฒเบกเปเบเปเบเปเบชเบเบฑเบเปเบปเบเบเปเปเบเบฑเบเบเบทเปเบเบเบฒเบ
เบเบฐเบเบฝเบ เปเบเบฅเป.
เปเบเบตเปเบกเบเบทเปเบก เปเบซเบกเป เบงเบดเบเบตเบเบฒเบ
เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบเปเบญเบเบเบฒเบเปเบฅเบฑเบเบเปเบญเบ, เบเปเบฒเบเบญเบฒเบเบเบฐเบเปเบญเบเบเบฒเบเปเบเบตเปเบกเบงเบดเบเบตเบเบฒเบเปเบซเบกเปเปเบซเปเบเบฑเบ 'เบเปเปเปเบชเบ'.
เบเบธเบ. เบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบชเปเบงเบเบเบฐเบซเบเบฒเบเบเบตเปเบเปเบฒเบเบเบฒเบเบซเบผเบฒเบ, 'InstallScript', เปเบเบดเปเบเบเบดเบเบเบฑเปเบ a
tcl script เปเบเบชเบฐเบเบฒเบเบเบตเปเบเบตเปเบฎเปเบญเบเบเป, เปเบเปเปเบเปเปเบเบชเบฐเบเบดเบเบเปเบฒเบญเบดเบเปเบเบทเปเบญเบชเบฐเบเปเบญเบเปเบซเปเปเบซเบฑเบเปเบงเบเบต-
เปเบชเบฑเปเบเบเบฒเบเบเบตเปเบเบถเปเบเบเบฑเบเบเบตเปเบเปเบญเบเบเบฒเบเบเบดเบเบเบฑเปเบเปเบเบชเบฐเบเบฃเบดเบ:
# cons::InstallScript - เบชเปเบฒเบเปเบงเบตเบเบฑเบเบเบตเปเบเบถเปเบเบเบฑเบเปเบงเบเบตเบเบญเบ shell
# เบชเบฐเบเบฃเบดเบเปเบเบเบเบฒเบเบเปเบฝเบเบชเบฐเบเบฃเบดเบ ``#!your-path-here'' เบเปเบงเบเปเบงเบเบตเบชเบฐเปเบเบฒเบฐ
# เปเบชเบฑเปเบเบเบฒเบ $BIN_DIR.
sub cons::InstallScript {
เบเบญเบเบเปเบญเบ ($env, $dst, $src) = @_;
เบเปเบฒเบชเบฑเปเบ $env $dst, $src, qq(
sed s+your-path-here+$BIN_DIR+ %< > %>
chmod oug+x %>
);
}
เบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเบงเบดเบเบตเบเบฒเบเบเบตเปเบเบทเบเบเปเบฒเบเบปเบเปเบเบเบเบปเบเปเบเบเบธเบ 'cons' (เปเบเบเบเบฒเบเบเปเบฒเบซเบเปเบฒเบเบทเป
เบเบฑเบ `cons::'). เบเบฒเบโเบเปเบฝเบโเปเบเบโเปเบโเบฅเบฑเบโเบชเบฐโเบเบฐโเบเบตเปโเบเบฐโเปเบซเบฑเบโเปเบเปโเปเบโเบเบปเปเบงโเปเบฅเบโเบเบฑเบโเบชเบฐโเบเบฒเบโเปเบงเบโเบฅเปเบญเบกโเบเบฑเบโเบซเบกเบปเบโ,
เปเบฅเบฐเบชเบฒเบกเบฒเบเปเบญเบตเปเบเปเบเปเปเบเบเบปเบงเบขเปเบฒเบเบเปเปเปเบเบเบตเป:
InstallScript $env "$BIN/foo", "foo.tcl";
เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบธเบเปเบฅเบฑเบเบเปเบญเบเปเบเบเบเบปเปเบงเปเบ, เบเบปเบงเปเบ 'BINDIR' เบชเบฒเบกเบฒเบเบเบทเบเบชเบปเปเบเบเปเบฒเบเปเบเบฑเบ
เบเบฒเบเปเบเปเบเบฝเบ เบซเบผเบทเปเบญเบปเบฒเบกเบฒเบเบฒเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเปเปเบชเปเบฒเบ -- เปเบเบฑเบ `%BINDIR'.
เบเปเบฒเบก เบงเบดเบเบตเบเบฒเบ
เปเบเบเบเบตเปเบเบฐเปเบเบตเปเบกเบงเบดเบเบตเบเบฒเบเปเบชเปเบเปเบญเบเบเบทเป 'เบเปเปเปเบชเบ', เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเบเบธเบเปเบซเบกเป
เปเบเบดเปเบเบชเบทเบเบเบญเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเบเบฒเบเบเบธเบ 'cons' เปเบฅเบฐ overrides เบซเบผเบทเปเบเบตเปเบกเบญเบทเปเบเป. เบเบตเป
เบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบเบเปเบเปเบเบปเบเปเบเบเบฒเบเบชเบทเบเบเบญเบเบเบญเบ Perl.
เบเบปเบงเบขเปเบฒเบเบเปเปเปเบเบเบตเปเบเปเบฒเบเบปเบเบเบธเบเปเบซเบกเป 'cons::switch' เปเบเบดเปเบ overrides เบกเบฒเบเบเบฐเบเบฒเบ
เบงเบดเบเบตเบเบฒเบ 'เบซเปเบญเบเบชเบฐเบซเบกเบธเบ'. เบงเบดเบเบตเบเบฒเบ overridden เบเปเปเบชเปเบฒเบเปเบกเบเบนเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบเบทเปเบญเบกเบเปเป, เปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ
เบฎเบงเบเบฎเบงเบก. เบกเบตเบเบนเปเบเปเปเบชเปเบฒเบเปเปเปเปเบซเป. เบชเบดเปเบโเปเบงเบโเบฅเปเบญเบกโเบเบตเปโเบชเปเบฒเบโเบเบถเปเบโเบเบฑเบ constructor เบเบตเปโเบเบฐโ
เบกเบตเบงเบดเบเบตเบเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบซเบกเป; เบเบปเบเบญเบทเปเบเบเบฐเบเปเป.
package cons::เบชเบฐเบซเบผเบฑเบ;
BEGIN {@ISA = 'cons'}
เบเปเบญเบเปเบซเบกเป {
เบเปเบฝเบ;
เปเบเบฑเบเบเบญเบเปเบซเปเปเบเป cons เปเบซเบกเป(@_);
}
เบซเปเบญเบเบชเบฐเปเบธเบเบเปเบญเบ {
my($env) = shift;
my($lib) = shift;
my(@objs) = เบงเบฑเบเบเบธ $env @_;
เบเปเบฒเบชเบฑเปเบ $env $lib, @objs, q(
%LD -r %LDFLAGS %< -o %>
);
}
เบซเบเปเบฒเบเบตเปเบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเปเบญเบตเปเบเปเบเบเบปเบงเบขเปเบฒเบเบเปเปเปเบเบเบตเป:
$env = new cons::switch(@overrides);
...
เบซเปเบชเบฐเปเบธเบ $env 'lib.o', 'foo.c', 'bar.c';
เบเบฒเบเบเป cons
เบเปเบฒเบชเบฑเปเบ 'cons' เบกเบฑเบเบเบฐเบเบทเบเปเบญเบตเปเบเบเบฒเบเบฎเบฒเบเบเบญเบเบเบปเปเบเปเบกเปเบเปเปเบชเปเบฒเบ. เบ เบเปเปเบชเปเบฒเบ เปเบญเบเบฐเบชเบฒเบ
เบเปเบญเบเบกเบตเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฑเปเบ. เบเปเบฒเบญเบฒเบเบดเบงเปเบกเบฑเบ `-f' เบเบทเบเบเปเบฒเปเบเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบ เบเปเปเบชเปเบฒเบ
เปเบเบฅโเปโเบญเบฒเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบเปเบฒโเปเบเป (เปเบฅเบฐโ, เปเบเบฑเบโเปเบโเปเบเปโ, เปเบเบฑเบโเบฎเบฒเบโเบชเบฐโเบซเบผเบฑเบโ, เบเบฑเบโเบเบฑเปเบโเปเบเป 'consโ' เบเบฐ cd เบเบฑเบ เบเปเปเบชเปเบฒเบ
เปเบเบฅเปเบเบตเปเบเบฐเบเบญเบเบเปเบงเบเปเบเปเบฅเบเบฐเบเปเบฅเบต).
เบเปเบฒ 'เบเปเปเปเบชเบ' เบเบทเบเปเบญเบตเปเบเบเบฒเบเบฅเบนเบเบเบญเบเบฎเบฒเบเบเบญเบเบเบปเปเบเปเบกเปเบเปเปเบชเปเบฒเบเบเปเบงเบเบเบฒเบเปเบเปเบเบฝเบ '-t', เบกเบฑเบ.
เบเบฐเบเปเบฒเบเบเบถเปเบเบฅเปเบฒเบเบฑเบเบเบฑเปเบเบเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเบฒเบฅเบฑเบเบเบญเบเบซเบฒ a เบเปเปเบชเปเบฒเบ เปเบเบฅเป. (เบเบทเปเบชเบณเบฎเบญเบเบญเบฒเบเบเบฐ
เบเบฑเบเบเบทเบเบฅเบฐเบเบธเบเปเบงเบ `-f'.) เปเบเบปเปเบฒเปเบฒเบเบเบตเปเบชเบฐเปเบญเบเปเบซเปเบขเบนเปเปเบเปเบเบงเบเบณเบชเบฑเปเบเบเบฐเบเบทเบเบเบฑเบเปเบเป
เปเบเบฑเบเบเบตเปเบเปเบญเบเบเบฑเบเบเบฒเบเบเบปเปเบเบเบปเบ เบเปเปเบชเปเบฒเบ เปเบเบฅเป. เบเบปเบงเบขเปเบฒเบ, เบเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบกเบต
เบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ เบเปเปเบชเปเบฒเบ เปเบเบฅเป, เบเบฒเบเบฎเบฝเบเบฎเปเบญเบเบเปเปเปเบเบเบตเป:
% cd libfoo/subdir
% cons -t เปเบเบปเปเบฒเบซเบกเบฒเบ
เปเบเบปเปเบฒเบเบฑเบ:
% cons libfoo/subdir/target
เบเปเบฒเบกเบตเปเบเบปเปเบฒเปเบฒเบ 'เบกเบฒเบเบเบฐเบเบฒเบ' เบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบฅเบณเบเบฑเบเบเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบต เบเปเปเบชเปเบฒเบ or
เบเบฐเบเบฝเบ เปเบเบฅเป, เบเบฝเบเปเบเปเปเบเบปเปเบฒเบซเบกเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบขเบนเปเบซเบผเบทเบเปเบฒเบเบฅเบธเปเบกเบเบตเปเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเป 'cons -t'
เปเบเป invoked เบเบฐ เปเบเป เบฎเบฑเบ เบเบฒเบ เบเปเป เบชเปเบฒเบ.
เบเปเบฒโเบชเบฑเปเบโเปเบกเปเบโเปเบญเบตเปเบโเบงเปเบฒโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
เบเปเปเปเบชเบ --
เบเปเบญเบเบเบตเป เบเบฐเบเบนเปเบเบตเป เบชเบฒเบกเบฒเบเปเบเบฑเบเบญเบฑเบเปเบเบญเบฑเบเปเบถเปเบเบเปเปเปเบเบเบตเป, เปเบเบฅเบณเบเบฑเบเปเบเบเบถเปเบ:
เปเบเบปเปเบฒโเบซเบกเบฒเบ เบชเปเบฒเบเปเบเบปเปเบฒเบซเบกเบฒเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเป. เบเปเบฒ เปเบเบปเปเบฒโเบซเบกเบฒเบ เปเบเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบต, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบชเปเบฒเบ recursively
เบเบธเบเบขเปเบฒเบเบเบฒเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฑเปเบ.
+ เบฎเบนเบเปเบเบ เบเปเบฒเบเบฑเบเบเบฒเบ เบเบฐเบเบฝเบ เปเบเบฅโเปโเบเบตเปโเบเบดโเบเบฒโเบฅเบฐโเบเบฒโเบเบฝเบโเปเบเปโเบเบตเปโเบเบปเบโเบเบฑเบโ เบฎเบนเบเปเบเบ, เปเบเบดเปเบเปเบกเปเบ
เบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบปเบเบเบฐเบเบด Perl. เบเบญเบกเบฎเบฑเบเบญเบฒเบเบดเบงเปเบกเบฑเบ `+' เบซเบผเบฒเบเบญเบฑเบ.
เบเบทเป=
เบเบธเบ เบเบทเป เบกเบนเบเบเปเบฒ h เปเบ hash `ARG' เบเปเบฒเบเปเบเปเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ เบเปเปเบชเปเบฒเบ เบเบทเปเบ.
`-cc' เบชเบฐเปเบเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบ, เปเบกเบทเปเบญเบเบถเบเบเปเปเบกเบนเบเบเบฒเบ cache. เบเปเป
เบเบฒเบเบเบตเปเบเบญเบเบงเปเบฒเปเบเบฅเปเปเบเปเบเบทเบเบเบถเบเบญเบญเบเบกเบฒเปเบฅเปเบง; เบเบตเปเปเบกเปเบเปเบเบฑเบเบเบฐเปเบซเบเบเบชเปเบฒเบฅเบฑเบ
เบเบฒเบเบชเปเบฒเบเบเบฑเบเบเบถเบเบเบฒเบเบชเปเบฒเบเบเบตเปเบชเบฒเบกเบฒเบเบเบฝเบเบเบฝเบเบเบฑเบเบเบฑเบเบเบถเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเปเบเปเบเบดเบ.
`-cd' เบเบดเบเบเบฒเบเปเบเบฑเบเบเปเปเบกเบนเบเบเบฑเบเปเบปเบ. เบขเปเบฒเบเบถเบเบเปเปเบกเบนเบเบเบฒเบ cache เบซเบผเบท flush เปเบ cache.
`-cr' เบชเปเบฒเบเบเบงเบฒเบกเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเปเบเบฅเปเบฒเบเบฑเบเปเบเบเบชเบธเปเบก. เบเบตเปเปเบกเปเบเปเบเบฑเบเบเบฐเปเบซเบเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบเปเปเบชเปเบฒเบเบซเบผเบฒเบ
เบเบปเปเบเปเบกเปเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบเบตเปเบกเบตเบเบฒเบเปเบเบตเบเปเบเป cache.
`-cs' synchronize เปเบเบปเปเบฒเบซเบกเบฒเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเบเบตเปเบเบปเบเบงเปเบฒเบกเบตเบเบงเบฒเบกเบเบฑเบเบชเบฐเปเบซเบกเบเบฑเบ cache.
เบญเบฑเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบเบเปเบฒเบเบฒเบเบเบดเบเบเบฒเบเบเบณเปเบเปเบเบฒเบเปเบเบฑเบเบเปเปเบกเบนเบเบเบฒเบ -cc เบซเบผเบทเบซเบฒเบเปเปเบเบตเบเปเบเปเปเบกเบทเปเบญเบเปเปเบเบปเบเบกเบฒเบเบตเป
เบเปเบงเบ UseCache.
`-d' เปเบเบตเบเปเบเปเบเบฒเบเบเบตเบเบฑเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช.
`-f'
เปเบเปเปเบเบฅเปเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบ เบเปเปเบชเปเบฒเบ (เปเบเปเบเปเบฒเบญเบดเบเบเปเบฝเบเปเบเบฑเบเบเบฑเบเบเบธ
เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบญเบ เปเบญเบเบฐเบชเบฒเบ).
`-h' เบชเบฐเปเบเบเบเปเปเบเบงเบฒเบกเบเปเบงเบเปเบซเบผเบทเบญเปเบเบเปเบญเบเบเบดเปเบเบเปเปเบเบฑเบเบเบฒเบเบชเปเบฒเบเบเบฐเบเบธเบเบฑเบเบเปเบฒเบญเบฑเบเปเบเบเบถเปเบเบเบทเบเบเบณเบเบปเบ, เปเบฅเบฐเบญเบญเบ.
`-k' เบชเบทเบเบเปเปเปเบเปเบเบปเปเบฒเบเบตเปเปเบเบฑเบเปเบเปเบเปเบซเบผเบฑเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ.
`-o'
เบญเปเบฒเบเปเบเบฅเป override เปเบญเบเบฐเบชเบฒเบ.
`-p' เบชเบฐเปเบเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเปเปเบชเปเบฒเบเปเบเบเบปเปเบเปเบกเปเบเบตเปเบฅเบฐเบเบธ. เบเปเปเบกเบตเบเบฒเบเบเบฐเบเบฒเบเบฒเบกเบเปเปเบชเปเบฒเบ.
`-pa' เบชเบฐเปเบเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเปเปเบชเปเบฒเบเปเบฅเบฐเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบเปเบฝเบงเบเปเบญเบ. เบเปเปเบกเบตเบเบฒเบเบเบฐเบเบฒเบเบฒเบกเบเปเปเบชเปเบฒเบ.
`-pw' เบชเบฐเปเบเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเปเบฅเบฐเบเปเบญเบเบเบตเปเบเบงเบเบกเบฑเบเบเบทเบเบเปเบฒเบเบปเบ. เบเปเปเบกเบตเบเบฒเบเบเบฐเบเบฒเบเบฒเบกเบเปเปเบชเปเบฒเบ.
`-q' เบขเปเบฒเปเบงเบปเปเบฒเบซเบผเบฒเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบ เปเบฅเบฐเบฅเบถเบเปเบเบปเปเบฒเปเบฒเบ.
`-r' เปเบญเบปเบฒเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเปเปเบชเปเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบ . เบเปเปเบกเบตเบเบฒเบเบเบฐเบเบฒเบเบฒเบกเบเปเปเบชเปเบฒเบ.
`-R'
เบเบญเบเบซเบฒเปเบเบฅเปเปเบ เบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญ. เบซเบผเบฒเบ -R เบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญ เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบทเบเบเบปเปเบเบซเบฒเบขเบนเปเปเบ
เบเปเบฒโเบชเบฑเปเบโเบเบตเปโเบฅเบฐโเบเบธโเปเบงเปโ.
`-t' เบเปเบฒเบกเปเบเบเบฒเบกเบฅเปเบฒเบเบฑเบเบเบฑเปเบเบเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบญเบเบซเบฒ a เบเปเปเบชเปเบฒเบ เปเบเบฅเป, เบเปเบฒเบเปเปเบกเบต
เปเบโเบฅเบฐโเบเบปเบโเบเบฐโเบเบธโเบเบฑเบโ. เปเบเบปเปเบฒเปเบฒเบเบเบฐเบเบทเบเบเบฑเบเปเบเปเปเบซเปเบชเบปเบกเบเบฝเบเบเบฑเบ
เบเปเปเบชเปเบฒเบ เบเบทเปเบ.
`-v' เบชเบฐเปเบเบเบชเบฐเบเบฑเบ `cons' เปเบฅเบฐเบชเบทเบเบเปเปเบเบฒเบเบเบฐเบกเบงเบเบเบปเบ.
`-V' เบชเบฐเปเบเบ `cons' เบฎเบธเปเบเปเบฅเบฐเบญเบญเบ.
`-wf'
เบเบฝเบเบเบทเปเปเบเบฅเปเบเบฑเบเบซเบกเบปเบเบเบดเบเบฒเบฅเบฐเบเบฒเปเบเบปเปเบฒเปเบเปเบ เปเบญเบเบฐเบชเบฒเบ.
`-x' เบชเบฐเปเบเบเบเปเปเบเบงเบฒเบกเบเปเบงเบเปเบซเบผเบทเบญเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบเบญเบฑเบเบเบตเป, เปเบฅเบฐเบญเบญเบ.
เปเบฅเบฐ construct-args เบชเบฒเบกเบฒเบเปเบเบฑเบเบเปเปเปเบเปเปเบเปเบเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเปเบ เบเปเปเบชเปเบฒเบ เบเบทเปเบ.
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบเบงเบเบเบฐเบกเบต a -- เปเบเบเบเบฒเบเปเบเปเบเบฝเบเบเบฑเบ cons เปเบฅเบฐเบเบฒเบเปเบเปเบเบฝเบเบเบตเปเบเปเบฒเบ
เบเปเบญเบเบเบฒเบเบเบธเบเปเบเปเบเบขเบนเปเปเบ เบเปเปเบชเปเบฒเบ เบเบทเปเบ.
เบเบฒเบเบเบธเบเปเบเปเบเบเบญเบ construct-args เบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบเบเบเบธเบเบกเบฒเบเบเบฐเบเบฒเบเปเบเบฑเปเบ Getopt เบซเบผเบทเบเบญเบเบกเบฑเบ
variants, เบซเบผเบทเบเบธเบเบเบตเปเบเบนเปเปเบเปเบเปเบฒเบเบปเบ. cons เบเบฐเบเปเบฒเบเปเบ construct-args as @ARGV เปเบฅเบฐ
เบเบฐเบเปเปเบเบฐเบเบฒเบเบฒเบกเบเบตเบเบงเบฒเบกเบซเบกเบฒเบเบซเบเบฑเบเบซเบผเบฑเบเบเบฒเบ --.
% cons -R /usr/local/repository -d os=solaris +driver -- -c test -f DEBUG
เบเบฐเบเปเบฒเบเบเบฑเปเบเบเปเปเปเบเบเบตเปเบเบฑเบ cons
-R /usr/local/repository -d os=solaris +driver
เปเบฅเบฐเบเปเปเปเบเบเบตเป, เปเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ เบเปเปเบชเปเบฒเบ เปเบเบฅเปเปเบเบฑเบ @ARGV
-c เบเบฒเบเบเบปเบเบชเบญเบ -f DEBUG
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ `cons -r .' เปเบกเปเบเปเบเบปเปเบฒเบเบฑเบเบเบฒเบ recursive เปเบเบฑเบกเบเบตเป 'เปเบฎเบฑเบเปเบซเปเบชเบฐเบญเบฒเบ', เปเบเปเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเปเปเบกเบต
เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเปเบ เบเปเปเบชเปเบฒเบ เปเบเบฅโเปโเบซเบผเบทโเปเบเปโ เบเบฐเบเบฝเบ เปเบเบฅเป. เบเบตเปเปเบกเปเบเปเบเบฑเบเบเบฐเปเบซเบเบเบเบตเปเบชเบธเบเบเปเบฒเบเปเบฒเบเปเบเบฑเบ
เบเบฒเบเบฅเบงเบเบฅเบงเบกเปเบเบฅเปเปเบเบปเปเบฒเปเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบซเบผเปเบ (เบเปเบฒเบเปเบฒเบเปเบเบ เบเบฒเบเบเปเปเบชเปเบฒเบ เปเบฅเบฐ เบเบฒเบเบชเบปเปเบเบญเบญเบ เบฅเบฒเบเบเบฒเบ,
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบเบฝเบเปเบเปเบชเบฒเบกเบฒเบเปเบญเบปเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบต).
เบเบปเบงเปเบฅเบทเบญเบ `-p', `-pa', เปเบฅเบฐ `-pw' เปเบกเปเบเปเบเบฑเบเบเบฐเปเบซเบเบเบเบตเปเบชเบธเบเปเบเบทเปเบญเปเบเปเปเบเบฑเบเบเบปเบงเบเปเบงเบเปเบเบเบฒเบเบญเปเบฒเบ.
scripts เบซเบผเบท debugging เปเบเบปเบฒเปเบเบปเปเบฒ. เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบฎเบนเปเบงเปเบฒ script เบเบดเบเบเบฑเปเบเปเบเบงเปเบ เบชเบปเปเบเบญเบญเบ/include/foo.h,
เบเบปเบงเบขเปเบฒเบ, เบเบฝเบเปเบเปเบเบดเบก:
% cons -pw export/include/foo.h
เบเบฒเบเบเปเบฒเปเบเป เปเบฅเบฐ เบฅเบฒเบเบฅเบฑเบเบญเบฑเบเบชเบญเบ เบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช เปเบเบทเปเบญเบเบชเบฐเปเบเบเปเบเบต
QuickScan เบญเบฐโเบเบธโเบเบฒเบโเปเบซเปโเปเบเบทเปเบญเบโเบชเบฐโเปเบเบโเปเบเบปเปเบฒโเบซเบกเบฒเบโเบเบตเปโเปเบเบฑเบโเปเบญโเบเบฐโเบฅเบฒเบโเบเปเบฒเบโเบเบฒเบโเบเบตเปโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเบชเปเบฒโเบฅเบฑเบโเปเบเบฅโเปโเบเบตเปโเบกเบฒโ. เปเบเบปเปเบฒเบเบฑเปเบ
เปเบเบทเปเบญเบเบชเบฐเปเบเบ QuickScan เบญเบฑเบเปเบถเปเบเบญเบฒเบเบเบฐเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบฅเปเปเบซเบผเปเบเปเบเบเปเปเบเป เปเบฅเบฐเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเปเบซเปเบกเบฒ.
QuickScan เบเบทเบเปเบญเบตเปเบเบเบฑเปเบเบเบตเป:
QuickScan CONSENV CODEREF, FILENAME [, PATH]
เบเบณเบเบปเบเบเบฒเบเบเปเบญเบเบเบตเปเบญเปเบฒเบเบญเบตเบเปเบเบ CODEREF เบเบฒเบเบงเปเบฒเบเบฐเบชเบปเปเบเบเบทเบเบฅเบฒเบเบเบทเปเบเบญเบเบเบทเปเปเบเบฅเปเบเบตเปเบฎเบงเบกเบขเบนเปเบเบณ
เปเบเบเบเบปเบเปเบเบ FILE. เบเบทเปเปเบเบฅเปเปเบซเบผเบปเปเบฒเบเบตเปเบเบฐเบเบทเบเบชเบฐเปเบเบ. เบเบฒเบเปเบเปเบเบฝเบ PATH เบเบฒเบเปเบฅเบทเบญเบ
เบชเบฐเปเบญเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบเบญเบเบซเบฒเปเบเบทเปเบญเบเบญเบเบซเบฒ FILENAME เปเบฅเบฐ/เบซเบผเบทเปเบเบฅเปเบเบตเปเบชเบปเปเบเบเบทเบเปเบเบเบเบนเปเปเบเปเบชเบฐเปเบญเบเปเบซเป
เบเบฐเบเบณเบเปเบญเบ. PATH เบญเบฒเบเบเบฐเปเบเบฑเบเบเบฒเบเบญเปเบฒเบเบญเบตเบเปเบเบดเบ array เบเบญเบเบเบทเป directory เบเบญเบเบซเบฒ, เบซเบผเบท a
เบชเบฐเบเบฃเบดเบเบเบญเบเบเบทเปเบเบตเปเปเบเบเบเปเบงเบเบเบปเบงเปเบเบเบเบญเบเบฅเบฐเบเบปเบ (':' เปเบเบฅเบฐเบเบปเบ UNIX, ';' เบชเบธเบ
Windows NT).
เบเบณเบเบปเบเบเบฒเบเบเปเบญเบเบเบทเบเปเบญเบตเปเบเปเบเบทเปเบญเบเบฝเบงเบชเบณเบฅเบฑเบเปเบเปเบฅเบฐเปเบเบงเปเบเปเบเบฅเป, เบเปเบงเบ $_ เบเบฑเปเบเปเบเบฑเบเปเบเบงเบเบฑเบเบเบธเบเบฑเบ.
เบเปเบฒ subroutine เบเปเบญเบเบเบฒเบเปเบเบดเปเบเปเบชเบฑเปเบเปเบเบตเปเบกเปเบเบตเบก, เบซเบผเบท, เบชเปเบฒเบฅเบฑเบเปเบฅเบทเปเบญเบเบเบฑเปเบ, เปเบเบฅเปเบเบฑเบเบซเบกเบปเบ,
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบกเบฑเบเบญเบฒเบเบเบฐเบญเปเบฒเบเบเบงเบเบกเบฑเบเปเบญเบ, เบเบฒเบ filehandle SCAN. เบกเบฑเบเบเบฑเบเบญเบฒเบเบเบฐเบขเบธเบเปเบเบปเบฒเบเบฒเบ loop, เบเปเบฒ
เบกเบฑเบเบฎเบนเปเบงเปเบฒเบเปเปเบกเบตเบเบฒเบเบฅเบงเบกเปเบญเบปเบฒเบเปเปเบกเบนเบเบเบทเปเบกเบญเบตเบ, เปเบเบเบเบฒเบเบเบดเบเบเบปเบงเบเบฑเบเบเบฒเบเปเบเบฅเป.
เบเปเปเบงเปเบฒเบเบฐเบกเบตเปเบชเบฑเปเบเบเบฒเบเบเบญเบเบซเบฒเบซเบผเบทเบเปเป, QuickScan เบเปเบฒเบญเบดเบเบเบฐเบเบฒเบเบฒเบกเบเบญเบเบซเบฒเปเบเบฅเป
เบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฐเบเบธเบเบฑเบ (เบชเปเบฒเบฅเบฑเบเปเบเบฅเปเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบเบเบตเปเบชเบฐเบซเบเบญเบเปเบเบเบเบปเบเบเบฑเบ QuickScan),
เบซเบผเบทเบเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบกเบตเปเบเบฅเปเบเบตเปเบญเปเบฒเบเบญเบตเบเปเบเบฅเป. เบเบตเปเบเปเปเปเบกเปเบเบซเบผเบฒเบ
เปเบเบเบเบปเปเบงเปเบ, เปเบเปเปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเบเบฝเบเบเป - เปเบเบเบชเบฐเปเบเบฒเบฐเบเปเบฒเบเปเบฒเบเบกเบตเบเบงเบฒเบกเบซเบฅเบนเบซเบฅเบฒเบเบญเบเบเบฒเบเบเบฝเบเบเบญเบเบเปเบฒเบเปเบญเบ
utilities เปเบฅเบฐเบชเบฒเบกเบฒเบเบเบงเบเบเบธเบกเบเบฒเบเบเปเบฒเปเบเปเปเบชเบฑเปเบเบเบฒเบเบเบปเปเบเบซเบฒเปเบเบงเบดเบเบตเบเบฒเบเบกเบฒเบเบเบฐเบเบฒเบ. เบชเบธเบเบเปเบฒเบ, เปเบเป
เปเบชเบฑเปเบเบเบฒเบเบเบปเปเบเบซเบฒเปเบกเปเบ, เปเบเบเบฑเบเบเบธเบเบฑเบ, เบเปเปเบฒเบชเบญเบเปเบกเบฑเบเปเบเบเบญเบญเบ. เบเบตเปเบญเบฒเบเบเบฐเบเปเปเปเบฎเบฑเบเปเบซเป camp NT เบกเบตเบเบงเบฒเบกเบชเบธเบ.
เบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบเบตเปเปเบเปเบเบดเบ, เปเบญเบปเบฒเบกเบฒเบเบฒเบ a เบเปเปเบชเปเบฒเบ เปเบเบฅเปเบเบตเปเบเบตเป:
เบเปเปเปเบชเบเบเปเบญเบ::SMFgen {
my($env, @tables) = @_;
foreach $t (@tables) {
$env->QuickScan(เบเปเบญเบ { /\b\S*?\.smf\b/g }, "$t.smf",
$env->{SMF_INCLUDE_PATH});
$env->เบเปเบฒเบชเบฑเปเบ(
["$t.smdb.cc","$t.smdb.h","$t.snmp.cc","$t.ami.cc", "$t.http.cc"],
"$t.smf",
q(
smfgen %( %SMF_INCLUDE_OPT %) %
)
);
}
}
[เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเปเบเบเบเบญเบก `$env->QuickScan ...' เปเบฅเบฐ `$env->Command ...' เบเปเปเบเบงเบเปเบเบฑเบ.
เบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบ, เปเบเป, เบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบขเปเบฒเบ, เปเบกเปเบเบเปเบฒเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฎเบฝเบเบฎเปเบญเบเปเบเบเบชเบฐเปเบเบฒเบฐเบเบตเป. เบญเบฑเบเบเบตเปเบเบฒเบเบปเบ
to be a bug in Perl เบซเบผเบทโเบเบงเบฒเบกโเปเบเบปเปเบฒโเปเบโเบเบดเบโเปเบโเบเบฒเบโเบชเปเบงเบโเบเบญเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโ; เบฎเบนเบเปเบเบเบเบฒเบเปเบญเบตเปเบเบเบตเปเบเปเปเปเบเป
เปเบเบดเปเบเบเบทเบงเปเบฒเบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบเบชเบฐ เปเปเบต เปเบ.]
เบเบตเปเบเบญเบเบซเบฒเบเบทเปเบเบฑเบเบซเบกเบปเบเบเบญเบเปเบเบเบเบญเบก .smf เปเบเปเบเบฅเป. เบกเบฑเบเบเบฐเบชเบปเปเบเบเบทเบเบเบทเปเปเบเบดเบเปเบกเปเบเบงเปเบฒ
เปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเบเบทเบเบเบปเบเปเบซเบฑเบเบขเบนเปเปเบเบเปเบฒเปเบซเบฑเบ, เปเบเปเบงเปเบฒเบกเบฑเบเปเบกเปเบ OK (เบเบปเบเปเบเปเบกเปเบเบเบฒเบเปเบซเปเบญเบฐเปเบเบเบญเบเปเบเบฅเปเปเบเบตเปเบกเปเบเบตเบก;
เบเบงเบโเปเบเบปเบฒโเปเบเบปเปเบฒโเบเบฝเบโเปเบเปโเบฅเบฐโเปเบฅเบตเบโเบเบฑเบโเบชเบปเบกโเบกเบธเบโเบเบดโเบเบฒเบโเบงเปเบฒโเปเบเบฅโเปโเบเบตเปโเบเบฒเบโเบซเบฒเบโเปเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบชเบฑเบโเปเบเบโเปเบซเบฑเบโเปเบโเปเบงโเบฅเบฒโเบเบตเปโ
เปเบเบเบเบฒเบ, เปเบเบเบปเบงเบขเปเบฒเบเบเบตเป, smfgen, เบเบทเบเปเบญเบตเปเบเบเบปเบงเบเบดเบ).
A scanner เปเบกเปเบ invoked เบเบฝเบ เปเบเป เบชเปเบฒ เบฅเบฑเบ เปเบเบฅ เป เปเบซเบผเปเบ เบเบตเป เปเบเป เบฎเบฑเบ เบเปเบฒ เบซเบฒเบ เบงเปเบฒ เบกเบฑเบ เปเบเบฑเบ เบเปเบญเบ เบเบฒเบ เปเบเบ เบเบฒเบ เปเบเบปเปเบฒ เบซเบกเบฒเบ เปเบ
เบเบปเปเบเปเบกเป. เบกเบฑเบเปเบเปเบเบทเบเปเบญเบตเปเบเบเบฝเบเปเบเปเบเบฑเปเบเบเบฝเบงเบชเปเบฒเบฅเบฑเบเปเบเบฅเปเปเบซเบผเปเบเบเบตเปเปเบซเป.
เบเบตเปเปเบกเปเบเบงเบดเบเบตเบญเบทเปเบเปเบเบเบฒเบเบชเปเบฒเบเปเบเบทเปเบญเบเบชเบฐเปเบเบเบเบฝเบงเบเบฑเบ. เบญเบฑเบเบเบตเปเปเบเปเบเบฒเบเบญเปเบฒเบเบญเบตเบเบฅเบฐเบซเบฑเบเบเบตเปเบเบฑเบเปเบเบ,
เปเบฅเบฐเบเบฑเบ (เบเปเปเบเปเบฒเปเบเบฑเบ, เปเบเบเปเบฅเบฐเบเบตเบเบตเป) เบญเปเบฒเบเปเบเบฅเปเบเบฑเบเบซเบกเบปเบเบเบญเบเบกเบฑเบเปเบญเบ:
sub myscan {
เบเบญเบเบเปเบญเบ(@เบฅเบงเบกเบเบฑเบ);
เปเบฎเบฑเบ {
push(@includes, /\b\S*?\.smf\b/g);
} เปเบเบเบฐเบเบฐเบเบตเป ;
@เบฅเบงเบกเบเบฑเบ
}
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบเปเบฒเบชเบฑเปเบเบเบญเบ loop เปเบกเปเบเบเบตเปเบเบเบฑเบเบเบฑเบ, เบกเบตเบเบฒเบเบเบปเบเบชเบญเบ loop เปเบเบเบญเบเบเปเบฒเบเบเบญเบ. เบเบตเปโเปเบกเปเบ
เปเบเบฒเบฐเบงเปเบฒเปเบเบงเบเปเบฒเบญเบดเบเปเบกเปเบเปเบเปเบญเปเบฒเบเปเบฅเปเบงเบชเปเบฒเบฅเบฑเบเบเปเบฒเบ. เปเบเบทเปเบญเบเบชเบฐเปเบเบเบเบตเปเบชเบฒเบกเบฒเบเบเบดเบเบเบฑเบเปเบซเบผเปเบเปเบเบซเบเบถเปเบ
เปเบเบฅเปเปเบเบ:
QuickScan $env \myscan, "$_.smf";
เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ เปเบฅเบฐ เบเปเปเบชเบฐ เปเปเบต เปเบเบฐ
Cons เปเบกเปเบเบฎเบฑเบเบชเบฒเปเบงเปเปเบเบเบเบธเบกเบเบปเบเบเบนเปเปเบเป. เปเบเบทเปเบญเบชเบฐเปเบฑเบ, เบชเบปเปเบเบญเบตเปเบกเบงเบซเบฒ cons-เบชเบปเบเบเบฐเบเบฒ-
[email protected] เบเบฑเบเบฎเปเบฒเบเบเบฒเบ เบเบญเบ.
เบเบฐเบฅเบธเบเบฒเบฅเบฒเบเบเบฒเบเบเปเบฒเปเบเบฐเบเปเบฒเปเบเปเปเบเบเบเปเบฒเบ [email protected] เบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบฒเบเปเบเบชเบฐเบเบต.
เปเบเป cons เบญเบญเบเปเบฅเบเปเปเบเบเปเบเปเบเปเบฅเบดเบเบฒเบ onworks.net