рдЕрдВрдЧреНрд░реЗрдЬрд╝реАрдлреНрд░реЗрдВрдЪрд╕реНрдкреЗрдирд┐рд╢

Ad


рдСрдирд╡рд░реНрдХреНрд╕ рдлрд╝реЗрд╡рд┐рдХреЙрди

рд╡рд┐рдкрдХреНрд╖ - рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдСрдирд▓рд╛рдЗрди

рдЙрдмрдВрдЯреВ рдСрдирд▓рд╛рдЗрди, рдлреЗрдбреЛрд░рд╛ рдСрдирд▓рд╛рдЗрди, рд╡рд┐рдВрдбреЛрдЬ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдпрд╛ рдореИрдХ рдУрдПрд╕ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдСрдирд╡рд░реНрдХреНрд╕ рдореБрдлреНрдд рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рд╡рд┐рдкрдХреНрд╖ рдЪрд▓рд╛рдПрдВ

рдпрд╣ рдХрдорд╛рдВрдб рдХреЙрдиреНрд╕ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реЗ рдХрдИ рдореБрдлреНрдд рдСрдирд▓рд╛рдЗрди рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреИрд╕реЗ рдХрд┐ рдЙрдмрдВрдЯреВ рдСрдирд▓рд╛рдЗрди, рдлреЗрдбреЛрд░рд╛ рдСрдирд▓рд╛рдЗрди, рд╡рд┐рдВрдбреЛрдЬ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдпрд╛ рдореИрдХ рдУрдПрд╕ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдирд╡рд░реНрдХреНрд╕ рдлреНрд░реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХрд╛рд░реНрдпрдХреНрд░рдо:

рдирд╛рдо


рд╡рд┐рдкрдХреНрд╖ - рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА

рд╡рд░реНрдгрди


рд╕рдВрд╕реНрдХрд░рдг 2.2.0 рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдФрд░ рд╕рдВрджрд░реНрдн

рдХреЙрдкреАрд░рд╛рдЗрдЯ (рд╕реА) 1996-2000 рдлреНрд░реА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдлрд╛рдЙрдВрдбреЗрд╢рди, рдЗрдВрдХред

рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореБрдлреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИ; рдЖрдк рдЗрд╕реЗ рдкреБрдирд░реНрд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░/рдпрд╛ рдЗрд╕реЗ рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдлреНрд░реА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдлрд╛рдЙрдВрдбреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЬреАрдПрдирдпреВ рдЬрдирд░рд▓ рдкрдмреНрд▓рд┐рдХ рд▓рд╛рдЗрд╕реЗрдВрд╕; рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ
рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 2, рдпрд╛ (рдЖрдкрдХреЗ рд╡рд┐рдХрд▓реНрдк рдкрд░) рдХреЛрдИ рдмрд╛рдж рдХрд╛ рд╕рдВрд╕реНрдХрд░рдгред

рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЗрд╕ рдЙрдореНрдореАрдж рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд╛рд░рдВрдЯреА рдХреЗ;
рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХрддрд╛ рдпрд╛ рдЙрдкрдпреБрдХреНрддрддрд╛ рдХреА рдирд┐рд╣рд┐рдд рд╡рд╛рд░рдВрдЯреА рдХреЗ рдмрд┐рдирд╛ рднреАред
рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЬреАрдПрдирдпреВ рдЬрдирд░рд▓ рдкрдмреНрд▓рд┐рдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рджреЗрдЦреЗрдВред

рдЖрдкрдХреЛ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде GNU рдЬрдирд░рд▓ рдкрдмреНрд▓рд┐рдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП;
рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдлрд╝рд╛рдЗрд▓ рджреЗрдЦреЗрдВред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдлреНрд░реА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдлрд╛рдЙрдВрдбреЗрд╢рди, рдЗрдВрдХ., 59 рдЯреЗрдореНрдкрд▓ рдХреЛ рд▓рд┐рдЦреЗрдВ
рд╕реНрдерд╛рди - рд╕реБрдЗрдЯ 330, рдмреЛрд╕реНрдЯрди, рдПрдордП 02111-1307, рдпреВрдПрд╕рдПред

рдкрд░рд┐рдЪрдп


рдиреБрдХрд╕рд╛рди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИ
рдкрд┐рдЫрд▓реА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБред рд╡рд┐рдкрдХреНрд╖ рдХреЛ рд╢реБрд░реВ рд╕реЗ рд▓реЗрдХрд░ рд╕реМрджреЗ рддрдХ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рдПрдХрд╛рдзрд┐рдХ рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдлреИрд▓реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗред рджреЛрд╖
рдРрд╕реА рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рд░рд▓, рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп рд╣реЛрдВред
рд╡рд┐рдкрдХреНрд╖ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЬрдЯрд┐рд▓ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдпрд╣ рд╕рдм рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдкрдХреНрд╖ рдХрдИ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдирд┐рд░реНрдорд╛рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╕ рд╣реИрдВ
рдкрд░реНрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, рдЙрдиреНрд╣реЗрдВ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдФрд░ рдмрд╣реБрдд рд▓рдЪреАрд▓реА рдмрдирд╛рддреА рд╣реИрдВред рдХрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░рд╛
рдЬрд╛рдирдХрд╛рд░реА рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░ рдХреЛ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рддрдВрддреНрд░ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдкрдардиреАрдпрддрд╛ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕реБрдзрд╛рд░ рдХрд░рддреА рд╣реИред
рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рд╣реИрдВ: рдпреЗ рдкрд░реНрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ рдЬреЛ рдХреИрдкреНрдЪрд░ рдХрд░рддреЗ рд╣реИрдВ
рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реАред рдПрдХрд╛рдзрд┐рдХ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЬрдм рдмрд┐рд▓реНрдб рдЯреНрд░реА рдореЗрдВ рдЙрддреНрдкрд╛рдж рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╢рдмреНрджрд╛рд░реНрде рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рджреЛрд╖
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдкреВрд░реНрдг рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдЕрдиреБрдХреНрд░рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдирд┐рд░реНрдорд╛рдгред рдПрдХрд▓ рд╕реНрд░реЛрдд рд╡реГрдХреНрд╖ рд╕реЗ рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдЖрд╕рд╛рдиреА рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдмреБрджреНрдзрд┐рдорд╛рди рдирд┐рд░реНрдорд╛рдг
рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╕рдордп рдЙрдкрд╕реЗрдЯрд┐рдВрдЧ рд╕рдВрднрд╡ рд╣реИред рдУрд╡рд░рд░рд╛рдЗрдб рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдХрд┐рд╕реА рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВред рдПрдордбреА5 рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд╕рдВрдмрджреНрдз рд╣реИрдВ, рдФрд░ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛
рдХрд┐рд╕реА рджреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдФрд░ рдЕрдзрд┐рдХ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реБрдП, рд╡рд┐рдкрдХреНрд╖ рд╕рд░рд▓ рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдпрд╣ рдХрд░реЗрдЧрд╛,
рдЖрд╢рд╛ рд╣реИ, рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд╢реЗрд╖ рднрд╛рдЧ рдкрдврд╝реЗрдВрдЧреЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдХреНрдпреЛрдВ рджреЛрд╖? рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдирд╛?


рд╡рд┐рдкрдХреНрд╖ рдПрдХ рд╣реИ рдмрдирд╛рдирд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдиред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ, рд╣рдо рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ
рдореЗрдХ рдХреА рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ - рдФрд░ рдореЗрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг
рд╡рд┐рдкрдХреНрд╖ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред

рдмрдирд╛рдПрдБ рдЬрдЯрд┐рд▓рддрд╛

рдХрд┐рд╕реА рднреА рдЖрдХрд╛рд░ рдХреА рдкрд╛рд░рдВрдкрд░рд┐рдХ рдореЗрдХ-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдореВрд▓ рдирд┐рд░реНрдорд╛рдг
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдФрд░ рдЙрд╕рдХреЗ рд╡реНрдпреБрддреНрдкрдиреНрдиреЛрдВ рдиреЗ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдЗрд╕ рдкреНрд░рд╡реГрддреНрддрд┐ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджрд┐рдпрд╛ рд╣реИред рдмрдирд╛рдУ рд╣реИ
рдПрдХрд╛рдзрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдлреИрд▓реЗ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдп-
рдЗрд╕ рдХрдард┐рдирд╛рдИ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд░реЛрдВ рдУрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдХрд▓реНрдк рдЖрд╣реНрд╡рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ
рдХрд┐рд╕реА рдмрд┐рд▓реНрдб рдХреА рдкреНрд░рддреНрдпреЗрдХ рдЙрдк-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗред рдЗрд╕рд╕реЗ рдХреЛрдб рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдпрд╣ рдЕрдХреНрд╕рд░ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдкрд░ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИ
рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝реЗрдЧрд╛ред рдореЗрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдзреАрд░реЗ-рдзреАрд░реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрд╡реНрдпрд╡рд╕реНрдерд╛ рдкреИрджрд╛ рдХрд░ рджреА рд╣реИ
рдЕрддреНрдпрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рднрд╛рд╖рд╛. рдЕрдХреНрд╕рд░, рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрдИ рдкрд╛рд╕реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рджреВрд╕рд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдЙрддреНрдкрд╛рджред рдпрд╣ рдЖрдЧреЗ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ
рдирд┐рд░реНрдорд╛рдг рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐.

рдмрдирд╛рдПрдБ reproducibility

рд╕рднреА рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рдЕрднрд┐рд╢рд╛рдк рд╣рдореЗрд╢рд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╕рд╣реА рдкреНрд░рдмрдВрдзрди рд░рд╣рд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рдП
рдПрдХ рд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдЪрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд╣реАрдВ
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХрд╛ рдЧрдВрднреАрд░ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣реЛрдиреЗ рдкрд░ рднреА
рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЯрд╛рдЗрдо рд╕реНрдЯреИрдореНрдк рддреБрд▓рдирд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░реЗрдВ
рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЕрдкрдиреЗ рдЖрд╢реНрд░рд┐рддреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдкреБрд░рд╛рдиреА рд╣реЛ рдЧрдИ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ
рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдХрд┐ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдм рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рдмрд╛рд╣рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ
рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдФрд░ рдлрд┐рд░ рдЕрдкрдиреА рдЬрдЧрд╣ рдкрд░ ``рд╕реНрдиреИрдк'' рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЗрд╕рдХреА рдирдИ рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
рдпрд╣ рдкрд┐рдЫрд▓реЗ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рджреГрд╢реНрдпрдорд╛рди рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдкреНрд░рдХрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИ

рдореЗрдХ рд╡реИрд░рд┐рдПрдВрдЯ рдмрд┐рд▓реНрдб рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╕реАрдорд┐рдд рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдкреНрд░рд╕рд╛рд░ рдХреЗ рд╕рд╛рде
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдо рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛, рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
рдЗрди рд╡реЗрд░рд┐рдПрдВрдЯреНрд╕ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдирд╛рдирд╛ рдЬрд░реВрд░реА рд╣реИред рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рд╡реЗрд░рд┐рдПрдВрдЯ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣
рдпрд╛ рддреЛ рд╡реЗрд░рд┐рдПрдВрдЯ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ
рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдореВрд▓ рдпрд╛ рднрд┐рдиреНрдиред рдореЗрдХ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ
рд╕реНрд░реЛрдд рд╕реЗ рдЕрд▓рдЧ, рдПрдХрд╛рдзрд┐рдХ рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБред рдФрд░ рдпрджрд┐ рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдХрд┐рд╕реА рднреА рд╕рдордп рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреЗрдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдореМрдЬреВрдж рд╣реИ
рдкреВрд░реНрдг рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдмрд┐рдирд╛, рдкреЗрдбрд╝ред

рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рд╕реНрдерд╛рди

рдореЗрдХ рдореМрдЬреВрдж рдХреЛрдб рд╕реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╕реАрдорд┐рдд рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
рдХреЗрдВрджреНрд░реАрдп рднрдВрдбрд╛рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ред рдЬреАрдПрдирдпреВ рдореЗрдХ рдХреА рд╡реАрдкреАрдПрдЯреАрдПрдЪ рд╕реБрд╡рд┐рдзрд╛ (рдФрд░ рдХреБрдЫ рдЕрдиреНрдп
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд░реЗрдВ) рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЗрд╕реЗ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: рдпрд╣
рдЗрд╕рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдмрд╣реБрдд рдкрд╣рд▓реЗ рд╣реА VPATH рдирд╛рдо рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП
VPATH рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдЦреЛрдЬрддрд╛ рд╣реИред рддрд╛рдХрд┐ рд╕рд╣реА рд╡рд┐рдХрд╛рд╕ рд╣реЛ рд╕рдХреЗ
рдмрдирд╛рддрд╛ рд╣реИ, рд╕реНрдерд╛рдиреАрдп рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдФрд░ рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ
рдХреЛрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (рдПрдХ рд╡реАрдкреАрдПрдЯреАрдПрдЪ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рдореЗрдХ рд╢рд░реНрддреЛрдВ рдореЗрдВ) рдореЗрдВ рдХреЛрдИ рднреА рдлрд╛рдЗрд▓ рдЬреЛ рд╕реНрдерд╛рдиреАрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ
рдлрд╝рд╛рдЗрд▓ рдареАрдХ рд╕реЗ рджреЛрдмрд╛рд░рд╛ рдмрдирд╛рдИ рдЬрд╛рдП. рдмрд╣реБрдд рд╕реА рдХреЛрдбрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛, VPATH рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ
рдЬрдЯрд┐рд▓ рднрдВрдбрд╛рд░ рдЬреНрдЮрд╛рди рд╕реАрдзреЗ рдореЗрдХрдлрд╛рдЗрд▓реНрд╕ рдореЗрдВред

рд░рдЦрдирд╛ it рд╕рд░рд▓


рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдЬреБрдбрд╝реА рдХреБрдЫ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдКрдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж
рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ, рд╣рдо рд╡рд┐рдкрдХреНрд╖ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдВрдЧреЗ рдФрд░ рджрд┐рдЦрд╛рдПрдВрдЧреЗ рдХрд┐ рдЗрди рдореБрджреНрджреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкрд░реНрд▓ рд▓рд┐рдкрд┐рдпреЛрдВ

рд╡рд┐рдкрдХреНрд╖ рдкрд░реНрд▓-рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдпрд╛рдиреА, рд╡рд┐рдкрдХреНрд╖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ--рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдФрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓реЗрдВ, рд╕рдорддреБрд▓реНрдп
рд╕реЗрд╡рд╛ рдореЗрд░реЗ makefile or makefile--рдпреЗ рд╕рднреА рдкрд░реНрд▓ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдЗрд╕рд╕реЗ рддрддреНрдХрд╛рд▓ рд▓рд╛рдн рдорд┐рд▓рддрд╛ рд╣реИ: рдж
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рднрд╛рд╖рд╛ рдкрд░рд┐рдЪрд┐рдд рд╣реИред рднрд▓реЗ рд╣реА рдЖрдк рдкрд░реНрд▓ рди рд╣реЛрдВ
рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИ рдХрд┐ рдкрд░реНрд▓ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╕рд░рд▓ рдШреЛрд╖рдгрд╛рддреНрдордХ рднрд╛рд╖рд╛ рд╣реИ,
рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдПрдХ рд╕реБрдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рд╡рд╛рд╣ рдФрд░ рдкрд░рд┐рдЪрд┐рдд рд╢рдмреНрджрд╛рд░реНрде рдХреЗ рд╕рд╛рдеред рдЗрд╕рдореЗрдВ рд╡реЗрд░рд┐рдПрдмрд▓ рд╣реИрдВ рдЬреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ
рдореВрд▓ рд░реВрдк рд╕реЗ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рдЙрдирд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдмрд░реВрдЯреАрдиреНрд╕, рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдкреНрд░рд╡рд╛рд╣, рдЗрддреНрдпрд╛рджрд┐ред рд╡рд╣рд╛рдБ
рд╡рд┐рдкрдХреНрд╖ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░реНрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ
рдЕрдХреНрд╕рд░ рдЬрдЯрд┐рд▓ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ
рдПрдХ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ.

рдирдорд╕реНрддреЗ, рд╡рд┐рд╢реНрд╡!

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░реНрдЪрд╛ рдХреЛ рдЖрдзрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдирдорд╕реНрддреЗ, рд╡рд┐рд╢реНрд╡! C
рд╡рд┐рдкрдХреНрд╖ рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди:

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖();
рдкреНрд░реЛрдЧреНрд░рд╛рдо $env 'рд╣реИрд▓реЛ', 'рд╣реИрд▓реЛ.c';

рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрд┐рд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд╛рдордХрд░рдг рдХрд░реЗрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ, рдФрд░ рдмрдирд╛рдПрдБ
рдирдорд╕реНрддреЗ рд╕реА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦреЗрдВ, рдлрд┐рд░ рдЖрдк рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП `cons hello' рдЯрд╛рдЗрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЖрд╡реЗрджрди:

% рд╡рд┐рдкрдХреНрд╖ рдирдорд╕реНрддреЗ
рд╕реАрд╕реА -рд╕реА рд╣реИрд▓реЛ.рд╕реА -рдУ рд╣реИрд▓реЛ.рдУ
рд╕реАрд╕реА -рдУ рд╣реЗрд▓реЛ рд╣реЗрд▓реЛ.рдУ

рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг

рд╡рд┐рдкрдХреНрд╖ рдХрд╛ рдПрдХ рдкреНрд░рдореБрдЦ рд╕рд░рд▓реАрдХрд░рдг рдПрдХ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг. рдПрдХ рдирд┐рд░реНрдорд╛рдг
рдкрд░реНрдпрд╛рд╡рд░рдг рдПрдХ рд╣реИ рд╡рд╕реНрддреБ рдХреБрдВрдЬреА/рдорд╛рди рдЬреЛрдбрд╝реЗ рдХреЗ рдПрдХ рд╕реЗрдЯ рдФрд░ рдХреЗ рдПрдХ рд╕реЗрдЯ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рддрд░реАрдХреЛрдВ.
рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреБрдЫ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рдЖрдк рдПрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдЪрд┐рдд рд╡рд┐рдзрд┐ рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рддреЗ рд╣реИрдВ
рдЙрдкрдпреБрдХреНрдд рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг. рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖(
рд╕реАрд╕реА => 'рдЬреАрд╕реАрд╕реА',
LIBS => 'libworld.a'
);

рдкреНрд░реЛрдЧреНрд░рд╛рдо $env 'рд╣реИрд▓реЛ', 'рд╣реИрд▓реЛ.c';

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ
`рд╕реАрд╕реА' рдХреЗ рдорд╛рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рддрд╛рдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЬреАрдПрдирдпреВ рд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рдордХрдХреНрд╖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рддрдм рд╕реЗ
рдХрд╛ рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдирдорд╕реНрддреЗ, рд╡рд┐рд╢реНрд╡! рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, libworld.a, рд╣рдордиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА
рдЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЬреБрдбрд╝реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЙрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп
рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рдареАрдХ рд╣реИ рдФрд░ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╣рдореЗрдВ рдпрд╣ рдХрдерди рднреА рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

рд▓рд╛рдЗрдмреНрд░реЗрд░реА $env 'libworld', 'world.c';

рдЕрдм рдпрджрд┐ рдЖрдк `cons hello' рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдВрдХ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрди рдЬрд╛рдПрдЧреА, рдФрд░,
рдмреЗрд╢рдХ, рджреЛрдиреЛрдВ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `gcc' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

% рд╡рд┐рдкрдХреНрд╖ рдирдорд╕реНрддреЗ
рдЬреАрд╕реАрд╕реА -рд╕реА рд╣реИрд▓реЛ.рд╕реА -рдУ рд╣реИрд▓реЛ.рдУ
рдЬреАрд╕реАрд╕реА -рд╕реА рд╡рд░реНрд▓реНрдб.рд╕реА -рдУ рд╡рд░реНрд▓реНрдб.рдУ
рдПрдЖрд░ рдЖрд░ рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рд╡рд░реНрд▓реНрдб.рдУ
ar: libworld.a рдмрдирд╛рдирд╛
ranlib libworld.a
рдЬреАрд╕реАрд╕реА -рдУ рд╣реИрд▓реЛ hello.o libworld.a

рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдФрд░ рдкреВрд░рд╛ рдирд┐рд░реНрднрд░рддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг

рд╡рд┐рдкрдХреНрд╖ рдХреЗ рд╕рд╛рде, рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реБрдП, рдзреНрдпрд╛рди рджреЗрдВ
рдХрд┐ рдЬрдм рд╣рдо рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рд╡рд┐рд╢реНрд╡.рд╕реА, рд╡рд┐рд╢реНрд╡.рдУ рдкреБрдирдГ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, libworld.a рдкреБрдирдГ рдирд┐рд░реНрдорд┐рдд, рдФрд░ рдирдорд╕реНрддреЗ
рдкреБрдирдГ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛:

% vi рд╡рд┐рд╢реНрд╡.рд╕реА
[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ]
% рд╡рд┐рдкрдХреНрд╖ рдирдорд╕реНрддреЗ
рдЬреАрд╕реАрд╕реА -рд╕реА рд╡рд░реНрд▓реНрдб.рд╕реА -рдУ рд╡рд░реНрд▓реНрдб.рдУ
рдПрдЖрд░ рдЖрд░ рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рд╡рд░реНрд▓реНрдб.рдУ
ar: libworld.a рдмрдирд╛рдирд╛
ranlib libworld.a
рдЬреАрд╕реАрд╕реА -рдУ рд╣реИрд▓реЛ hello.o libworld.a

рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ: рд╡рд┐рдкрдХреНрд╖ ``рдЬрд╛рдирддрд╛ рд╣реИ'' рд╡рд┐рд╢реНрд╡.рдУ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рд╡рд┐рд╢реНрд╡.рд╕реА, рдХреНрдпреЛрдВрдХрд┐
рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ 'рд▓рд╛рдЗрдмреНрд░реЗрд░реА' рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЧрдИ рд╣реИред рдпреЗ рднреА рдЬрд╛рдирддрд╛ рд╣реИ libworld.a
рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рд╡рд┐рд╢реНрд╡.рдУ рдФрд░ рд╣реИ рдХрд┐ рдирдорд╕реНрддреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ libworld.a, рд╕рднреА рд╕рдорд╛рди рдХрд╛рд░рдгреЛрдВ рд╕реЗред

рдЕрдм рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдирдорд╕реНрддреЗ рд╕реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рд╡рд┐рд╢реНрд╡.рдПрдЪ:

% рдЗрдореИрдХ рд╡рд░реНрд▓реНрдб.рдПрдЪ
[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ]
% рд╡рд┐рдкрдХреНрд╖ рдирдорд╕реНрддреЗ
рдЬреАрд╕реАрд╕реА -рд╕реА рд╣реИрд▓реЛ.рд╕реА -рдУ рд╣реИрд▓реЛ.рдУ
рдЬреАрд╕реАрд╕реА -рдУ рд╣реИрд▓реЛ hello.o libworld.a

рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдпрд╣ рдХреИрд╕реЗ рдкрддрд╛ рдирдорд╕реНрддреЗ рд╕реА рд╢рд╛рдорд┐рд▓ рд╡рд┐рд╢реНрд╡.рдПрдЪ, рдФрд░ рд╡рд╣ рд╣реЗрд▓реЛ.рдУ рдЗрд╕рд▓рд┐рдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдкреБрдирдГ рд╕рдВрдХрд▓рд┐рдд? рдЕрднреА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд╣рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╕рдордп рдХрд┐ рдХреНрдпрд╛ рдпрд╛ рдирд╣реАрдВ рд╣реЗрд▓реЛ.рдУ рдКрдкрд░ рд╣реИ-
рдЖрдЬ рддрдХ, рд╡рд┐рдкрдХреНрд╖ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреИрдирд░ рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рддрд╛ рд╣реИ, рдирдорд╕реНрддреЗ рд╕реА. рдпрд╣ рд╕реНрдХреИрдирд░ рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ
рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдирдорд╕реНрддреЗ рд╕реА рдЙрдирд╕реЗ рдкрд░реЗ, рдЕрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рддреИрдпрд╛рд░ рдХрд░рдирд╛
рд╡рд┐рдкрдХреНрд╖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╣реИ: рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХреЛрдИ рднреА рдлрд╝рд╛рдЗрд▓
рд╕рдореНрдорд┐рд▓рд┐рдд рдлрд╝рд╛рдЗрд▓реЗрдВ рднреА рд╕реНрдХреИрди рдХреА рдЬрд╛рдПрдВрдЧреА.

рдХреНрдпрд╛ рдпрд╣ рдорд╣рдВрдЧрд╛ рдирд╣реАрдВ рд╣реИ? рдЙрддреНрддрд░ рд╣реИ, рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдмрдбрд╝реЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкреВрд░реНрдг рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ,
рд╕реНрдХреИрдирд┐рдВрдЧ рдХрд╛ рд╕рдордп рдирдЧрдгреНрдп рд╣реИ. рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдмрдбрд╝реЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдкрдХреНрд╖ рд╣реЛрдЧрд╛
рдпрд╣ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░реЗрдВ
рдХрд┐рдпрд╛ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рдХрд┐ рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрд╛ рд╣реЛ!)ред рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдкрдХреНрд╖ рдЗрд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ
рдЬрдм рдЖрдк рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ рдЕрдкрдиреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕рдордЭрджрд╛рд░реА рд╕реЗ рд╕рдмреНрдорд┐рдЯ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡реИрд╢реНрд╡рд┐рдХ рдирд┐рд░реНрдорд╛рдг рдЕрдиреБрдХреНрд░рдордг

рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдкрдХреНрд╖ рдкреВрд░реНрдг рдФрд░ рд╕рдЯреАрдХ рдирд┐рд░реНрднрд░рддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдХрд░рддрд╛ рд╣реИ
рд╕рдВрдкреВрд░реНрдг рдирд┐рд░реНрдорд╛рдг, рд╡рд┐рдкрдХреНрд╖ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рд▓реЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдЕрдиреБрдХреНрд░рдордг
рдирд┐рд░реНрдорд╛рдг рдХрд╛. рдпрд╣ рдХреНрд░рдо рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдФрд░ рдХрд┐рд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ
рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕реЗрдЯ рджрд┐рдП рдЬрд╛рдиреЗ рдкрд░, рдЖрдк рдореЗрдХ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред рд╡рд┐рдкрдХреНрд╖ рдХреЗ рд╕рд╛рде, рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛрддрд╛ рд╣реИ
рддреБрдЪреНрдЫ рд╕реЗ рд▓реЗрдХрд░ рдмрдбрд╝реЗ, рдмрд╣реБ-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрдорд╛рдг рддрдХред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЗрд╕рдореЗрдВ рд╕рд╛рд░реА рдЬрдЯрд┐рд▓рддрд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЧрдИрдВ
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд┐ рдмрд┐рд▓реНрдб рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИ - рдЬрд┐рд╕рдореЗрдВ рдорд▓реНрдЯреА-рдкрд╛рд╕ рдкрджрд╛рдиреБрдХреНрд░рдо рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ
рдмрдирд╛рддрд╛ рд╣реИ--рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЕрдЧрд▓реЗ рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рдЗрд╕ рдкрд░ рдЖрдЧреЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред

рдЗрдорд╛рд░рдд рдмрдбрд╝рд╛ рдкреЗрдбрд╝--рдЕрднреА рднреА рдХреЗрд╡рд▓ as рд╕рд░рд▓


A рдкрджрдХреНрд░рдо of рдирд┐рд░реНрдорд╛рдг рд▓рд┐рдкрд┐рдпреЛрдВ

рд╡рд┐рдкрдХреНрд╖ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рдирд┐рд░реНрдорд╛рдг, рдХрд╛ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдо рдмрдирд╛рдХрд░ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдирд┐рд░реНрдорд╛рдг рд▓рд┐рдкрд┐рдпреЛрдВ. рд╢реАрд░реНрд╖ рдкрд░
рдкреЗрдбрд╝ рдХреА рдПрдХ рд▓рд┐рдкрд┐ рд╣реИ рдЬрд┐рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ. рдкрд░рдВрдкрд░рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╢реЗрд╖ рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╣реИрдВ
рдмреБрд▓рд╛рдпрд╛ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛. рдпреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓рддрд╛ рд╕реЗ, 'рдмрд┐рд▓реНрдб' рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╕рд╛рде рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВ,
`рдирд┐рд░реНрдпрд╛рдд', рдФрд░ `рдЖрдпрд╛рдд' рдЖрджреЗрд╢ред

RSI рдмрдирд╛рдПрдБ рдЖрджреЗрд╢

`рдмрд┐рд▓реНрдб' рдХрдорд╛рдВрдб рдПрдХ рд╕реВрдЪреА рд▓реЗрддрд╛ рд╣реИ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо, рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддрд╛ рд╣реИ
рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ рдмрдирд╛рдПрдВ(
рдбреНрд░рд╛рдЗрд╡рд░/рдбрд┐рд╕реНрдкреНрд▓реЗ/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдбреНрд░рд╛рдЗрд╡рд░/рдорд╛рдЙрд╕/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдкрд╛рд░реНрд╕рд░/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ/рдХреЙрдиреНрд╕реНрдХреНрд░рд┐рдкреНрдЯ
);

рдпрд╣ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕рд░рд▓ рджреЛ-рд╕реНрддрд░реАрдп рдкрджрд╛рдиреБрдХреНрд░рдо рд╣реИ: рд╕рднреА рд╕рд╣рд╛рдпрдХ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ
рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╣реИрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдкреЗрдбрд╝ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ
рдЙрдирдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдмрджреНрдз рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдЗрд╕реЗ рдмрд╣реБрд╕реНрддрд░реАрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ
рдпрд╣ рдЖрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ:

рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ рдмрдирд╛рдПрдВ(
рдкрд╛рд░реНрд╕рд░/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдбреНрд░рд╛рдЗрд╡рд░/рд╕рд┐рдкрд╛рд╣реА
рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ/рдХреЙрдиреНрд╕реНрдХреНрд░рд┐рдкреНрдЯ
);

рдФрд░ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдореЗрдВ рджрд╛рдпрд░ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдпрд╣ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ рдмрдирд╛рдПрдВ(
рдбрд┐рд╕реНрдкреНрд▓реЗ/рдХреЙрдиреНрд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдорд╛рдЙрд╕/рдХрдВрд╕рдХреНрд░рд┐рдкреНрдЯ
);

рдЕрдиреБрднрд╡ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкреВрд░реНрд╡ рдореЙрдбрд▓ рдХреЛ рд╕рдордЭрдирд╛ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐
рд╕рдВрдкреВрд░реНрдг рдирд┐рд░реНрдорд╛рдг рд╡реГрдХреНрд╖ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ, рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рд░рдЦрд╛ рд╣реБрдЖ рд╣реИред рд╣рд╛рдЗрдмреНрд░рд┐рдб рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ
рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИред рдПрдХ рдЕрд▓рдЧ рд╕реЗ рдмрдирд╛рдП рд░рдЦрд╛ рдЧрдпрд╛ рдШрдЯрдХ рдЬрд┐рд╕реЗ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд┐рд▓реНрдб рдЯреНрд░реА рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдмрд┐рд▓реНрдб рдЯреНрд░реА рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрд╡рдпрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ
рдирд┐рд░реНрдорд╛рдг рдкрджрд╛рдиреБрдХреНрд░рдо.

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╡рд┐рдкрдХреНрд╖ рдЕрдкрдиреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ a рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ
рд╕рд╣рд╛рдпрдХ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрд┐рд▓реНрдб рдмрд╛рдп рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓:

рдХреЙрдиреНрд╕реНрдХреНрд░рд┐рдкреНрдЯ_рдЪрдбреАрд░ 1;

рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░, рд╡рд┐рдкрдХреНрд╖ рд╕рд╣рд╛рдпрдХ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдпреБрдХреНрдд
рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрдврд╝рддреЗ рд╕рдордп, рдФрд░ рдлрд┐рд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рдмрд╛рд░ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╡рд╛рдкрд╕ рдмрджрд▓реЗрдВ
рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдпрд╣ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд┐рдкрдХреНрд╖ рдХреЗ рдХреБрдЫ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрди рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рддреИрдпрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдРрд╕реЗ рдмрд┐рд▓реНрдб рдЬреЛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╡рд┐рдкрдХреНрд╖ рдХреЗ рдмрдиреЗ рд░рд╣рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ
рдЬрдмрдХрд┐ рдпрд╣ рдПрдХ рд╕рд╣рд╛рдпрдХ рдореЗрдВ рдкрдврд╝рддрд╛ рд╣реИ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдХреЙрдиреНрд╕реНрдХреНрд░рд┐рдкреНрдЯ_рдЪрдбреАрд░ 0;

рд░рд┐рд╢реНрддреЗрджрд╛рд░, рд╢реАрд░реНрд╖-рд╕рд╛рдкреЗрдХреНрд╖, рдФрд░ рдкреВрд░реНрдг рдкрдЯреНрдЯрд┐рдХрд╛ рдирд╛рдореЛрдВ

рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдмрд┐рд▓реНрдб рдХрдорд╛рдВрдб рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИрдВ
рдЬрд┐рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЙрд╕рдХрд╛ рд╕реНрдерд╛рдиред рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓рдирд╛рдо рдХреЗ рд▓рд┐рдП рд╕рддреНрдп рд╣реИ
рдЕрдиреНрдп рдЖрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рднреА рддрд░реНрдХ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╣рдо рдпрд╣рд╛рдБ рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╣реИрд╢ рдорд╛рд░реНрдХ рдХреЗ рд╕рд╛рде, ``#'', рддреЛ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╢реАрд░реНрд╖ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХреА рдЬрд╛рддреА рд╣реИ-
рд╕реНрддрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдЬрд╣рд╛рдБ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ рд░рд╣рддреА рд╣реИ)ред рдФрд░, рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ, рдпрджрд┐ рдЖрдк рдЗрд╕рдХреА рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВ
``/'' рдХреЗ рд╕рд╛рде, рддреЛ рдЗрд╕реЗ рдПрдХ рдкреВрд░реНрдг рдкрдердирд╛рдо рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рднреА рд╕рдЪ рд╣реИ
рдЬреЛ рдкреВрд░реНрдг рдкрдереЛрдВ рдХреЛ рдирд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдлреЙрд░рд╡рд░реНрдб рд╕реНрд▓реИрд╢ рдХреЗ рдмрдЬрд╛рдп рдмреИрдХ рд╕реНрд▓реИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдХрд╛ рдкреНрд░рдпреЛрдЧ рдореЙрдбреНрдпреВрд▓ in рдирд┐рд░реНрдорд╛рдг рд▓рд┐рдкрд┐рдпреЛрдВ

рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рд╕рд╛рдорд╛рдиреНрдп рдкрд░реНрд▓ `рдЙрдкрдпреЛрдЧ' рдпрд╛ `рдЖрд╡рд╢реНрдпрдХрддрд╛' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдХрд░реЗрдВ
рдмрдпрд╛рди:

рдЕрдВрдЧреНрд░реЗрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЛ;
My::рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;

рдкреНрд░рддреНрдпреЗрдХ 'рдЙрдкрдпреЛрдЧ' рдпрд╛ 'рдЖрд╡рд╢реНрдпрдХрддрд╛' рдХреЗрд╡рд▓ рдПрдХ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рд╡рд╣ рдлрд╝рд╛рдЗрд▓ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ. рдП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдПрдХрд╛рдзрд┐рдХ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ 'рдЙрдкрдпреЛрдЧ' рдпрд╛ 'рдЖрд╡рд╢реНрдпрдХрддрд╛' рдХрдерди рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛
рдЬрд┐рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╡рд┐рд╕реНрддрд╛рд░ of рдЪрд░

рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ рдФрд░ рд╕рднреА рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп, рдЕрд▓рдЧ рдкрд░реНрд▓ рдореЗрдВ рдЬреАрд╡рди рд╢реБрд░реВ рдХрд░рддреА рд╣реИрдВ
рдкреИрдХреЗрдЬ. рдиреБрдХрд╕рд╛рди рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐, рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП
рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦрд╛рд▓реА рд╣реИ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓, рдЬрд┐рд╕реЗ рдХреБрдЫ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдорд┐рд▓рддреА рд╣реИ
рддрд░реНрдХ. рдЗрд╕рд▓рд┐рдП, рд╕реЗрдЯ рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд╡реЗрд░рд┐рдПрдмрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
рд╕реНрд╡рдпрдВ--рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рд▓рд┐рдкрд┐ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВред

рдЪрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЖрдпрд╛рддрд┐рдд рдЗрд╕рдХреА рдореВрд▓ рд▓рд┐рдкрд┐ рдХреА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ред рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдП
рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓, рдпрд╣ рдЕрд╡рд╢реНрдп рд░рд╣рд╛ рд╣реЛрдЧрд╛ рдирд┐рд░реНрдпрд╛рдд рдорд╛рддрд╛-рдкрд┐рддрд╛ рджреНрд╡рд╛рд░рд╛ рдФрд░ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ (рдЕрдиреНрдпрдерд╛ рдПрдХ рддреНрд░реБрдЯрд┐
рдШрдЯреЗрдЧрд╛)ред

RSI рдирд┐рд░реНрдпрд╛рдд рдЖрджреЗрд╢

'рдирд┐рд░реНрдпрд╛рдд' рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖();
$INCLUDE = "#рдирд┐рд░реНрдпрд╛рдд/рд╢рд╛рдорд┐рд▓";
$LIB = "#export/lib";
рдирд┐рд░реНрдпрд╛рдд qw(env LIB рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ);
рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ рдмрдирд╛рдПрдВ (рдЙрдкрдпреЛрдЧ/рдХреЙрдиреНрд╕реНрдХреНрд░рд┐рдкреНрдЯ);

'рдирд┐рд░реНрдпрд╛рдд' рд╕реВрдЪреА рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рд░рд▓ рдЪрд░ рдХреЗ рдорд╛рди рджреВрд░ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ
рдХрд┐рд╕реА рднреА рдмрд╛рдж рдХреЗ `рдмрд┐рд▓реНрдб' рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ред 'рдПрдХреНрд╕рдкреЛрд░реНрдЯ' рдХрдорд╛рдВрдб рдХреЗрд╡рд▓ рдкрд░реНрд▓ рдХреЛ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ рдЕрджрд┐рд╢
рд╡реЗрд░рд┐рдПрдмрд▓, рдпрд╛рдиреА рд╡реЗ рд╡реЗрд░рд┐рдПрдмрд▓ рдЬрд┐рдирдХрд╛ рдирд╛рдо `$' рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдЕрдиреНрдп рдЪрд░, рд╡рд╕реНрддреБрдПрдБ, рдЖрджрд┐ред
рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ--рд▓реЗрдХрд┐рди рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдВрдЧреА, рдФрд░ рдпрд╣
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдореВрд▓ рджреНрд╡рд╛рд░рд╛ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛. рд╣рд╛рд▓рд╛рдБрдХрд┐, рдирд┐рд░реНрдпрд╛рддрд┐рдд рд╕реНрдХреЗрд▓рд░ рдХреЛ рдПрдХ рдирдпрд╛ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ
рд╡реЗрд░рд┐рдПрдмрд▓--рдЬреЛ рд╕рдВрджрд░реНрднрд┐рдд рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред рдпрд╣ рдХреНрд░рдо, рдХреЗ рд▓рд┐рдП
рдЙрджрд╛рд╣рд░рдг, рдареАрдХ рд╣реИ:

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖();
рдирд┐рд░реНрдпрд╛рдд qw(env LIB рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ);
рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ рдмрдирд╛рдПрдВ (рдЙрдкрдпреЛрдЧ/рдХреЙрдиреНрд╕реНрдХреНрд░рд┐рдкреНрдЯ);
$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖(CFLAGS => '-O');
рдмрд┐рд▓реНрдб рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ (рдЕрдиреНрдп/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ);

рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╡реЗрд░рд┐рдПрдмрд▓ 'рдПрдХреНрд╕рдкреЛрд░реНрдЯ' рдХрдорд╛рдВрдб рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗрдЯ рд╣реИ рдпрд╛ рдмрд╛рдж рдореЗрдВред
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ 'рдмрд┐рд▓реНрдб' рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдорд╛рди рдХреНрдпрд╛ рд╣реИред
рдпрд╣реА рддреЛ рдЫрдЯрдкрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдХреЛрдИ рднреА рдЖрдЧрд╛рдореА 'рдирд┐рд░реНрдпрд╛рдд' рдЖрджреЗрд╢,
рдкрд╣рд▓реЗ рдХреЛ рдЕрдорд╛рдиреНрдп рдХрд░реЗрдВ: рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ рдЙрди рд╕рднреА рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
'рдирд┐рд░реНрдпрд╛рдд' рдЖрджреЗрд╢.

RSI рдЖрдпрд╛рдд рдЖрджреЗрд╢

'рдПрдХреНрд╕рдкреЛрд░реНрдЯ' рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
'рдЖрдпрд╛рдд' рдЖрджреЗрд╢. рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣рдореЗрд╢рд╛ рд╕реЗ рд╕реАрдзреЗ рд╡реЗрд░рд┐рдПрдмрд▓ рдЖрдпрд╛рдд рдХрд░рддреА рд╣реИ
рд╢реНрд░реЗрд╖реНрда рд╕реНрдХреНрд░рд┐рдкреНрдЯ. рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

рдЖрдпрд╛рдд qw(env рд╢рд╛рдорд┐рд▓);

рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдиреВрдиреА рд╣реИ рдЬрдм рдореВрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ `$env' рдФрд░ `$INCLUDE' рджреЛрдиреЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреА рд╣реИред рдпрд╣ рд╣реЛрдирд╛ рднреА рдЪрд╛рд╣рд┐рдП
рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░ рдХрд╛ рдорд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╣реА рдареАрдХ рд╣реИ
рдирд┐рд░реНрдпрд╛рддрд┐рдд рдЪрд░ рдХрд╛ рдПрдХ рдЙрдкрд╕рдореВрд╣ рдЖрдпрд╛рдд рдХрд░реЗрдВ (рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, `$LIB', рдЬрд┐рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рдкрд┐рдЫрд▓рд╛ рдЙрджрд╛рд╣рд░рдг рдЖрдпрд╛рддрд┐рдд рдирд╣реАрдВ рд╣реИ)ред

рд╕рднреА рдЖрдпрд╛рддрд┐рдд рдЪрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрдирдГ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдо:

рдЖрдпрд╛рдд qw (env рд╢рд╛рдорд┐рд▓);
рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ рдмрдирд╛рдПрдВ (рдиреАрдЪреЗ-рдореА/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ);

рд╕рд╣рд╛рдпрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ `$env' рдФрд░ `$INCLUDE' рджреЛрдиреЛрдВ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдХреЗрд╡рд▓ `$env' рд╣реЛрдирд╛ рд╣реИ
рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛:

рдЖрдпрд╛рдд qw (env рд╢рд╛рдорд┐рд▓);
рдирд┐рд░реНрдпрд╛рдд рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ (рдПрдирд╡реА);
рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ рдмрдирд╛рдПрдВ (рдиреАрдЪреЗ-рдореА/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ);

рдХрд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, 'рдмрд┐рд▓реНрдб' рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рд╕рд╣рд╛рдпрдХ рд▓рд┐рдкрд┐.

рдмрдирд╛рдПрдБ рд▓рд┐рдкрд┐ рдореВрд▓реНрдпрд╛рдВрдХрди рдЖрджреЗрд╢

рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдХреНрд░рдо рдкрд░ рдПрдХрдорд╛рддреНрд░ рдмрд╛рдзрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдмреЗрд╣рддрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрддреА рд╣реИрдВ
рдЙрдирдХреА рдШрдЯрд┐рдпрд╛ рд▓рд┐рдкрд┐рдпреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рд╣реИ
рдкрд╣рд▓реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рдж рдХрд┐рд╕реА рдШрдЯрд┐рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ред рдпрд╣ рд╡рд╣ рд╕рдм рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдореВрд▓реНрдпрд╛рдВрдХрди рдЖрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрджреЗрд╢ рдЖрдо рддреМрд░ рдкрд░ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред рдирд┐рдореНрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ
`рдмрд┐рд▓реНрдб' рдХрдорд╛рдВрдб:

рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ рдмрдирд╛рдПрдВ(
рдбреНрд░рд╛рдЗрд╡рд░/рдбрд┐рд╕реНрдкреНрд▓реЗ/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдбреНрд░рд╛рдЗрд╡рд░/рдорд╛рдЙрд╕/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдкрд╛рд░реНрд╕рд░/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ/рдХреЙрдиреНрд╕реНрдХреНрд░рд┐рдкреНрдЯ
);

рд╣рдордиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╛рдореЛрдВ рдХреЛ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рд░рдЦрдирд╛ рдЪреБрдирд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╣реИ
рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХред рдСрд░реНрдбрд░ рдмрджрд▓рдиреЗ рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛
рдирд┐рд░реНрдорд╛рдгред

A рдЖрджрд░реНрд╢ рдПрд╕рдЯреА рдмрд╛рдВрдЯрдиреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ


рдХреБрдЫ рд╕рд░рд▓ рд╕рдореНрдореЗрд▓рдиреЛрдВ

рдХрд┐рд╕реА рднреА рдЬрдЯрд┐рд▓ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдмрд┐рд▓реНрдб рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
рд╕реНрдерд╛рдкрд┐рддред рд╣рдо рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд╕реЗрдЯ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдорд╛рдореВрд▓реА рд╣реИ
рд╡рд┐рдкрдХреНрд╖, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡реА.

рдореВрд▓ рдирд┐рдпрдо рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рдирд┐рд░реНрдорд┐рдд рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдЖрдкрд╕ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдордиреЗ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕реЗ рдмреБрд▓рд╛рдпрд╛ рд╣реИ
рдирд┐рд░реНрдпрд╛рдд, рдФрд░, C рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рдкрд╛рд░рдВрдкрд░рд┐рдХ рдЙрдк-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХреА рдЧрдИрдВ,
рдЬреИрд╕реЗ рд╢рд╛рдорд┐рд▓, lib, рдмрд┐рди, рдЖрджрд┐

рдЗрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╢реАрд░реНрд╖-рд╕реНрддрд░ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдХреЗ рд▓рд┐рдП рджрд░реНрдЬ
a рдирдорд╕реНрддреЗ, рд╡рд┐рд╢реНрд╡! рдПрдХрд╛рдзрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

# рд╣реЗрд▓реЛ, рд╡рд░реНрд▓реНрдб рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ!

# рд╣рдорд╛рд░реЗ рд╕рднреА рд╕рд╛рдЭрд╛ рдЙрддреНрдкрд╛рдж рдХрд╣рд╛рдВ рд░рдЦреЗ рдЬрд╛рдПрдВ.
$рдирд┐рд░реНрдпрд╛рдд = '#рдирд┐рд░реНрдпрд╛рдд';

рдирд┐рд░реНрдпрд╛рдд qw(рд╡рд┐рдкрдХреНрд╖ рдореЗрдВ рд▓рд┐рдм рдмрд┐рди рд╢рд╛рдорд┐рд▓ рд╣реИ);

# рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБред
$INCLUDE = "$рдирд┐рд░реНрдпрд╛рдд/рд╢рд╛рдорд┐рд▓";
$LIB = "$EXPORT/lib";
$BIN = "$рдирд┐рд░реНрдпрд╛рдд/рдмрд┐рди";

# рдПрдХ рдорд╛рдирдХ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг.
$CONS = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖ (
CPPPATH => $INCLUDE, # C рд╕рдВрдХрд▓рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрде рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
LIBPATH => $LIB, рдкреНрд░реЛрдЧреНрд░рд╛рдореЛрдВ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП # рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрде
LIBS => '-lworld', # рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕реВрдЪреА
);

рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ рдмрдирд╛рдПрдВ(
рдирдорд╕реНрддреЗ/рд╕рд┐рдкрд╛рд╣реА
рд╡рд┐рд╢реНрд╡/рд╕рд┐рдкрд╛рд╣реА
);

RSI рд╡рд┐рд╢реНрд╡ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

# рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓
рдЖрдпрд╛рдд qw(рд╡рд┐рдкрдХреНрд╖ рдореЗрдВ LIB рд╢рд╛рдорд┐рд▓ рд╣реИ);

# рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
$CONS $LIB, 'libworld.a' рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ;
$CONS $INCLUDE, 'world.h' рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ;

# рдЖрдВрддрд░рд┐рдХ рдЙрддреНрдкрд╛рдж
рд▓рд╛рдЗрдмреНрд░реЗрд░реА $CONS 'libworld.a', 'world.c';

рдФрд░ рдирдорд╕реНрддреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

# рд╣реЗрд▓реЛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓
рдЖрдпрд╛рдд qw(рдХреЙрдиреНрд╕ рдмрд┐рди);

# рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдЙрддреНрдкрд╛рдж
$CONS $BIN рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, 'рд╣реИрд▓реЛ';

# рдЖрдВрддрд░рд┐рдХ рдЙрддреНрдкрд╛рдж
рдХрд╛рд░реНрдпрдХреНрд░рдо $CONS 'рд╣реИрд▓реЛ', 'рд╣реИрд▓реЛ.c';

a . рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдирдорд╕реНрддреЗ, рд╡рд┐рд╢реНрд╡! рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдо, рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рдЬрд╛рдПрдБ
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рдФрд░ рдЙрдЪрд┐рдд рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде 'рд╡рд┐рдкрдХреНрд╖' рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░реЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо
рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ рдирд┐рд░реНрдпрд╛рдд. рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдкрдХреНрд╖ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рд╕рднреА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ
рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рдЬреНрдЮрд╛рдд рдЙрддреНрдкрд╛рдж (рдХреЗрд╡рд▓ рддрднреА рдЬрдм рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ)ред рдпрджрд┐ рдХреЛрдИ рд╣реЛ
рд╡реЗ рдЙрддреНрдкрд╛рдж рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЕрдиреНрдп рдЙрддреНрдкрд╛рджреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЙрдирдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛,
рднреА рд╣реИ.

% рд╡рд┐рдкрдХреНрд╖ рдирд┐рд░реНрдпрд╛рдд
World/world.h рдХреЛ рдирд┐рд░реНрдпрд╛рдд/include/world.h рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
cc -Iexport/include -c hello/hello.c -o hello/hello.o
cc -Iexport/include -cworld/world.c -oworld/world.o
рдПрдЖрд░ рдЖрд░ рд╡рд░реНрд▓реНрдб/рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рд╡рд░реНрд▓реНрдб/рд╡рд░реНрд▓реНрдб.рдУ
ar: рд╡рд┐рд╢реНрд╡/libworld.a рдмрдирд╛рдирд╛
ranlib рджреБрдирд┐рдпрд╛/libworld.a
World/libworld.a рдХреЛ рдирд┐рд░реНрдпрд╛рдд/lib/libworld.a рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
cc -o рд╣реЗрд▓реЛ/рд╣реИрд▓реЛ hello/hello.o -Lexport/lib -lworld
рд╣реИрд▓реЛ/рд╣реИрд▓реЛ рдХреЛ рдПрдХреНрд╕рдкреЛрд░реНрдЯ/рдмрд┐рди/рд╣реИрд▓реЛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рд╕реНрд╡рдЪреНрдЫ, рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп, рд╕реНрдерд╛рди-рд╕реНрд╡рддрдВрддреНрд░ рд▓рд┐рдкрд┐рдпреЛрдВ

рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рджреЛрдиреЛрдВ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрд╣реБрдд рд╕рд╛рдл-рд╕реБрдерд░реА рдФрд░ рд╕рдЯреАрдХ рд╣реИрдВред рд╡реЗ рдмрд╕
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЙрддреНрдкрд╛рдж рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдФрд░ рдЙрди рдЙрддреНрдкрд╛рджреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд░реЗрдВред рдирд┐рд░реНрдорд╛рдг рдирд┐рд░реНрджреЗрд╢
рдиреНрдпреВрдирддрдо рд╣реИрдВ: рд╡реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЙрддреНрдкрд╛рдж рдХрд╛ рдирд╛рдо,
рдФрд░ рдЗрдирдкреБрдЯ рдХрд╛ рдирд╛рдо. рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рди-рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ: рдпрджрд┐ рдЖрдк
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд░реЛрдд рд╡реГрдХреНрд╖ рдХреЛ рдкреБрдирд░реНрдЧрдард┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ: рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЗрд╕реЗ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛
рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ (рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ), рдХреЗ рдирдП рд╕реНрдерд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЗрдВред
рдирд┐рд░реНрдпрд╛рдд рд╡реГрдХреНрд╖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рд▓рдХреНрд╖реНрдп рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд┐рдкрдХреНрд╖ рдЖрдкрдХреА рдЫреЛрдЯреА-рдЫреЛрдЯреА рдЬрд╛рдирдХрд╛рд░рд┐рдпреЛрдВ рдХрд╛ рдХреИрд╕реЗ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИред рд╕рднреА рдирд┐рд░реНрдпрд╛рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ, рдХреЗ рд▓рд┐рдП
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЧрдП рдереЗ. рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдлрд╝рд╛рдЗрд▓реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рд╛рд░реНрдб-рд▓рд┐рдВрдХ рдереАрдВ
рд╕реНрдерд╛рди рдФрд░ рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрдпрд╛рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБред рд╡рд┐рд╕реНрддрд╛рд░ рдкрд░ рдпрд╣ рдзреНрдпрд╛рди рдмрдЪрд╛рддрд╛ рд╣реИ
рдХрд╛рдлреА рдХрд╛рдо, рдФрд░ рд╕рд░рд▓, рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдФрд░ рднреА рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

рдкреГрдердХ рдХрд░рдирд╛ рд╕реНрд░реЛрдд рдФрд░ рдирд┐рд░реНрдорд╛рдг рдкреЗрдбрд╝


рдмрд┐рд▓реНрдб рд╕реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд░рдЦрдирд╛ рдЕрдХреНрд╕рд░ рд╡рд╛рдВрдЫрдиреАрдп рд╣реЛрддрд╛ рд╣реИ
рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВред рдЗрд╕рд╕реЗ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рднреА рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖рдХрд░ рдпрджрд┐ рдЖрдк рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рд╕рд╣-рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд░рд╣рдирд╛ред

рдкреГрдердХ рдХрд░рдирд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ la рд╕рдВрдкрд░реНрдХ рдЖрджреЗрд╢

рд╡рд┐рдкрдХреНрд╖ рдПрдХ рд╕рд░рд▓ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрди рд╕рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред 'рд▓рд┐рдВрдХ'
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрджреЗрд╢ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд▓рд┐рдВрдХ 'рдмрд┐рд▓реНрдб' => 'src';

рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ ``рд▓рд┐рдВрдХ'' рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП
рдХрд┐ рдЖрдк рдПрдХ рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрдЯрдЕрдк рдХрд░реЗрдВ, ", рдЙрдк-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реНрд╡ рдФрд░ рдирдорд╕реНрддреЗ рдЗрд╕рдХреЗ рдиреАрдЪреЗ,
рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реИред рдлрд┐рд░ рдЖрдк рдореВрд▓ рдмрд┐рд▓реНрдб рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ рдмрдирд╛рдПрдВ(
рдмрд┐рд▓реНрдб/рд╡рд░реНрд▓реНрдб/рдХрдВрд╕рдХреНрд░рд┐рдкреНрдЯ
рдмрд┐рд▓реНрдб/рд╣реИрд▓реЛ/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ
);

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░рддреЗ рд╣реИрдВ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдРрд╕реЗ рдмрдирд╛рдПрдВ рдорд╛рдиреЛ рд╡рд╣ рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛред рдЕрдм рдЕрдЧрд░
рдЖрдк рдкрд╣рд▓реЗ рдЬреИрд╕рд╛ рд╣реА рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗрдВрдЧреЗ:

% рд╡рд┐рдкрдХреНрд╖ рдирд┐рд░реНрдпрд╛рдд
рдмрд┐рд▓реНрдб/рд╡рд░реНрд▓реНрдб/рд╡рд░реНрд▓реНрдб.рдПрдЪ рдХреЛ рдПрдХреНрд╕рдкреЛрд░реНрдЯ/рдЗрдирдХреНрд▓реВрдб/рд╡рд░реНрд▓реНрдб.рдПрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ
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: рдмрд┐рд▓реНрдб/рд╡рд░реНрд▓реНрдб/libworld.a рдмрдирд╛рдирд╛
ranlib рдмрд┐рд▓реНрдб/рд╡рд░реНрд▓реНрдб/libworld.a
рдмрд┐рд▓реНрдб/рд╡рд░реНрд▓реНрдб/рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рдХреЛ рдПрдХреНрд╕рдкреЛрд░реНрдЯ/рд▓рд┐рдм/рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
cc -o рдмрд┐рд▓реНрдб/рд╣реИрд▓реЛ/рд╣реИрд▓реЛ рдмрд┐рд▓реНрдб/рд╣реИрд▓реЛ/hello.o -Lexport/lib -lworld
рдмрд┐рд▓реНрдб/рд╣реИрд▓реЛ/рд╣реИрд▓реЛ рдХреЛ рдПрдХреНрд╕рдкреЛрд░реНрдЯ/рдмрд┐рди/рд╣реИрд▓реЛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рдлрд┐рд░ рд╕реЗ, рд╡рд┐рдкрдХреНрд╖ рдиреЗ рдЖрдкрдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд░рдг рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЖрдк рд╡рд╣ рд╕рдм рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдВрдЧреЗ
рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЗ рд▓рд┐рдП
рдЙрджрд╛рд╣рд░рдг, рдмрд┐рд▓реНрдб/рд╡рд░реНрд▓реНрдб/рд╡рд░реНрд▓реНрдб.рдУ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд╣реИ рдмрд┐рд▓реНрдб/рд╡рд░реНрд▓реНрдб/рд╡рд░реНрд▓реНрдб.рд╕реА, рддрдерд╛
рдирд┐рд░реНрдпрд╛рдд/рд╢рд╛рдорд┐рд▓/рд╡рд┐рд╢реНрд╡.рдПрдЪ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдмрд┐рд▓реНрдб/рд╡рд░реНрд▓реНрдб/рд╡рд░реНрд▓реНрдб.рдПрдЪ. рдпрд╣ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░ рдкреВрд░рд╛ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ
рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд░реЛрдд рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ ``рд╣рд╛рд░реНрдб'' рдХреЗ рд╕рд░рд▓ рдЙрдкрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╕рд┐рд╕реНрдЯрдо
рдЙрдЪрд┐рдд рдирд┐рд░реНрдорд╛рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред

рд▓рд┐рдВрдХ рдХреЛ рд╡рд┐рдкрдХреНрд╖ рджреНрд╡рд╛рд░рд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХрд╛ рд╕рдВрдкрд╛рджрдХ рдЗрд╕реЗ ``рд╕реНрдерд╛рди рдкрд░'' рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБред рдмрд╛рдж рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдИ рднреА рдХрдард┐рди рд▓рд┐рдВрдХ рдЦреЛ рдЬрд╛рдПрдЧрд╛ред рд╡рд┐рдкрдХреНрд╖ рд╣реЛрдЧрд╛
рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддреЛ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдкреБрдирдГ рд▓рд┐рдВрдХ рдХрд░реЗрдЧрд╛
рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗред

рд╡реИрд╕реЗ, рдЖрдк рдпрд╣ рднреА рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдВрдЧреЗ рдирд╣реАрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛
рдлрд╝рд╛рдЗрд▓реЗрдВ. рдФрд░ рд╣рдо рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред

рдкреНрд░рдХрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИ


рдирдорд╕реНрддреЗ, рд╡рд┐рд╢реНрд╡! рдПрд╕рдЯреА рдХреЗрд▓рд╛ рдФрд░ рдЖрдбрд╝реВ рдУрдПрд╕

рд╡реЗрд░рд┐рдПрдВрдЯ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдмрд╕ рдПрдХ рдФрд░ рд╕рд░рд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВ a
baNaNa рдФрд░ peAcH рджреЛрдиреЛрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ,
рд╣рдо рд╡рд┐рд╢реЗрд╖ рд╕рд┐рд╕реНрдЯрдо рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдирдПрдлрдПрд╕ рдЬреИрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░
рдХрд┐рд╕реА рднреА рджрд┐рдП рдЧрдП рдЖрд╣реНрд╡рд╛рди рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛
'рд╡рд┐рдкрдХреНрд╖'. рдпрд╣рд╛рдВ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдирдорд╕реНрддреЗ, рд╡рд┐рд╢реНрд╡!
рдЖрд╡реЗрджрди:

# рд╣реЗрд▓реЛ, рд╡рд░реНрд▓реНрдб рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ!

рдорд░ рдХреНрдпреВрдХреНрдпреВ(рдУрдПрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП) рдЬрдм рддрдХ рдХрд┐ $OS = $ARG{OS};
рдбрд╛рдИ рдХреНрдпреВрдХреНрдпреВ (рдУрдПрд╕ "рдЖрдбрд╝реВ" рдпрд╛ "рдХреЗрд▓рд╛" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)
рдЕрдЧрд░ $OS рдиреЗ "рдЖрдбрд╝реВ" && $OS рдиреЗ "рдХреЗрд▓рд╛";

# рд╣рдорд╛рд░реЗ рд╕рднреА рд╕рд╛рдЭрд╛ рдЙрддреНрдкрд╛рдж рдХрд╣рд╛рдВ рд░рдЦреЗ рдЬрд╛рдПрдВ.
$рдирд┐рд░реНрдпрд╛рдд = "#рдирд┐рд░реНрдпрд╛рдд/$рдУрдПрд╕";

рдирд┐рд░реНрдпрд╛рдд qw(рд╡рд┐рдкрдХреНрд╖ рдореЗрдВ рд▓рд┐рдм рдмрд┐рди рд╢рд╛рдорд┐рд▓ рд╣реИ);

# рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБред
$INCLUDE = "$рдирд┐рд░реНрдпрд╛рдд/рд╢рд╛рдорд┐рд▓";
$LIB = "$EXPORT/lib";
$BIN = "$рдирд┐рд░реНрдпрд╛рдд/рдмрд┐рди";

# рдПрдХ рдорд╛рдирдХ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг.
$CONS = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖ (
CPPPATH => $INCLUDE, # C рд╕рдВрдХрд▓рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрде рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
LIBPATH => $LIB, рдкреНрд░реЛрдЧреНрд░рд╛рдореЛрдВ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП # рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрде
LIBS => '-lworld', # рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕реВрдЪреА
);

# $BUILD рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╕реЗ рд╣рдо рд╕рдм рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред
$рдмрд┐рд▓реНрдб = "#рдмрд┐рд▓реНрдб/$рдУрдПрд╕";

# рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдмрддрд╛рдПрдВ рдХрд┐ $BUILD рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рдХрд╣рд╛рдВ рд╣реИрдВред
рд▓рд┐рдВрдХ $BUILD => 'src';

рдирд┐рд░реНрдорд╛рдг (
"$рдмрд┐рд▓реНрдб/рд╣реИрд▓реЛ/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ",
"$рдмрд┐рд▓реНрдб/рджреБрдирд┐рдпрд╛/рдХреЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ",
);

рдЕрдм рдпрджрд┐ рд╣рдо peAcH рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдкрдирд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдирдорд╕реНрддреЗ, рд╡рд┐рд╢реНрд╡! рдЙрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди
рдордВрдЪ:

% рд╡рд┐рдкрдХреНрд╖ рдирд┐рд░реНрдпрд╛рдд рдУрдПрд╕ = рдЖрдбрд╝реВ
рдмрд┐рд▓реНрдб/рдкреАрдЪ/рд╡рд░реНрд▓реНрдб/рд╡рд░реНрд▓реНрдб.рдПрдЪ рдХреЛ рдПрдХреНрд╕рдкреЛрд░реНрдЯ/рдкреАрдЪ/рдЗрдирдХреНрд▓реВрдб/рд╡рд░реНрд▓реНрдб.рдПрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ
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: рдмрд┐рд▓реНрдб/рдкреАрдЪ/рд╡рд░реНрд▓реНрдб/рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рдмрдирд╛рдирд╛
рд░реИрдирд▓рд┐рдм рдмрд┐рд▓реНрдб/рдкреАрдЪ/рд╡рд░реНрд▓реНрдб/рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП
рдмрд┐рд▓реНрдб/рдкреАрдЪ/рд╡рд░реНрд▓реНрдб/рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рдХреЛ рдПрдХреНрд╕рдкреЛрд░реНрдЯ/рдкреАрдЪ/рд▓рд┐рдм/рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ
рд╕реАрд╕реА -рдУ рдмрд┐рд▓реНрдб/рдкреАрдЪ/рд╣реИрд▓реЛ/рд╣реИрд▓реЛ рдмрд┐рд▓реНрдб/рдкреАрдЪ/рд╣реИрд▓реЛ/рд╣реИрд▓реЛ.рдУ -рд▓реЗрдХреНрд╕рдкреЛрд░реНрдЯ/рдкреАрдЪ/рд▓рд┐рдм -рдПрд▓рд╡рд░реНрд▓реНрдб
рдмрд┐рд▓реНрдб/рдкреАрдЪ/рд╣реИрд▓реЛ/рд╣реИрд▓реЛ рдХреЛ рдПрдХреНрд╕рдкреЛрд░реНрдЯ/рдкреАрдЪ/рдмрд┐рди/рд╣реИрд▓реЛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рд╡рд┐рд╡рд┐рдзрддрд╛рдпреЗрдВ on a рд╡рд┐рд╖рдп

рдЗрд╕ рдореЙрдбрд▓ рдХреЗ рдЕрдиреНрдп рд░реВрдк рд╕рдВрднрд╡ рд╣реИрдВ. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рдЕрдкрдиреА рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдирд┐рд░реНрднрд░ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реНрд╡рддрдВрддреНрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдирд┐рд░реНрднрд░ рдХреЗ рд▓рд┐рдП `$INCLUDE' рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдлрд╝рд╛рдЗрд▓реЗрдВ. рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреА
рдмрджрд▓рдирд╛ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛.

рдЖрдк рдбрд┐рдмрдЧрд┐рдВрдЧ рдпрд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ,
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдХреНрд╖рдо. рдЖрдк рдЗрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐
`рдбреАрдмрдЧ=рдЪрд╛рд▓реВ'ред рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ (рдЗрд╕рдореЗрдВ рдЕрдиреБрдХреВрд▓рди рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред
рдЙрджрд╛рд╣рд░рдг)ред рдЖрдк рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЗрди рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╛рдо рд╕реНрдерд╛рди рднрд┐рдиреНрди-рднрд┐рдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ,
рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЖрд╡рд╢реНрдпрдХ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪреВрдБрдХрд┐ рд╡рд┐рдкрдХреНрд╖ рд╕реБрдВрджрд░ рд╣реИ
рдЬрдм рдЖрдк рд╡рд┐рдХрд▓реНрдк рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рдЪрддреБрд░ рд╣реЛрддреЗ рд╣реИрдВред

рд╣рд╕реНрддрд╛рдХреНрд╖рд░


MD5 рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░

рдЬрдм рднреА рд╡рд┐рдкрдХреНрд╖ рдПрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП. рдж рд╕рд┐рдЧрдиреЗрдЪрд░
рдкреНрд░рддрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд┐рдЫрд▓рд╛ рдЙрджрд╛рд╣рд░рдг рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж,
la .рднреЗрдЬрдирд╛ рдореЗрдВ рджрд╛рдпрд░ рдирд┐рд░реНрдорд╛рдг/рдЖрдбрд╝реВ/рджреБрдирд┐рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦреА:

world.o:834179303 23844c0b102ecdc0b4548d1cd1cbd8c6
libworld.a:834179304 9bf6587fa06ec49d864811a105222c00

рдкрд╣рд▓рд╛ рдирдВрдмрд░ рдПрдХ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╣реИ - UNIX рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ
1 рдЬрдирд╡рд░реА 1970 рд╕реЗ рд╕реЗрдХрдВрдбред рджреВрд╕рд░рд╛ рдорд╛рди рдПрдордбреА5 рдЪреЗрдХрд╕рдо рд╣реИред рдореИрд╕реЗрдЬ рд╕рдВрдЧреНрд░рд╣
рдХрд▓рди рд╡рд┐рдзрд┐ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИ, рдЬреЛ рдПрдХ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджрд┐рдП рдЬрд╛рдиреЗ рдкрд░, рдПрдХ рдордЬрдмреВрдд рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ
рдЙрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣рд╕реНрддрд╛рдХреНрд╖рд░. MD5 рдЪреЗрдХрд╕рдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╣реИ .рднреЗрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╣реИ
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкрдЪрд╛рдирд╛ред рддреЛ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЗ рд▓рд┐рдП
рд╡рд┐рд╢реНрд╡.рдУ рдлрд╝рд╛рдЗрд▓, рдЗрд╕рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рд╢рд╛рдорд┐рд▓ рд╣реИ рд╡рд┐рд╢реНрд╡.рд╕реА рдлрд╝рд╛рдЗрд▓, рдФрд░ рдХреЛрдИ рднреА рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдЬреЛ рд╡рд┐рдкрдХреНрд╖ рд╣реИ
рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпрдХреНрд╖ рдпрд╛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рд╡рд┐рд╢реНрд╡.рд╕реАред рдЗрддрдирд╛ рд╣реА рдирд╣реАрдВ, рд▓реЗрдХрд┐рди
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд╡рд┐рд╢реНрд╡.рдУ рдХреА рдЧрдгрдирд╛ рдореЗрдВ рднреА рдлреАрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдж рд╕рд┐рдЧрдиреЗрдЪрд░ред рдЗрд╕реА рдкреНрд░рдХрд╛рд░, libworld.a рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ ``рд╢рд╛рдорд┐рд▓'' рд╣реЛрддрд╛ рд╣реИ
рдЗрд╕рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ (рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╕рдХрд░реНрдордХ рд░реВрдк рд╕реЗ, рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд▓реЗрдХрд┐рди рд╣рд╛рд▓ рд╣реА
рдШрдЯрдХ), рд╕рд╛рде рд╣реА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЬрд┐рд╕рдиреЗ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИред

рдЧреИрд░-рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рдЧрдгрдирд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХрд░рдВрдЯ рд▓реЗрдХрд░ рдХреА рдЬрд╛рддреА рд╣реИ
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдВрд╢реЛрдзрди рд╕рдордп рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд╛рдо (рдЬрдм рддрдХ рдРрд╕рд╛ рди рд╣реЛ)ред
рд╡рд░реНрддрдорд╛рди .рднреЗрдЬрдирд╛ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЙрд╕ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ or
рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓--рдпрджрд┐ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╣реЛрдЧрд╛
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣рд┐рд╕реНрд╕реЗ рд╣реИрдВ
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ. рдЕрд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛.

рдЬрдм рд╡рд┐рдкрдХреНрд╖ рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рддреЛ рд╡рд╣ рдкрд╣рд▓реЗ рдЗрд╕рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ
рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣рд╕реНрддрд╛рдХреНрд╖рд░. рдЗрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрддрд┐рдо рд╕рдВрд╢реЛрдзрди рд╕рдордп рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ
рдореЗрдВ рджрд░реНрдЬ рд╕рдордп .рднреЗрдЬрдирд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐, рдпрджрд┐ рдХреЛрдИ рдореМрдЬреВрдж рд╣реИред рдпрджрд┐ рдпреЗ рд╕рдордп рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд .рднреЗрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдЯреАрдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ. рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдкрд┐рдЫрд▓реА рд╣реИ
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдирдП, рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрдм рднреА рдХрд┐рд╕реА рдЖрд╢реНрд░рд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓рддрд╛ рд╣реИ рддреЛ рдлрд╝рд╛рдЗрд▓ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧреАред рдореЗрдВ
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЙрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдХреЛрдИ рдХрд┐рд╕реА рдЖрд╢реНрд░рд┐рдд рдХреЗ рд╕рдВрд╢реЛрдзрди рд╕рдордп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди (рдЖрдЧреЗ рдпрд╛)
рд╕рдордп рдореЗрдВ рдкреАрдЫреЗ рдХреА рдУрд░) рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкреБрдирд░реНрд╕рдВрдХрд▓рди рдХреЛ рдмрд╛рдзреНрдп рдХрд░реЗрдЧрд╛ред

рдЗрди рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдЕрддреНрдпрдВрдд рд╕рд░рд▓, рдХреБрд╢рд▓ рдФрд░ рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХрд╛ рд╣реИ
рдХрд┐рд╕реА рд╕рд┐рд╕реНрдЯрдо рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдпрддрд╛ рдореЗрдВ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ред

рд╣рдо рдЗрд╕реЗ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ:

# рд╕рд░рд▓ "рд╣реИрд▓реЛ, рд╡рд┐рд╢реНрд╡!" рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
$CFLAGS = '-g' рдпрджрд┐ $ARG{DEBUG} eq 'рдЪрд╛рд▓реВ';
$CONS = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖(CFLAGS => $CFLAGS);
рдХрд╛рд░реНрдпрдХреНрд░рдо $CONS 'рд╣реИрд▓реЛ', 'рд╣реИрд▓реЛ.c';

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд┐рдкрдХреНрд╖ рдЙрдЪрд┐рдд рд╕рдордп рдкрд░ рдХреИрд╕реЗ рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ:

% рд╡рд┐рдкрдХреНрд╖ рдирдорд╕реНрддреЗ
рд╕реАрд╕реА -рд╕реА рд╣реИрд▓реЛ.рд╕реА -рдУ рд╣реИрд▓реЛ.рдУ
рд╕реАрд╕реА -рдУ рд╣реЗрд▓реЛ рд╣реЗрд▓реЛ.рдУ
% рд╡рд┐рдкрдХреНрд╖ рдирдорд╕реНрддреЗ
рд╡рд┐рдкрдХреНрд╖: "рд╣реИрд▓реЛ" рдЕрджреНрдпрддрд┐рдд рд╣реИред
% рд╡рд┐рдкрдХреНрд╖ DEBUG=рд╣реИрд▓реЛ рдкрд░
рд╕реАрд╕реА -рдЬреА -рд╕реА рд╣реИрд▓реЛ.рд╕реА -рдУ рд╣реИрд▓реЛ.рдУ
рд╕реАрд╕реА -рдУ рд╣реЗрд▓реЛ рд╣реЗрд▓реЛ.рдУ
% рд╡рд┐рдкрдХреНрд╖ DEBUG=рд╣реИрд▓реЛ рдкрд░
рд╡рд┐рдкрдХреНрд╖: "рд╣реИрд▓реЛ" рдЕрджреНрдпрддрд┐рдд рд╣реИред
% рд╡рд┐рдкрдХреНрд╖ рдирдорд╕реНрддреЗ
рд╕реАрд╕реА -рд╕реА рд╣реИрд▓реЛ.рд╕реА -рдУ рд╣реИрд▓реЛ.рдУ
рд╕реАрд╕реА -рдУ рд╣реЗрд▓реЛ рд╣реЗрд▓реЛ.рдУ

рдХреЛрдб рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рд╕реНрдерд╛рди


рдХрдИ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рд╕рдВрдЧрдардиреЛрдВ рдХреЗ рдкрд╛рд╕ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХреЗрдВрджреНрд░реАрдп рднрдВрдбрд╛рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реЛрдЧреА
рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕реНрд░реЛрдд рдХреЛрдб рд╡рд╛рд▓реЗ рдкреЗрдбрд╝, рд╕рд╛рде рд╣реА рд╡реНрдпреБрддреНрдкрдиреНрди
рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдирд┐рд╖реНрдкрд╛рджрдирдпреЛрдЧреНрдпред рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреБрдирд░реНрд╕рдВрдХрд▓рди рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рд╡рд┐рдХрд╛рд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ - рдРрд╕рд╛ рдорд╛рдирддреЗ рд╣реБрдП
рдмреЗрд╢рдХ, рд╕реНрдерд╛рдиреАрдп рдмрд┐рд▓реНрдб рдЯреНрд░реА рдореЗрдВ рдХреЛрдИ рдирдИ рдирд┐рд░реНрднрд░рддрд╛ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рдХреЛрд╖

рд╡рд┐рдкрдХреНрд╖ рдЦреЛрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдПрдХ рд╕реВрдЪреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ,
рдЗрди-рдСрд░реНрдбрд░, рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕реНрдерд╛рдиреАрдп рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЯреНрд░реА рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдП рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдкрд╣рд▓реЗ рджреЗрдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗрдЧреА
/usr/рдкреНрд░рдпреЛрдЧ/рднрдВрдбрд╛рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ рдлрд┐рд░ рдХреЗ рдЕрдВрддрд░реНрдЧрдд /usr/рдЙрддреНрдкрд╛рдж/рднрдВрдбрд╛рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛:

рднрдВрдбрд╛рд░ qw (
/usr/рдкреНрд░рдпреЛрдЧ/рднрдВрдбрд╛рд░
/usr/рдЙрддреНрдкрд╛рдж/рднрдВрдбрд╛рд░
);

рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ, рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЗрдВ (рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕,
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп), рдпрд╛ рджреЛрдиреЛрдВред рдпрджрд┐ рдиреАрдЪреЗ рдХреЛрдИ рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ (рд╕реНрд░реЛрдд рдпрд╛ рд╡реНрдпреБрддреНрдкрдиреНрди) рдирд╣реАрдВ рд╣реИ
рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдкрдХреНрд╖ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдлрд┐рд░ рдЙрд╕реА рдирд╛рдо рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХреА рдкрд╣рд▓реА рдкреНрд░рддрд┐ рдорд┐рд▓реА
рдХрд┐рд╕реА рднреА рд╕реНрдерд╛рдиреАрдп рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╡рд┐рдкрдХреНрд╖ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реВрдЪреА рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдЦрд╝рддреНрдо рдХрд░ рджреЗрдЧрд╛
рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рдФрд░ рд╕реВрдЪреА рд╕реЗ рдХреЛрдИ рднреА рдЧреИрд░-рдореМрдЬреВрдж рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред

рдЦреЛрдЬ la рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдкрдЯреНрдЯрд┐рдХрд╛ in a рдХреЛрд╖

рд╡рд┐рдкрдХреНрд╖ рднреА рдЦреЛрдЬреЗрдЧрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдФрд░ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЯреНрд░реА рдпрд╛ рдЯреНрд░реА рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдореБрд░реНрдЧреА рдФрд░ рдЕрдВрдбреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ: рдЖрдк рдПрдХ рднрдВрдбрд╛рд░ рд╡реГрдХреНрд╖ рдореЗрдВ рдХреИрд╕реЗ рджрд┐рдЦрддреЗ рд╣реИрдВ
рдПрдХ рдХреЗ рд▓рд┐рдП рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ рдЕрдЧрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╣рд╛рдБ рд╣реИ? рдкрд╛рдиреЗ рдХреЗ
рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ `-R' рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

% рд╡рд┐рдкрдХреНрд╖ -R /usr/рдкреНрд░рдпреЛрдЧ/рднрдВрдбрд╛рд░ -R /usr/рдЙрддреНрдкрд╛рдж/рднрдВрдбрд╛рд░ред

рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЛрдИ рднреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ or рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рдВрд▓рдЧреНрди рдХреА рдЬрд╛рдПрдВрдЧреА
рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди `-R' рд╡рд┐рдХрд▓реНрдкреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдПред

рдХреЛрд╖ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ

рдпрджрд┐ рд╕реНрд░реЛрдд рдХреЛрдб (рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ) рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓) рдХреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдирдорд╕реНрддреЗ,
рд╡рд┐рд╢реНрд╡! рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИ (рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХреЗ), рд╡рд┐рдкрдХреНрд╖ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛
рд╕реНрдерд╛рдиреАрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ:

% рд╡рд┐рдкрдХреНрд╖ -R /usr/src_only/repository рдирдорд╕реНрддреЗ
gcc -c /usr/src_only/repository/hello.c -o hello.o
gcc -c /usr/src_only/repository/world.c -oworld.o
рдПрдЖрд░ рдЖрд░ рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рд╡рд░реНрд▓реНрдб.рдУ
ar: libworld.a рдмрдирд╛рдирд╛
ranlib libworld.a
рдЬреАрд╕реАрд╕реА -рдУ рд╣реИрд▓реЛ hello.o libworld.a

рд╕реНрдерд╛рдиреАрдп рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рд╕реЗ рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдЙрдЪрд┐рдд рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛
рдлрд╝рд╛рдЗрд▓реЗрдВ:

% рдкрд┐рдХреЛ рд╡рд░реНрд▓реНрдб.рд╕реА
[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ]
% рд╡рд┐рдкрдХреНрд╖ -R /usr/src_only/repository рдирдорд╕реНрддреЗ
рдЬреАрд╕реАрд╕реА -рд╕реА рд╡рд░реНрд▓реНрдб.рд╕реА -рдУ рд╡рд░реНрд▓реНрдб.рдУ
рдПрдЖрд░ рдЖрд░ рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рд╡рд░реНрд▓реНрдб.рдУ
ar: libworld.a рдмрдирд╛рдирд╛
ranlib libworld.a
рдЬреАрд╕реАрд╕реА -рдУ рд╣реИрд▓реЛ hello.o libworld.a

рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╡рд┐рдкрдХреНрд╖ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯ рдЖрдПрдЧрд╛
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реНрд░реЛрдд рд╕реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ:

% рдЖрд░рдПрдо рд╡рд░реНрд▓реНрдб.рд╕реА
% рд╡рд┐рдкрдХреНрд╖ -R /usr/src_only/repository рдирдорд╕реНрддреЗ
gcc -c /usr/src_only/repository/world.c -oworld.o
рдПрдЖрд░ рдЖрд░ рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рд╡рд░реНрд▓реНрдб.рдУ
ar: libworld.a рдмрдирд╛рдирд╛
ranlib libworld.a
рдЬреАрд╕реАрд╕реА -рдУ рд╣реИрд▓реЛ hello.o libworld.a

рдХреЛрд╖ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ

рдпрджрд┐ рдХрд┐рд╕реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЯреНрд░реА рдореЗрдВ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЗрдВ (рдЖрдорддреМрд░ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рдпрд╛) рд╣реЛрддреА рд╣реИрдВ
рдирд┐рд╖реНрдкрд╛рджрдирдпреЛрдЧреНрдп), рд╡рд┐рдкрдХреНрд╖ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕рд╛рдорд╛рдиреНрдп рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдлрд╝рд╛рдЗрд▓ рдЕрджреНрдпрддрд┐рдд рд╣реИ рдпрд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐,
рд╕рд╣реА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЧрдгрдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЯреНрд░реА рдореЗрдВ рдпрд╣ рднреА рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
.рднреЗрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рддреЗ рд╕рдордп рд╡рд┐рдкрдХреНрд╖ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдереАрдВред

рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдХреЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдпрд╛,
рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рдФрд░ рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХреЙрдкреА рдХрд░рдирд╛):

% рд╕реАрдбреА /рдпреВрдПрд╕рдЖрд░/рд╕рднреА/рднрдВрдбрд╛рд░
% рд╡рд┐рдкрдХреНрд╖ рдирдорд╕реНрддреЗ
рдЬреАрд╕реАрд╕реА -рд╕реА рд╣реИрд▓реЛ.рд╕реА -рдУ рд╣реИрд▓реЛ.рдУ
рдЬреАрд╕реАрд╕реА -рд╕реА рд╡рд░реНрд▓реНрдб.рд╕реА -рдУ рд╡рд░реНрд▓реНрдб.рдУ
рдПрдЖрд░ рдЖрд░ рд▓рд┐рдмрд╡рд░реНрд▓реНрдб.рдП рд╡рд░реНрд▓реНрдб.рдУ
ar: libworld.a рдмрдирд╛рдирд╛
ranlib libworld.a
рдЬреАрд╕реАрд╕реА -рдУ рд╣реИрд▓реЛ hello.o libworld.a

(рдпрд╣ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рднрд▓реЗ рд╣реА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреА рд╣реИ /usr/рд╕рднреА/рднрдВрдбрд╛рд░ рдП рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
'рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА' рдХрдорд╛рдВрдб рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдкрдХреНрд╖ рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╣рдЯрд╛ рджреЗрдЧрд╛
рд╕реВрдЪреАред)

рдЕрдм рдпрджрд┐ рд╣рдо рдЕрдкрдиреЗ рдкрд╛рд╕ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдирдорд╕реНрддреЗ рд╕реА рдлрд╝рд╛рдЗрд▓, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдПрдХ рдЖрд╡рд╢реНрдпрдХ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдЕрдиреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `-R' рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рднрдВрдбрд╛рд░ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ:

% mkdir $HOME/build1
% рд╕реАрдбреА $HOME/рдмрд┐рд▓реНрдб1
% рдПрдб рд╣реЗрд▓реЛ.рд╕реА
[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ]
% рд╡рд┐рдкрдХреНрд╖ -R /usr/all/repository рдирдорд╕реНрддреЗ
рдЬреАрд╕реАрд╕реА -рд╕реА рд╣реИрд▓реЛ.рд╕реА -рдУ рд╣реИрд▓реЛ.рдУ
рдЬреАрд╕реАрд╕реА -рдУ рд╣реИрд▓реЛ hello.o /usr/all/repository/libworld.a

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд┐рдкрдХреНрд╖ рдиреЗ рд╕реНрдерд╛рдиреАрдп рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЬрд╣рдордд рдирд╣реАрдВ рдЙрдард╛рдИ рд╣реИ libworld.a рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдпрд╛ рдкреБрдирдГ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ
рд╡рд┐рд╢реНрд╡.рдУ рдореЙрдбреНрдпреВрд▓), рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдкрдХреНрд╖ рдЬреЛ рдПрдордбреА5 рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдбрд╛рд▓рддрд╛ рд╣реИ .рднреЗрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЗрдВ, рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рд╡реИрдз рдорд╛рдирд╛ рдЬрд╛рдпреЗрдЧрд╛.

рдХреБрдЫ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрдиреНрд╣реЗрдВ рдХреЙрдкреА рдХрд░рдХреЗ,
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП), рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд┐рдкрдХреНрд╖ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдорд╛рди рд▓реЗрдЧрд╛ рдХрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЕрдорд╛рдиреНрдп рд╣реИрдВ
рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА_рд╕рд┐рдЧ_рдЯрд╛рдЗрдореНрд╕_рдУрдХреЗ 0;

рдпрд╣ рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдпрд╣ рддрдп рдХрд░рддреЗ рд╕рдордп рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╡реИрдз рд╣реИ рдпрд╛ рдирд╣реАрдВред (рдЯрд┐рдкреНрдкрдгреА
рдЗрд╕ рд╡рд┐рд╡реЗрдХ рдЬрд╛рдВрдЪ рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рднрдВрдбрд╛рд░ рдкрд░ рдЙрдЪрд┐рдд рдирд┐рдпрдВрддреНрд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдХрд┐ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ .рднреЗрдЬрдирд╛
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ред)

рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рдпрд╛рдВ of рдлрд╝рд╛рдЗрд▓реЛрдВ

рдпрджрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЯреНрд░реА рдореЗрдВ рдХрд┐рд╕реА рдмрд┐рд▓реНрдб рдХреЗ рдкреВрд░реНрдг рдкрд░рд┐рдгрд╛рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рд╣рдо рдЗрд╕рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ
рд╣рдорд╛рд░реЗ рд╕реНрдерд╛рдиреАрдп рдкреЗрдбрд╝ рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рднрдВрдбрд╛рд░, рдХреБрдЫ рд╣рдж рддрдХ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ
рд╣ рд╛реЗрддреА рд╣реИ:

% mkdir $HOME/build2
% рд╕реАрдбреА $HOME/рдмрд┐рд▓реНрдб2
% рд╡рд┐рдкрдХреНрд╖ -R /usr/all/repository рдирдорд╕реНрддреЗ
рд╡рд┐рдкрдХреНрд╖: "рд╣реИрд▓реЛ" рдЕрджреНрдпрддрд┐рдд рд╣реИред

рд╡рд┐рдкрдХреНрд╖ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдирдорд╕реНрддреЗ рдХреЛрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЕрджреНрдпрддрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдирдорд╕реНрддреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ
рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрдорд╛рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛? рдХреНрдпреЛрдВрдХрд┐ рднрдВрдбрд╛рд░ (рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ) рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ
рдЖрдзреБрдирд┐рдХрддрдо рдирдорд╕реНрддреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо, рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
рдлрд╝рд╛рдЗрд▓ рдХреА рдЗрд╕ рдЕрджреНрдпрддрди рдкреНрд░рддрд┐ рдХреЛ рдкреБрдирдГ рдмрдирд╛рдПрдБред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрдИ рдмрд╛рд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреА рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рд▓рд┐рдкрд┐
рдлрд╝рд╛рдЗрд▓ рд╣рдореЗрд╢рд╛ рдореМрдЬреВрдж рд░рд╣рддреА рд╣реИ. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдпрд╛ рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рди рд╕рдХрддреА рд╣реИ
рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВред рдЗрди рд╕рд╣рд╛рдпрдХ рд▓рд┐рдкрд┐рдпреЛрдВ рд╕реЗ рдЕрд╡рдЧрдд рдХрд░рд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, 'рд╕реНрдерд╛рдиреАрдп' рдХрдорд╛рдВрдб рдХреЛ рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ or рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕реНрдерд╛рдиреАрдп рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП:

рд╕реНрдерд╛рдиреАрдп рдХреНрдпреВрдбрдмреНрд▓реНрдпреВ(
рдирдорд╕реНрддреЗ
);

рдлрд┐рд░, рдпрджрд┐ рд╣рдо рдЙрд╕реА рдХрдорд╛рдВрдб рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдкрдХреНрд╖ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдПрдХ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛ рджреЗрдЧрд╛
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЙрдкреА (рдЖрдкрдХреЛ рдмрддрд╛ рд░рд╣реА рд╣реИ рдХрд┐ рдпрд╣ рдРрд╕рд╛ рдХрд░ рд░рд╣реА рд╣реИ):

% рд╡рд┐рдкрдХреНрд╖ -R /usr/all/repository рдирдорд╕реНрддреЗ
/usr/all/repository/hello рд╕реЗ рд╣реИрд▓реЛ рдХреА рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐
рд╡рд┐рдкрдХреНрд╖: "рд╣реИрд▓реЛ" рдЕрджреНрдпрддрд┐рдд рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ "рдирд┐рд░реНрдорд╛рдг" рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ
рдирдорд╕реНрддреЗ рдлрд╝рд╛рдЗрд▓, рд╡рд┐рдкрдХреНрд╖ рдЕрднреА рднреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрджреНрдпрддрд┐рдд рд╣реИред

рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рд▓рд┐рдкрд┐рдпрд╛рдБ рдмрдирд╛рдирд╛ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
рдордзреНрдпрд╡рд░реНрддреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) 'рдЗрдВрд╕реНрдЯреЙрд▓' рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП 'рдЗрдВрд╕реНрдЯреЙрд▓' рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╣рдпреЛрдЧреА 'рд▓реЛрдХрд▓' рдХрдорд╛рдВрдб рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ
рд╕рд╛рдорд╛рдиреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдкрдХреНрд╖ рджреЛрдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ `Install_Local' рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

рдЗрдВрд╕реНрдЯрд╛рд▓_рд▓реЛрдХрд▓ $env, '#export', 'hello';

рдмрд┐рд▓реНрдХреБрд▓ рдмрд░рд╛рдмрд░ рд╣реИ:

$env '#export', 'hello' рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ;
рд╕реНрдерд╛рдиреАрдп '#рдирд┐рд░реНрдпрд╛рдд/рд╣реИрд▓реЛ';

'рд▓реЛрдХрд▓' рдФрд░ 'рдЗрдВрд╕реНрдЯреЙрд▓_рд▓реЛрдХрд▓' рджреЛрдиреЛрдВ рдХрдорд╛рдВрдб рд▓реЛрдХрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ .рднреЗрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдХрд░реЗрдВ
рдЙрдкрдпреБрдХреНрдд рдлрд╝рд╛рдЗрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░, рддрд╛рдХрд┐ рднрд╡рд┐рд╖реНрдп рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдХреЛрд╖ рдирд┐рд░реНрднрд░рддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг

рдЗрд╕рдХреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдХреИрдирд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг, рд╡рд┐рдкрдХреНрд╖ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреЗрдбрд╝реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдЧрд╛
.h рдлрд╝рд╛рдЗрд▓реЗрдВ. рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рддрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреЗрдбрд╝реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рддрд╛, рддрдм рддрдХ рдРрд╕рд╛ рд╣реА рд░рд╣реЗрдЧрд╛
рдвреВрдВрдврдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде .h рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛ рдХреЗрд╡рд▓ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдорд╕реНрддреЗ рд╕реА
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рд╣реИрд▓реЛ рд╣реИ рдЗрд╕рдХреА рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХрд░реЗрдВ:

% рд╡рд┐рдкрдХреНрд╖ -R /usr/all/repository рдирдорд╕реНрддреЗ
gcc -c /usr/all/repository/hello.c -o hello.o
/usr/all/repository/hello.c:1: hello.h: рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд┐рд░реНрдорд╛рдг рдкрд░рд┐рд╡реЗрд╢ рдкрд░ рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдФрд░ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ C `#include' рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреЗрдбрд╝реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдкрдХреНрд╖ рдЙрдЪрд┐рдд `-I' рдЬреЛрдбрд╝ рджреЗрдЧрд╛
рд╕рдВрдХрд▓рди рдЖрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЭрдВрдбреЗред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ `CPPPATH' рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ
рдирд┐рд░реНрдорд╛рдг рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рдЦреЛрдЬреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рд╣рд┐рдд рд╕рдореНрдорд┐рд▓рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдПред рдирддреАрдЬрддрди, рд╣рдо рдЙрдкрд░реЛрдХреНрдд рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдХреЗ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖(
рд╕реАрд╕реА => 'рдЬреАрд╕реАрд╕реА',
CPPPATH => '.',
LIBS => 'libworld.a',
);

'CPPPATH' рд╡реЗрд░рд┐рдПрдмрд▓ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдХрд╛рд░рдг, рдЬрдм рд╣рдо рдЗрд╕реЗ рджреЛрдмрд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ
рдЖрджреЗрд╢:

% рд╡рд┐рдкрдХреНрд╖ -R /usr/all/repository рдирдорд╕реНрддреЗ
рдЬреАрд╕реАрд╕реА -рд╕реА -рдЖрдИ. -I/usr/all/repository /usr/all/repository/hello.c -o hello.o
рдЬреАрд╕реАрд╕реА -рдУ рд╣реИрд▓реЛ hello.o /usr/all/repository/libworld.a

рд╕реА рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП `-I' рдЭрдВрдбреЛрдВ рдХрд╛ рдХреНрд░рдо рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА-
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЦреЛрдЬ рдкрде рдЬрд┐рд╕реЗ рд╡рд┐рдкрдХреНрд╖ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рд╡рд╣рд╛рдБ
рдПрдХрд╛рдзрд┐рдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдПрдХрд╛рдзрд┐рдХ `CPPPATH' рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ, рд╡рд┐рдкрдХреНрд╖ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛
рдкреНрд░рддреНрдпреЗрдХ `CPPPATH' рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ, рд╕рдВрдЦреНрдпрд╛ рдХреЛ рддреЗрдЬреА рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдирд╛
'-I' рдЭрдВрдбреЛрдВ рдХрд╛. рдПрдХ рдЪрд░рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдП рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ рдпреБрдХреНрдд:

рднрдВрдбрд╛рд░ qw(
/рдпреВ1
/рдпреВ2
);

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖(
CPPPATH => 'рдП:рдмреА:рд╕реА',
);

рдЗрд╕рдХрд╛ рдПрдХ рд╕рдВрдХрд▓рди рдЖрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛:

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 рд╣реЗрд▓реЛ.рдУ

рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдкрдХреНрд╖ рд╕рдВрдХрд▓рдХ рдХреЗ `-I' рдЭрдВрдбреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреНрд░рдо рдХреЛ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рд╡рд┐рдкрдХреНрд╖ рд╣реИ
рдЖрдкрдХреЗ рд╕реА рдореЗрдВ `#include' рдирд┐рд░реНрджреЗрд╢реЛрдВ рдкрд░ рдбрдмрд▓-рдХреЛрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд╕рдВрдЧрдд рд╣реИ
рд╕реЛрд░реНрд╕ рдХреЛрдб:

#рд╢рд╛рдорд┐рд▓ "рдлрд╝рд╛рдЗрд▓.рдПрдЪ" /* рдЗрд╕ рддрд░рд╣ рдбрдмрд▓-рдХреЛрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ */

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реА рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░, рдЬрдм рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрд╢рд╛ рдкрд╣рд▓реЗ рд╣реЛрдВрдЧреЗ
рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЦреЛрдЬреЗрдВред рдпрд╣ рд╡рд┐рд╕реНрддреГрдд `-I' рдХреЛ рдХрдордЬрд╝реЛрд░ рдХрд░рддрд╛ рд╣реИ
рд╡рд┐рдХрд▓реНрдк рдЬреЛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдЙрд╕рдХреА рдкрд╕рдВрджреАрджрд╛ рдЦреЛрдЬ рдХреЗ рдЕрдиреБрд░реВрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдкрдХреНрд╖ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ
рдкрдеред

рдирддреАрдЬрддрди, рд╡рд┐рдкрдХреНрд╖ рдореЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреЗрдбрд╝реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрд╢рд╛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдг-рдХреЛрд╖реНрдардХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдлрд╝рд╛рдЗрд▓реЗрдВ:

#рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ /* рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреЛрдг-рдХреЛрд╖реНрдардХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ */

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА_рд╕реВрдЪреА

рд╡рд┐рдкрдХреНрд╖ рд╕рднреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ `рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА_рд▓рд┐рд╕реНрдЯ' рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
рдЙрдирдХреЗ рд╡рд░реНрддрдорд╛рди рдЦреЛрдЬ рдХреНрд░рдо рдореЗрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд░реНрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рд╕рд╛рдордЧреНрд░реА:

@рд╕реВрдЪреА = рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА_рд▓рд┐рд╕реНрдЯ;
рдкреНрд░рд┐рдВрдЯ рдЬреЙрдЗрди('', @рд╕реВрдЪреА), "\n";

рдХреЛрд╖ рдмрд╛рддрдЪреАрдд рд╕рд╛рде рдореЗрдВ рдЕрдиреНрдп рдиреБрдХрд╕рд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреЗрдбрд╝реЛрдВ рдХрд╛ рд╡рд┐рдкрдХреНрд╖ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдЕрдиреНрдп рд╡рд┐рдкрдХреНрд╖ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ - рдЬреЛ рдХрд┐ рд╣реИ
рдХрд╣рдиреЗ рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рд╡рд╣реА рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдк рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреЗрдбрд╝ 'рд▓рд┐рдВрдХ' рдХреЗ рд╕рд╛рде рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдФрд░ рдмрд▓реНрдХрд┐ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд░реВрдк рд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдЖрдЬреНрдЮрд╛ред рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЯреНрд░реА рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ
рд╕реНрд░реЛрдд рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ 'рд▓рд┐рдВрдХ' рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рддред рд╡рд┐рдкрдХреНрд╖ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░реЗрдЧрд╛
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЯреНрд░реА рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЙрдкрдпреБрдХреНрдд рдмрд┐рд▓реНрдб рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБред

рдЪреВрдХ рд▓рдХреНрд╖реНрдп


рдЕрдм рддрдХ, рд╣рдордиреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕реНрдкрд╖реНрдЯ рд▓рдХреНрд╖реНрдп рдХреЗ рд╕рд╛рде рд╡рд┐рдкрдХреНрд╖ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рд╣реИ:

% рд╡рд┐рдкрдХреНрд╖ рдирдорд╕реНрддреЗ

рдЖрдо рддреМрд░ рдкрд░, рдЬрдм рддрдХ рдХреЛрдИ рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рд╡рд┐рдкрдХреНрд╖ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди '.' рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред
(рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛) рд╕рдм рдХреБрдЫ рдмрдирд╛рдПрдЧреА:

% рд╡рд┐рдкрдХреНрд╖ # рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ

% рджреЛрд╖ ред # рд╕рдм рдХреБрдЫ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдмрдирд╛рддрд╛ рд╣реИ

рдХрд┐рд╕реА рдореЗрдВ 'рдбрд┐рдлрд╝реЙрд▓реНрдЯ' рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝рдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ or рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧреА
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд▓рдХреНрд╖реНрдпред рдпрджрд┐ рдХреЛрдИ рдирд╣реАрдВ рд╣реИ рддреЛ рд╡рд┐рдкрдХреНрд╖ рдЗрди рдбрд┐рдлреЙрд▓реНрдЯреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рдХреНрд╖реНрдпред рддреЛ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдХреЛ рд╢реАрд░реНрд╖-рд╕реНрддрд░ рдкрд░ рдЬреЛрдбрд╝рдирд╛
рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдм рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреЗ рдореЗрдХ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдирдХрд▓ рдХрд░реЗрдЧреА:

рдЧрд▓рддреА рдХрд░рдирд╛ 'ред';

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдирдорд╕реНрддреЗ рдФрд░ рдЕрд▓рд╡рд┐рджрд╛ рдЖрджреЗрд╢ (рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ
рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ or рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓) рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реВрдЪреА рдореЗрдВ:

рдбрд┐рдлрд╝реЙрд▓реНрдЯ qw(
рдирдорд╕реНрддреЗ
рдЕрд▓рд╡рд┐рджрд╛
);

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реВрдЪреА рдореЗрдВ рд▓рдХреНрд╖реНрдп рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП 'рдбрд┐рдлрд╝реЙрд▓реНрдЯ' рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЪрдпрдирд╛рддреНрдордХ рдмрдирд╛рддрд╛ рд╣реИ


рд╡рд┐рдкрдХреНрд╖ рджрд┐рдП рдЧрдП рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рд╣реИ
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рд▓рдХреНрд╖реНрдп, рдФрд░ рджреВрд╕рд░рд╛ рдмрд┐рд▓реНрдб рдЯреНрд░реА рдХреЛ рдХрд╛рдЯрдиреЗ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рд╣реИред рдХреБрдВрдЖ
рдкрд╣рд▓реЗ рд▓рдХреНрд╖реНрдп рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ.

рдЪрдпрдирд╛рддреНрдордХ рдХреЛ рд▓рдХреНрд╖рд┐рдд

рдореЗрдХ рдХреА рддрд░рд╣, рд╡рд┐рдкрдХреНрд╖ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ ``рд▓рдХреНрд╖реНрдп'' рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡рд┐рдкрдХреНрд╖ рд▓рдХреНрд╖реНрдп
рдпрд╛ рддреЛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЬрдм рдХреЛрдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рдмрд╕ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд-
рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рд╣рд╕реНрдд рд╕рдВрдХреЗрддрди - рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдкрддрд╛ рд╣реИ - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЗрдВ
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ рдиреАрдЪреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

% рд╡рд┐рдкрдХреНрд╖ рдмрд┐рд▓реНрдб/рд╣реИрд▓реЛ/рд╣реИрд▓реЛ.рдУ

рдорддрд▓рдм рдирд┐рд░реНрдорд╛рдг рд╣реЗрд▓реЛ.рдУ рдФрд░ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реЗрд▓реЛ.рдУ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реИ
рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдирдорд╕реНрддреЗ, рд╡рд┐рд╢реНрд╡! рдЬрд┐рд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╣реЗрд▓реЛ.рдУ рдкрд░ рдирд┐рд░реНрднрд░
рдирд┐рд░реНрдпрд╛рдд/рд╢рд╛рдорд┐рд▓/рд╡рд┐рд╢реНрд╡.рдПрдЪ. рдпрджрд┐ рд╡рд╣ рдлрд╝рд╛рдЗрд▓ рдЕрджреНрдпрддрд┐рдд рдирд╣реАрдВ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдиреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИ
src/world/world.h), рддреЛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рднрд▓реЗ рд╣реА рдпрд╣ рдХрд┐рд╕реА рджреВрд░рд╕реНрде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реЛ
рдирд┐рд░реНрдорд╛рдг/рд╣реИрд▓реЛ.

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ:

% рд╡рд┐рдкрдХреНрд╖ рдирд┐рд░реНрдорд╛рдг

рдореЗрдВ рд╕рдм рдХреБрдЫ рдирд┐рд░реНрдорд╛рдг рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред рдлрд┐рд░, рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВ
рдирд┐рд░реНрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖рдХрд░, рджреЛрдиреЛрдВ рдирд┐рд░реНрдпрд╛рдд/рд╢рд╛рдорд┐рд▓/рд╡рд┐рд╢реНрд╡.рдПрдЪ рдФрд░ рдирд┐рд░реНрдпрд╛рдд/lib/libworld.a рд░рд╣реЗ
рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдирд┐рд░реНрдорд╛рдг/рд╣реИрд▓реЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рдФрд░ рдпрджрд┐ рд╡реЗ рдкреБрд░рд╛рдиреА рд╣реИрдВ рддреЛ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрджрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп:

% рд╡рд┐рдкрдХреНрд╖ рдирд┐рд░реНрдпрд╛рдд

рддрднреА рдирд┐рд░реНрдпрд╛рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдпрджрд┐
рдЖрд╡рд╢реНрдпрдХ, рдФрд░ рдлрд┐рд░ рд╡рд╣рд╛рдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ `cons рдмрд┐рд▓реНрдб' рдРрд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ `cons
рдирд┐рд░реНрдпрд╛рдд' рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред

рдирд╣реАрдВ ``рд╡рд┐рд╢реЗрд╖'' рд▓рдХреНрд╖реНрдп

рд╡рд┐рдкрдХреНрд╖ рдХреЗ рд╕рд╛рде, рдореЗрдХ-рд╕реНрдЯрд╛рдЗрд▓ ``рд╡рд┐рд╢реЗрд╖'' рд▓рдХреНрд╖реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд┐рдкрдХреНрд╖ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд╕рд░рд▓ рдПрдирд╛рд▓реЙрдЧ
рд╡рд┐рд╢реЗрд╖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдирд┐рд░реНрдпрд╛рдд рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ
рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдкреВрд░реА рд╢реГрдВрдЦрд▓рд╛ рдЬреЛ рдЖрдкрдХреЗ рдХреЛрдб рд╕реЗ рд╕рдВрдмрджреНрдз рд╣реИред рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ
рдХреЛрдб рдХреЗ рдкрд╛рд╕ рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдо рддреМрд░ рдкрд░, рдЖрдк рдпреЗ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗред
рдПрдХ рд╕рдорд╛рдзрд╛рди рдкрд░реАрдХреНрд╖рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдлрд┐рд░
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкреЗрдбрд╝ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрджрд┐ рд╣рдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдкрд░реАрдХреНрд╖рдг, рдлрд┐рд░:

% рд╡рд┐рдкрдХреНрд╖ рдкрд░реАрдХреНрд╖рдг

рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛.

% рд╡рд┐рдкрдХреНрд╖ рдирд┐рд░реНрдпрд╛рдд

рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрддреНрдкрд╛рджрди рд╕рдВрд╕реНрдХрд░рдг рддреИрдпрд╛рд░ рдХрд░реЗрдЧрд╛ (рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ), рдФрд░:

% рд╡рд┐рдкрдХреНрд╖ рдирд┐рд░реНрдорд╛рдг

рд╕рдВрднрд╡рддрдГ рдЗрд╕рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛)ред

рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкрд░реАрдХреНрд╖рдг рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВ
рдпрд╛ рддреЛ рдкрд░реАрдХреНрд╖рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдпрд╛ рдирд┐рд░реНрдорд╛рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛)ред рдЖрдк рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдПрдХрддреНрд░рд┐рдд рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдкрд░реАрдХреНрд╖рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВред рдЗрд╕ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╕реНрд░реЛрдд рдкрджрд╛рдиреБрдХреНрд░рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рд▓рдЧрднрдЧ рдЙрд╕реА рддрд░реАрдХреЗ рд╕реЗ рдЬрд┐рд╕рдореЗрдВ рдкрджрд╛рдиреБрдХреНрд░рдо рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ
рд╕рдВрднрд╡рддрдГ рд╕реНрд░реЛрдд рдкрджрд╛рдиреБрдХреНрд░рдо рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ (рд╢рд╛рдорд┐рд▓ рдкрджрд╛рдиреБрдХреНрд░рдо рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ
рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рджреЛ рд╕реНрддрд░ рд╕реЗ рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛)ред

рдпрджрд┐ рдЖрдк рдкреЗрдбрд╝ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдм рдХреБрдЫ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЖрдкрдХреЗ рдкрд╛рд╕ рдЬреЛ рднреА рд╡рд┐рдХрд▓реНрдк рд╣реЛрдВ, рдЙрд╕рдХреЗ рдЕрдзреАрди)ред
рдЪреБрдиреЗрдВ), рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

% рджреЛрд╖ ред

рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╕рднреА рдкреЗрдбрд╝реЛрдВ рдкрд░ рдЪрд▓ рджреЗрдЧрд╛,
рд╕реНрд░реЛрдд рд╡реГрдХреНрд╖ рд╕рд╣рд┐рддред рдирд┐рд╕реНрд╕рдВрджреЗрд╣, рд╕реНрд░реЛрдд рд╡реГрдХреНрд╖ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдпреЛрдЧреНрдп рд╡рд╕реНрддреБрдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ
рдпрд╣--рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рдирд╣реАрдВ рд░реЛрдХрддрд╛, рднрд▓реЗ рд╣реА рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЕрд▓рдЧ рдмрд┐рд▓реНрдб рдмрдирд╛рддреЗ рд╣реЛрдВ
рдкреЗрдбрд╝.

рдмрдирд╛рдПрдБ рдЫрдВрдЯрд╛рдИ


рд▓рдХреНрд╖реНрдп рдЪрдпрди рдХреЗ рд╕рд╛рде-рд╕рд╛рде, рдирд┐рд░реНрдорд╛рдг рдЫрдВрдЯрд╛рдИ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдирд┐рд░реНрдорд╛рдгред рдкрд┐рдЫрд▓реЗ peAcH рдФрд░ baNaNa рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреИрд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддреА рд╣реИ
рдмрд┐рд▓реНрдб рдкреНрд░реВрдирд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рднреА рджрд┐рдП рдЧрдП рд╕рдВрднрд╛рд╡рд┐рдд рдмрд┐рд▓реНрдб рдХрд╛ рдХреЗрд╡рд▓ рдЖрдзрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
'рд╡рд┐рдкрдХреНрд╖' рдХрд╛ рдЖрд╣реНрд╡рд╛рди. рд╡рд┐рдкрдХреНрд╖ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрдиреНрд╡реЗрдВрд╢рди рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
рдЖрдкрдХреЛ рдХреМрди рд╕рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ``рдирд┐рд░реНрдорд┐рдд'' рд╣реЛрддреА рд╣реИрдВ--рдЕрд░реНрдерд╛рддреН рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реЛрддреА рд╣реИрдВ
рдирд┐рд░реНрдорд╛рдг рд╡реГрдХреНрд╖ рдореЗрдВ. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

% рд╡рд┐рдкрдХреНрд╖ рдирд┐рд░реНрдорд╛рдг +рджреБрдирд┐рдпрд╛

`+' рддрд░реНрдХ рдПрдХ рдкрд░реНрд▓ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред рдирд┐рд╕реНрд╕рдВрджреЗрд╣, рдЗрд╕реЗ рдЙрджреНрдзреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдпрджрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рднреАрддрд░ рдХреЛрдИ рд╢реЗрд▓ рдореЗрдЯрд╛-рдЕрдХреНрд╖рд░ рд╣реИрдВ рддреЛ рд╢реЗрд▓ рд╕реНрддрд░ред
рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд╕рд╛рдордиреЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдЬрд┐рд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ 'рдмрд┐рд▓реНрдб' рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдХрдерди, рдФрд░ рдХреЗрд╡рд▓ рдорд┐рд▓рддреЗ-рдЬреБрд▓рддреЗ рдирд╛рдо рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХреА рдЬрд╛рддреА рд╣реИрдВ
рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ. рдРрд╕реЗ рдЕрдиреЗрдХ рддрд░реНрдХреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдорд┐рд▓рд╛рди рд╣реЛрддрд╛ рд╣реИ
рдХрд┐рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдирдорд╕реНрддреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдкрдХреНрд╖ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдирд╣реАрдВ рд╣реЛрдЧрд╛
рд▓рд┐рдкрд┐ рдХрд╛ рдЬреНрдЮрд╛рди рдирдорд╕реНрддреЗ/рд╕рд┐рдкрд╛рд╣реАред libworld.a рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛
рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП.

рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд┐рд▓реНрдб рдкреНрд░реВрдирд┐рдВрдЧ рдХреЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧ рд╣реИрдВред рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА
рд╕реНрдерд╛рдиреАрдп рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░, рдкрд░реНрдпрд╛рдкреНрдд рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде
рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо, рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рдЯреНрд░реА рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕рдордп. рдмрд┐рд▓реНрдб рдкреНрд░реВрдирд┐рдВрдЧ рдХрд╛ рджреВрд╕рд░рд╛ рдЙрдкрдпреЛрдЧ рдкреБрдирд░реНрд╕рдВрдХрд▓рди рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд░реЛрдХрдирд╛ рд╣реИ
рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХрд╛рд░рдг рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдВрдЧреАред
рдЖрдк рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╛ рддреЛ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕рд╛рд░рд╣реАрди рд╣реИрдВ, рдпрд╛ рдХрд┐
рдкрд░реАрдХреНрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреЗрдбрд╝ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдкрдХреНрд╖ рдХреЗ рд╕рд╛рде,
рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордЭ рдХреЗ рд╕рд╛рде рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИ
рдЕрдЧрд▓реЗ рдкреВрд░реНрдг рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХреЛрдИ рд╕рдордХрдХреНрд╖ рдирд╣реАрдВ рд╣реИ
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЕрджреНрдпрддрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ``рдореЗрдХ рдЯрдЪ'' рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рддреЛ рдЬреЛ рднреА рдЬреЛрдЦрд┐рдо рд╣реИ
рдмрд┐рд▓реНрдб рдкреНрд░реВрдирд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЦрд░реНрдЪ рдХреЛ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЧреБрдгрд╡рддреНрддрд╛рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╣рдо рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ
рдХрд┐ рдЖрдк рдмрд┐рд▓реНрдб рдкреНрд░реВрдирд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рд╣реИ,
рд╕рдВрдХрд▓рди рдЖрджрд┐ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ
рдПрдХрддрд╛)ред

рдЕрд╕реНрдерд╛рдпреА рдУрд╡рд░рд░рд╛рдЗрдб


рд╡рд┐рдкрдХреНрд╖ рдХрд┐рд╕реА рдирд┐рд░реНрдорд╛рдг рдХреЗ рдкрд╣рд▓реБрдУрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕рд╛рд░ рд╣реИ
рдХрд┐ рдЖрдк рдПрдХ рдУрд╡рд░рд░рд╛рдЗрдб рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦреЗрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ `рдУрд╡рд░рд░рд╛рдЗрдб' рдХрдорд╛рдВрдб рд╣реЛрдВ, рдФрд░ рдЖрдк
рдЬрдм рдЖрдк `cons' рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:

% рд╡рд┐рдкрдХреНрд╖ -рдУ рдирд┐рд░реНрдпрд╛рдд рдкрд░

рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛ рдирд┐рд░реНрдпрд╛рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рд╕рднреА рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЗрдВ рдореМрдЬреВрдж рдУрд╡рд░рд░рд╛рдЗрдб рдХреЗ рдЕрдзреАрди рд╣реИрдВ
рдореЗрдВ рдХреЗ рдКрдкрд░ рдлрд╝рд╛рдЗрд▓ред рдпрджрд┐ рдЖрдк `-o' рд╡рд┐рдХрд▓реНрдк рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬрд╝реЗрдВ рд╣рдЯрд╛ рджреЗрдВ
рд╕рднреА рдУрд╡рд░рд░рд╛рдЗрдб рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛.

рдЕрдзрд┐рднрд╛рд╡реА рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░

рдУрд╡рд░рд░рд╛рдЗрдб рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдУрд╡рд░рд░рд╛рдЗрдб рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ. рдкрд╣рд▓рд╛ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ
рдЪрд░ред рдпреЗ рдЖрдо рддреМрд░ рдкрд░ рдЗрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реЛрддреЗ рд╣реИрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ `%ENV' рд╣реИрд╢ рд╕реЗ рдлрд╝рд╛рдЗрд▓
рдЪрд░ред рдЗрдиреНрд╣реЗрдВ рд╕реЗрдЯ рдХрд░рдХреЗ рдУрд╡рд░рд░рд╛рдЗрдб рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреБрдЪреНрдЫ рд░реВрдк рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
`%ENV' рдХреЗ рдЙрдкрдпреБрдХреНрдд рддрддреНрд╡ (рдЗрдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ,
рдмреЗрд╢рдХ)ред

RSI рдЕрдзрд┐рд░реЛрд╣рдг рдЖрджреЗрд╢

рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдУрд╡рд░рд░рд╛рдЗрдб 'рдУрд╡рд░рд░рд╛рдЗрдб' рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рджрд┐рдЦрддрд╛ рд╣реИ
рдЗрд╕:

рдЕрд╡рд╣реЗрд▓рдирд╛ , => , => , ...;

рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ regexp рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдорд┐рд▓рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП. рдпрджрд┐ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рддреЛ рдЪрд░/рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдорд╛рдиреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВред

рдЖрдЗрдП рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ:

$CONS = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖(
рд╕реАрдУрдкреАрдЯреА => '',
рд╕реАрдбреАрдмреАрдЬреА => '-рдЬреА',
CFLAGS => '%COPT %CDBG',
);

рдлрд┐рд░ рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдУрд╡рд░рд░рд╛рдЗрдб рдлрд╝рд╛рдЗрд▓ рд╣реИ рдХреЗ рдКрдкрд░ рдЗрд╕ рдЖрджреЗрд╢ рд╕реЗ рдпреБрдХреНрдд:

рдУрд╡рд░рд░рд╛рдЗрдб '\.o$', COPT => '-O', CDBG => '';

рдлрд┐рд░ `-o рдУрд╡рд░' рдХреЗ рд╕рд╛рде рдХреЛрдИ `рд╡рд┐рдкрдХреНрд╖' рдЖрд╣реНрд╡рд╛рди рдЬреЛ рдмрдирд╛рддрд╛ рд╣реИ .o рдЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛрдВрдЧреА
рдЙрдиреНрд╣реЗрдВ `-O' рдФрд░ рдирд╣реАрдВ `-g' рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред рдмреЗрд╢рдХ, рдУрд╡рд░рд░рд╛рдЗрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХреЗ рдЙрдЪрд┐рдд рдЪрдпрди рджреНрд╡рд╛рд░рд╛ рдПрдХрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддрдХ рд╕реАрдорд┐рддред

рдпрд╣рд╛рдВ рд╣реИрд▓реЛ, рд╡рд░реНрд▓реНрдб рдХрд╛ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ! рдХрд╛рд░реНрдпрдХреНрд░рдо, рдЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрдм рдУрд╡рд░рд░рд╛рдЗрдб рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╡рд┐рдкрдХреНрд╖ рдЙрдЪрд┐рдд рдЯреБрдХрдбрд╝реЛрдВ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ:

% рд╡рд┐рдкрдХреНрд╖ рдирдорд╕реНрддреЗ
рд╕реАрд╕реА -рдЬреА -рд╕реА рд╣реИрд▓реЛ.рд╕реА -рдУ рд╣реИрд▓реЛ.рдУ
рд╕реАрд╕реА -рдУ рд╣реЗрд▓реЛ рд╣реЗрд▓реЛ.рдУ
% рд╡рд┐рдкрдХреНрд╖ -рдУ рдирдорд╕реНрддреЗ рдкрд░
рд╕реАрд╕реА -рдУ -рд╕реА рд╣реИрд▓реЛ.рд╕реА -рдУ рд╣реИрд▓реЛ.рдУ
рд╕реАрд╕реА -рдУ рд╣реЗрд▓реЛ рд╣реЗрд▓реЛ.рдУ
% рд╡рд┐рдкрдХреНрд╖ -рдУ рдирдорд╕реНрддреЗ рдкрд░
рд╡рд┐рдкрдХреНрд╖: "рд╣реИрд▓реЛ" рдЕрджреНрдпрддрд┐рдд рд╣реИред
% рд╡рд┐рдкрдХреНрд╖ рдирдорд╕реНрддреЗ
рд╕реАрд╕реА -рдЬреА -рд╕реА рд╣реИрд▓реЛ.рд╕реА -рдУ рд╣реИрд▓реЛ.рдУ
рд╕реАрд╕реА -рдУ рд╣реЗрд▓реЛ рд╣реЗрд▓реЛ.рдУ

рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ `рдУрд╡рд░рд░рд╛рдЗрдб' рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЕрд╕реНрдерд╛рдпреА, рдСрди-рдж-рдлреНрд▓рд╛рдИ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдП
рдУрд╡рд░рд░рд╛рдЗрдбреНрд╕ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдУрд╡рд░рд░рд╛рдЗрдбреНрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реНрд╡рддрдВрддреНрд░ рдирд╣реАрдВ рд╣реИрдВ рдФрд░
рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЧрд╣рди рдЬреНрдЮрд╛рди рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рдХреЗ рд▓рд┐рдП
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрд╕реНрдерд╛рдпреА рдЙрдкрдпреЛрдЧ, рд╡реЗ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╣реИрдВ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛, рдХрд╣рдирд╛, рдЕрднреА рднреА рдЙрдкрдпреЛрдЧреА рд╣реИ
рдЙрддреНрдкрд╛рджрди рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг--рд╕реЗ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдФрд░ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ. рдЗрд╕ рддрд░рд╣
рдЖрдк рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдЕрдиреБрд░реВрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд╣рд╛рдВ рдЕрдиреБрдХреВрд▓рдХ рдЯреНрд░реЗрдб-рдСрдл рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рддрдм рдмрдирд╛рдпрд╛ рдЧрдпрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреВрд░реНрдг рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рдЗрдиреНрд╣реЗрдВ рднрд╛рд╡реА рдкреАрдврд╝реА (рдФрд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдпрддрд╛) рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдзрд┐рдХ on рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг


рдЪреВрдХ рдирд┐рд░реНрдорд╛рдг рдЪрд░

рд╣рдордиреЗ 'рдП' рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг, рдХрдИ рдмрд╛рд░ рдореЗрдВ
рдкреВрд░реНрд╡рд╡рд░реНрддреА рдкреГрд╖реНрда. рдЕрдм рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рдареЛрд╕ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде
рдмрдпрд╛рди:

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖();

рдПрдХ рдирдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдорд╛рдг рдкрд░рд┐рд╡реЗрд╢ рдХрд╛ рд╕рдВрджрд░реНрдн рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рдирдВрдмрд░ рд╣реЛрддрд╛ рд╣реИ
рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдФрд░ рдХреБрдЫ рд╡рд┐рдзрд┐рдпрд╛рдБред рд╡рд░реНрддрдорд╛рди рд▓реЗрдЦрди рдореЗрдВ, рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реВрдЪреА
рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд╕реАрд╕реА => 'рд╕реАрд╕реА',
CFLAGS => '',
CCCOM => '%CC %CFLAGS %_IFLAGS -c %< -o %>',
INCDIRPREFIX => '-I',
CXX => '%CC',
CXXFLAGS => '%CFLAGS',
CXXCOM => '%CXX %CXXFLAGS %_IFLAGS -c %< -o %>',
рд▓рд┐рдВрдХ => '%CXX',
LINKCOM => '%LINK %LDFLAGS -o %> %< %_LDIRS %LIBS',
LINKMODULECOM => '%LD -r -o %> %<',
LIBDIRPREFIX => '-L',
рдПрдЖрд░ => 'рдПрдЖрд░',
ARFLAGS => 'рдЖрд░',
ARCOM => "%AR %ARFLAGS %> %<\n%RANLIB %>",
рд░реИрдирд▓рд┐рдм => 'рд░реИрдирд▓рд┐рдм',
AS => 'рдЬреИрд╕рд╛',
ASFLAGS => '',
ASCOM => '%AS %ASFLAGS %< -o %>',
рдПрд▓рдбреА => 'рдПрд▓рдбреА',
рдПрд▓рдбреАрдПрдлрдПрд▓рдЬреАрдПрд╕ => '',
рдкреНрд░реАрдлреНрд▓рд┐рдм => 'рд▓рд┐рдм',
SUFLIB => '.a',
SUFLIBS => '.so:.a',
SUFOBJ => '.o',
ENV => { 'рдкрде' => '/ bin:/ Usr / bin' },

Win32 рд╕рд┐рд╕реНрдЯрдо (Windows NT) рдкрд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЪреВрдХ:

рд╕реАрд╕реА => 'рд╕реАрдПрд▓',
CFLAGS => '/рдиреЛрд▓реЛрдЧреЛ',
CCCOM => '%CC %CFLAGS %_IFLAGS /c %< /Fo%>',
CXXCOM => '%CXX %CXXFLAGS %_IFLAGS /c %< /Fo%>',
INCDIRPREFIX => '/I',
рд▓рд┐рдВрдХ => 'рд▓рд┐рдВрдХ',
LINKCOM => '%LINK %LDFLAGS /out:%> %< %_LDIRS %LIBS',
LINKMODULECOM => '%LD /r /o %> %<',
LIBDIRPREFIX => '/LIBPATH:',
рдПрдЖрд░ => 'lib',
ARFLAGS => '/nologo',
ARCOM => "%AR %ARFLAGS /рдЖрдЙрдЯ:%> %<",
рд░реИрдирд▓рд┐рдм => '',
рдПрд▓рдбреА => 'рд▓рд┐рдВрдХ',
LDFLAGS => '/рдиреЛрд▓реЛрдЧреЛ',
рдкреНрд░реАрдлреНрд▓рд┐рдм => '',
SUFEXE => '.exe',
SUFLIB => '.lib',
SUFLIBS => '.dll:.lib',
SUFOBJ => '.obj',

рдЗрди рдЪрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗ рдЬреБрдбрд╝реА рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдзрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЛрдИ рднреА рд╡рд┐рдзрд┐ рдЬреЛ рдЕрдВрддрддрдГ рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рдХрдорд╛рдВрдб рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреА рд╣реИ, рдЗрдиреНрд╣реЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рджреЗрдЧреА
рдЕрдВрддрд┐рдо рдХрдорд╛рдВрдб рдореЗрдВ рд╡реИрд░рд┐рдПрдмрд▓, рдЬреИрд╕рд╛ рдЙрдкрдпреБрдХреНрдд рд╣реЛред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 'рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕' рд╡рд┐рдзрд┐ рд▓реЗрддреА рд╣реИ
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддрд╛ рд╣реИ
рдлрд╝рд╛рдЗрд▓реЗрдВ. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

рдСрдмреНрдЬреЗрдХреНрдЯ $env 'foo.c', 'bar.c';

рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдпрд╣ рдЙрддреНрдкрд╛рджрди рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░реЗрдЧрд╛, рдлреВ.рдУ рдФрд░ рдмрд╛рд░.рдУ. рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЖрджреЗрд╢ рд╕рд░рд▓ рд╣реИ
`%CCCOM', рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдмрд╛рд╣рд░реА рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ
рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП. рд╣рдо 'рдХрдорд╛рдВрдб' рдХреЗ рддрд╣рдд рдЖрдЧреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ
рд╡рд┐рдзрд┐, рдиреАрдЪреЗ.

рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, `CPPPATH' рд╣реИ
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд▓рди рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдкрде рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпреЗ рд╣реЛрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ
рд╕реА рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рд╕реА-рдлрд╝рд╛рдЗрд▓ рд╕реНрдХреИрдирд┐рдВрдЧ рдорд╢реАрдирд░реА рджреНрд╡рд╛рд░рд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
C рд╕рдВрдХрд▓рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВред рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╡реЗрд░рд┐рдПрдмрд▓
рдЕрдВрдбрд░рд╕реНрдХреЛрд░, рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрдиреНрд╣реЗрдВ рдЖрдо рддреМрд░ рдкрд░ ``рдЖрдВрддрд░рд┐рдХ'' рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдЪрд░ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдХ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдорд╛рдВрдЧ рдХрд░рддреА рд╣реИ
C рд╕реНрд░реЛрдд рд╕реЗ, рд╡реЗрд░рд┐рдПрдмрд▓ `_IFLAGS' рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдпрд╣ `-I' рд╕реНрд╡рд┐рдЪ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ
C рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ `CPPPATH' рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐, рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЪрд░ рдХрд╛ рдорд╛рди рдПрдХ рдмрд╛рд░ рдФрд░ рдлрд┐рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдХрднреА рднреА рд░реАрд╕реЗрдЯ рди рдХрд░реЗрдВ (рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╣реИрдВ
рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП)ред рдХреБрдЫ рдЖрдВрддрд░рд┐рдХ рдЪрд░, рдЬреИрд╕реЗ
`_IFLAGS' рдорд╛рдВрдЧ рдкрд░ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рд╕реЗрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╡реЗ рдЬреАрд╡рди рднрд░ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рд░рд╣рддреЗ рд╣реИрдВ
рдкрд░реНрдпрд╛рд╡рд░рдг.

`CFLAGS', `LDFLAGS', рдФрд░ `ARFLAGS' рд╡реЗрд░рд┐рдПрдмрд▓ рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ
рдХреНрд░рдорд╢рдГ рдХрдВрдкрд╛рдЗрд▓рд░, рд▓реЛрдбрд░ рдФрд░ рдЖрд░реНрдХрд╛рдЗрд╡рд░ред рдХрдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, 'INCDIRPREFIX'
рд╡реЗрд░рд┐рдПрдмрд▓ рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдорд┐рд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдХрд▓реНрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддрд╛рдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдкрддрд╛ рдЪрд▓реЗ рдХрд┐ рдХрд╣рд╛рдВ рдвреВрдВрдврдирд╛ рд╣реИ .h рдлрд╝рд╛рдЗрд▓реЗрдВ. рдЗрд╕реА рдкреНрд░рдХрд╛рд░,
`LIBDIRPREFIX' рд╡реИрд░рд┐рдПрдмрд▓ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдХрд▓реНрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ
рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬрд┐рд╕рдореЗрдВ рд▓рд┐рдВрдХрд░ рдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рдПрдХ рдЕрдиреНрдп рд╡реЗрд░рд┐рдПрдмрд▓, 'рдИрдПрдирд╡реА' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рдЖрджреЗрд╢ рдХрд╛. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХрдорд╛рддреНрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ `PATH' рд╣реИ,
рдЬреЛ UNIX рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдкрде рд╣реИред рдЕрдзрд┐рдХрддрдо рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░, рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдкрде рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░реЗрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ (рдпрд╛
рд╢рд╛рдпрдж рдкрд░реНрд▓ `рдпреВрдЬрд╝' рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдкрдпреБрдХреНрдд рдирд┐рд░реНрдорд╛рдг рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рдХреЗ)ред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЖрдкрдХреЛ рдЬрдореАрди рд╕реЗ рдЙрддрд╛рд░рдирд╛ рд╣реИред

рдкреНрд░рдХреНрд╖реЗрдк рдХрд░рдирд╛ рдирд┐рд░реНрдорд╛рдг рдЪрд░

рдирд┐рд░реНрдорд╛рдг рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╕реНрд░реЛрдд рдФрд░ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдореЗрдВ рдкреНрд░рдХреНрд╖реЗрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдирд╛рдо рдХреЛ `%' рд╕реЗ рдкрд╣рд▓реЗ рдЬреЛрдбрд╝рдХрд░ред

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖(
DESTDIR => 'рдкреНрд░реЛрдЧреНрд░рд╛рдо',
рдПрд╕рдЖрд░рд╕реАрдбреАрдЖрдИрдЖрд░ => 'src',
);
рдкреНрд░реЛрдЧреНрд░рд╛рдо $env '%DESTDIR/hello', '%SRCDIR/hello.c';

рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╣реИ - рдЕрд░реНрдерд╛рдд, рдлрд╝рд╛рдЗрд▓ рдирд╛рдо(рдУрдВ) рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛-
рддрдм рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬрдм рддрдХ рдХреЛрдИ рдФрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрджрд┐ рдХреЛрдИ рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдирд╣реАрдВ рд╣реИ
рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╢реВрдиреНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЪреВрдХ рдирд┐рд░реНрдорд╛рдг рддрд░реАрдХреЛрдВ


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

RSI 'рдирдпрд╛' рдирд┐рд░реНрдорд╛рддрд╛

'рдирдИ' рд╡рд┐рдзрд┐ рдПрдХ рдкрд░реНрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЗрд╕реЗ рдХрд┐рд╕реА рд╕рдВрджрд░реНрдн рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдореМрдЬреВрджрд╛ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн, рдмрд▓реНрдХрд┐, рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ, рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдкрд░реНрд▓ рдХрд╛ рдкреИрдХреЗрдЬ рдЬрд╣рд╛рдВ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рдзрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИ:

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖( );

рдЬреЛ рд╡рд╛рддрд╛рд╡рд░рдг рдЖрдкрдХреЛ рд╡рд╛рдкрд╕ рдорд┐рд▓рддрд╛ рд╣реИ рд╡рд╣ рдкреИрдХреЗрдЬ 'рд╡рд┐рдкрдХреНрд╖' рдореЗрдВ рдзрдиреНрдп рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рд╣реЛрдЧрд╛
рдЗрд╕рдХреЗ рд╕рд╛рде рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╕рдВрдмрджреНрдз рдХреА рдЧрдИ рд╣реИрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рдирд┐рд░реНрдорд╛рдг
рдУрд╡рд░рд░рд╛рдЗрдб рд╕реВрдЪреА рдореЗрдВ рдирд╛рдо/рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐
рдХрд┐рд╕реА рднреА рдХрдорд╛рдВрдб рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ (рдпрд╛рдиреА 'рдИрдПрдирд╡реА' рдХреЗ рддрд╣рдд рдХреБрдЫ рднреА) рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдЙрди рд╕рднреА рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ. рдЖрдк 'рдХреЙрдкреА' рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдХрдард┐рдирд╛рдИ рд╕реЗ рдирд┐рдЬрд╛рдд рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдореМрдЬреВрджрд╛ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг.

RSI 'рдХреНрд▓реЛрди' рддрд░реАрдХрд╛

'рдХреНрд▓реЛрди' рд╡рд┐рдзрд┐ рдореМрдЬреВрджрд╛ рдирд┐рд░реНрдорд╛рдг рдкрд░рд┐рд╡реЗрд╢ рдХрд╛ рдХреНрд▓реЛрди рдмрдирд╛рддреА рд╣реИ, рдФрд░ рд╣реЛ рднреА рд╕рдХрддреА рд╣реИ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ:

$env2 = $env1->рдХреНрд▓реЛрди( );

рдЖрдк рдЗрд╕рд╕реЗ рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдореВрд▓ред рдпрджрд┐ рдЖрдк рдЙрд╕реА рдкрд░рд┐рд╡реЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдирд╛рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЬреЛ рддрдм рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдореМрдЬреВрджрд╛ рдШрдЯрдХреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡реЗрд╢ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛), рдЖрдк рдмрд╕ рд╕рд░рд▓ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

RSI 'рдХреЙрдкреА' рддрд░реАрдХрд╛

`рдХреЙрдкреА' рд╡рд┐рдзрд┐ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХреЛ рдирд┐рдХрд╛рд▓рддреА рд╣реИ
рдкрд░реНрдпрд╛рд╡рд░рдг рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд╛рдо/рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХреА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдУрд╡рд░рд░рд╛рдЗрдб рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
рдмрд╢рд░реНрддреЗ, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЙрдЪрд┐рдд рд╣реЛ, рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдП рдЧрдП рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рд▓реМрдЯрд╛рдИ рдЧрдИ рд╕реВрдЪреА рдХреЛ рд╣реИрд╢ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рд╣реЗрд░рдлреЗрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП:

%env = $env1->рдХреЙрдкреА( );

'рдИрдПрдирд╡реА' рдХрд╛ рдорд╛рди, рдЬреЛ рд╕реНрд╡рдпрдВ рдПрдХ рд╣реИрд╢ рд╣реИ, рдХреЛ рднреА рдПрдХ рдирдП рд╣реИрд╢ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдореВрд▓ рдкрд░рд┐рд╡реЗрд╢ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рдбрд░ рдХреЗ рдмрд┐рдирд╛ рдмрджрд▓рд╛ рдЧрдпрд╛ред рддреЛ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ
рдпрджрд┐ рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХреЗрд╡рд▓ `PATH' рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

%cons = new cons()->copy();
$cons{ENV}{PATH} = " ";
$рд╡рд┐рдкрдХреНрд╖ = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖(%рд╡рд┐рдкрдХреНрд╖);

рдЗрд╕рд╕реЗ рд╡рд╣ рд╕рдм рдХреБрдЫ рдЫреВрдЯ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд╖реНрдкрд╛рджрди рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдЕрдмрд╛рдзрд┐рддред

RSI `рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ' рддрд░реАрдХрд╛

'рдЗрдВрд╕реНрдЯреЙрд▓' рд╡рд┐рдзрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддреА рд╣реИ
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдЙрд╕реЗ рдХреЙрдкреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдЧрд░
рдпрд╣ рд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
рдлрд╝рд╛рдЗрд▓ред рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:

$env рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ , ;

рдзреНрдпрд╛рди рджреЗрдВ, рдЬрдмрдХрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдирд╛рдо рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо
рдкреНрд░рддреНрдпреЗрдХ рдирд╛рдо рдХрд╛ рдШрдЯрдХ рд╕реНрдерд╛рдкрд┐рдд рд▓рдХреНрд╖реНрдп рдирд╛рдо рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░реЗрдВ рдлреВ/рдмрд╛рд░ in рдЖрдзрд╛рд░, рдпрд╣ рдПрдХ рдмрдирд╛рдПрдЧрд╛ рдмрд╛рд░ рдореЗрдВ рджрд╛рдпрд░ рдЖрдзрд╛рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдирд╣реАрдВ
рдлреВ/рдмрд╛рд░).

RSI 'рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ' рддрд░реАрдХрд╛

'InstallAs' рд╡рд┐рдзрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрд░реЛрдд рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддреА рд╣реИ рдкрдЯреНрдЯрд┐рдХрд╛(рдУрдВ) рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рдХреНрд╖реНрдп рдкрдЯреНрдЯрд┐рдХрд╛(рдПрд╕)ред рдПрдХрд╛рдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд╝рд╛рдЗрд▓ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ: рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдЙрд╕реЗ рдХреЙрдкреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ
рд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХрд╛рд░рдг, рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ рд╣реИ
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛:

'рдЗрдВрд╕реНрдЯреЙрд▓рдПрдЬрд╝' рджреЛ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдкрдирд╛:

$env TgtFile, SrcFile рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ;

рдПрдХрд╛рдзрд┐рдХ рдлрд╝рд╛рдЗрд▓ рдЗрдВрд╕реНрдЯреЙрд▓:

InstallAs $env ['tgt1', 'tgt2'], ['src1', 'src2'];

рдпрд╛, рдпрд╣рд╛рдБ рддрдХ рдХрд┐:

@srcs = qw(src1 src2 src3);
@tgts = qw(tgt1 tgt2 tgt3);
InstallAs $env [@tgts], [@srcs];

рд▓рдХреНрд╖реНрдп рдФрд░ рд╕реНрд░реЛрдд рд╕реВрдЪрд┐рдпрд╛рдБ рджреЛрдиреЛрдВ рд╕рдорд╛рди рд▓рдВрдмрд╛рдИ рдХреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

RSI 'рдХреАрдорддреА' рддрд░реАрдХрд╛

'рдкреНрд░реЗрд╢рд┐рдпрд╕' рд╡рд┐рдзрд┐ рд╡рд┐рдкрдХреНрд╖ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдкрд╣рд▓реЗ рди рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреА рд╣реИ
рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛. рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреБрдХрд╛рд░рд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдХреАрдорддреА ;

рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдпрд╛ рдбреАрдмрдЧ рдореЗрдВ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЕрджреНрдпрддрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИ
рд╕реВрдЪрдирд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рд░ рдмрд╛рд░ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдкрдХреНрд╖ рдЕрднреА рднреА рд╣реЛрдЧрд╛
`-r' рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдкрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣рдЯрд╛ рджреЗрдВред

RSI 'рдХрдорд╛рдВрдб' рддрд░реАрдХрд╛

'рдХрдорд╛рдВрдб' рд╡рд┐рдзрд┐ рдПрдХ рдХреИрдЪреЙрд▓ рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рднреА рдмрд╛рд╣рд░реА рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рд▓рдХреНрд╖реНрдп рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП, рдПрдХ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рдФрд░ рд╕реВрдЪреА
рдЗрдирдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдирд┐рд░реНрдорд╛рдг рдХрдорд╛рдВрдб рд▓рд╛рдЗрди, рдпрд╛ рд▓рд╛рдЗрдиреЗрдВ, рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИрдВ
рд╕реНрдЯреНрд░рд┐рдВрдЧ (рдЗрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдирдП рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдХрдИ рдХрдорд╛рдВрдб рдПрдореНрдмреЗрдбреЗрдб рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
рдкрдВрдХреНрддрд┐рдпрд╛рдБ)ред 'рдХрдорд╛рдВрдб' рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдХрдорд╛рдВрдб $env , , ;

рд▓рдХреНрд╖реНрдп рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдкрд░ рдирд┐рд░реНрднрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрдирдкреБрдЯ рдЕрд╡рд╢реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЕрдиреНрдпрдерд╛ рд╡рд┐рдкрдХреНрд╖ рд▓рдХреНрд╖реНрдп рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдирд┐рд░реНрдорд╛рдг рдХрдорд╛рдВрдб рдХреЗ рднреАрддрд░, рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдХреЛрдИ рднреА рдЪрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХреЗ рдирд╛рдо рдХреЗ рдкрд╣рд▓реЗ `%' рд▓рдЧрд╛рдХрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╣реИ:
рдХрдорд╛рдВрдб рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рддрдм рддрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХреЛрдИ рдФрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрджрд┐ рдХреЛрдИ рдирд┐рд░реНрдорд╛рдг
рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╢реВрдиреНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдП
рдирд┐рд░реНрдорд╛рдг рдЖрджреЗрд╢ рдореЗрдВ рджреЛрдЧреБрдиреЗ `%%' рдХреЛ рдПрдХрд▓ `%' рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдРрд╕реЗ рдХрдИ рдЫрджреНрдо рдЪрд░ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рднреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

%> рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рдирд╛рдо (рдмрд╣реБ-рд▓рдХреНрд╖реНрдп рдХрдорд╛рдВрдб рдореЗрдВ, рдпрд╣ рд╣рдореЗрд╢рд╛ рдкрд╣рд▓рд╛ рд▓рдХреНрд╖реНрдп рд╣реЛрддрд╛ рд╣реИ
рдЙрд▓реНрд▓рд┐рдЦрд┐рдд)ред

%0 `%>' рдХреЗ рд╕рдорд╛рдиред

%1, %2, ..., %9
рдпреЗ рдХреНрд░рдорд╢рдГ рдкрд╣рд▓реА рд╕реЗ рдиреМрд╡реАрдВ рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

%< рдЗрдирдкреБрдЯ рдХрд╛ рдкреВрд░рд╛ рд╕реЗрдЯред рдпрджрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣реАрдВ рдФрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рд╡рд░реНрддрдорд╛рди рдХрдорд╛рдВрдб рд▓рд╛рдЗрди (`%1', `%2', рдЖрджрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ), рддреЛ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рд╕реВрдЪреА `%<' рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИред a рдореЗрдВ рдкрд╛рдП рдЧрдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдкрдЯреНрдЯрд┐рдХрд╛
рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛:

рдХрдорд╛рдВрдб $env 'tgt', qw(foo bar baz), qq(
рдЗрдХреЛ %< -i %1 > %>
рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ %< -i %2 >> %>
рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ %< -i %3 >> %>
);

If TGT рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдирд┐рд╖реНрдкрд╛рджрди рд╣реЛрдЧрд╛
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд░реАрдореИрдкрд┐рдВрдЧ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ рдкрд░реАрдХреНрд╖рдг
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛:

рдЗрдХреЛ рдЯреЗрд╕реНрдЯ/рдмрд╛рд░ рдЯреЗрд╕реНрдЯ/рдмрд╛рдЬ -рдЖрдИ рдЯреЗрд╕реНрдЯ/рдлреВ > рдЯреЗрд╕реНрдЯ/рдЯреАрдЬреАрдЯреА
рдЗрдХреЛ рдЯреЗрд╕реНрдЯ/рдлреВ рдЯреЗрд╕реНрдЯ/рдмрд╛рдЬ-рдЖрдИ рдЯреЗрд╕реНрдЯ/рдмрд╛рд░ >> рдЯреЗрд╕реНрдЯ/рдЯреАрдЬреАрдЯреА
рдЗрдХреЛ рдЯреЗрд╕реНрдЯ/рдлреВ рдЯреЗрд╕реНрдЯ/рдмрд╛рд░-рдЖрдИ рдЯреЗрд╕реНрдЯ/рдмрд╛рдЬ >> рдЯреЗрд╕реНрдЯ/рдЯреАрдЬреАрдЯреА

рдЙрдкрд░реЛрдХреНрдд рдХрд┐рд╕реА рднреА рдЫрджреНрдо рдЪрд░ рдХрд╛ рддреБрд░рдВрдд рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдкрде рдирд╛рдо рдХреЗ рдПрдХ рднрд╛рдЧ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпрдп:

:a рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХрд╛ рдкреВрд░реНрдг рдкрде
:b рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕реЗ рдХреЛрдИ рднреА рдкреНрд░рддреНрдпрдп рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
:d рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
:f рдлрд╝рд╛рдЗрд▓ рдирд╛рдо
:s рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдкреНрд░рддреНрдпрдп
:F рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕реЗ рдХреЛрдИ рднреА рдкреНрд░рддреНрдпрдп рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реБрдП, `%<:f' рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ `foo bar baz' рддрдХ рд╣реЛрдЧрд╛, рдФрд░ `%':d> рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛрдЧрд╛
'рдкрд░реАрдХреНрд╖рдг' рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░реЗрдВред

рдХрдорд╛рдВрдб рдХреЗ рднрд╛рдЧ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ
`%[' рдФрд░ `%]' рдХреЗ рдмреАрдЪред рдпрд╣ рдкрд╣рд▓реЗ рд╢рдмреНрдж рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдорд┐рдд рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛
рдкрд░реНрд▓ рдХреЛрдб рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрд╖реНрдардХ рдореЗрдВ рд╕рдВрд▓рдЧреНрди; рдЗрд╕ рдХреЙрд▓ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдХреЛрд╖реНрдардХ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рджрд┐рдпрд╛ рдЧрдпрд╛
рдореМрдЬреВрджрд╛ рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо tgt.in:

@рдХреАрд╡рд░реНрдбреНрд╕ = qw(рдлреВ рдмрд╛рд░ рдмрд╛рдЬрд╝);
$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖(X_COMMA => рдЙрдк { рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ(",", @_) });
рдХрдорд╛рдВрдб $env 'tgt', 'tgt.in', qq(
рдЗрдХреЛ '# рдХреАрд╡рд░реНрдбреНрд╕: %[X_COMMA @keywords %]' > %>
рдмрд┐рд▓реНрд▓реА %< >> %>
);

рдпрд╣ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛:

рдЗрдХреЛ '# рдХреАрд╡рд░реНрдб: foo,bar,baz' > tgt
cat tgt.in >> tgt

рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдлреЗрдж рд╕реНрдерд╛рди рдХреЗ рддрд╛рд░ рдПрдХрд▓ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░
рдЕрдЧреНрд░рдгреА рдФрд░ рдЕрдиреБрдЧрд╛рдореА рд╕рдлреЗрдж рд╕реНрдерд╛рди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдЪрдп рджреЗрдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ
рдХреБрдЫ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдмрд┐рдирд╛, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдореЗрдВ рд╡реИрд░рд┐рдПрдмрд▓ рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реА рд╕рдлреЗрдж рдЬрдЧрд╣ рдХреЛ рдПрдХ рдХрдорд╛рдВрдб рдореЗрдВ рдкрд╛рд╕ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛
рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╢реЗрд▓ рдЙрджреНрдзрд░рдгред

рдпрджрд┐ рдПрдХ рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдХрдорд╛рдВрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдХрдорд╛рдВрдб рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ
рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЖрджреЗрд╢ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдмрд╛рдХреА рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд▓рдХреНрд╖реНрдп рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЕрд░реНрдерд╛рдд рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирдпрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЖрдо рддреМрд░ рдкрд░, рдпрджрд┐ рд╕рднреА рдЖрджреЗрд╢ рд╕рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╢реВрдиреНрдп рд╕реНрдерд┐рддрд┐ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ (рдпрд╛ рдЬреЛ рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-
рд╕рдлрд▓рддрд╛ рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдХреЗрдд рдЖрд╡рд╢реНрдпрдХ рд╣реИ), рдлрд┐рд░ рдПрдХ рдирдпрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд▓рдХреНрд╖реНрдпред рдпрджрд┐ рдХреЛрдИ рдХрдорд╛рдВрдб рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рдж рднреА рдЧрд▓рддреА рд╕реЗ рд╕рдлрд▓рддрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рдкрдХреНрд╖ рдХрд░реЗрдЧрд╛
рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЙрд╕ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рд╕рдЯреАрдХ рдФрд░ рдЕрджреНрдпрддрд┐рдд рд╣реИред

рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдмрд╛рдж, рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдкрд╣рд▓рд╛ рд╢рдмреНрдж рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ
рдХрдорд╛рдВрдб рдиреЗ `PATH' рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ (рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдХреЛ рджреЗрдЦрд╛
'рдИрдПрдирд╡реА' рдирд┐рд░реНрдорд╛рдг рдЪрд░)ред рдпрджрд┐ рдпрд╣ рдЖрджреЗрд╢ рдкрде рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд▓рдХреНрд╖реНрдп рд╣реЛрдЧрд╛
рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣реЗрдВ: рдЗрд╕рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдХрдорд╛рдВрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреАред рдЗрд╕рдХрд╛
рд╕реЗрдореА-рдХреЛрд▓рди рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдХреБрдЫ рд╢реЗрд▓реНрд╕ рдореЗрдВ рдорд▓реНрдЯреА-рдкрд╛рд░реНрдЯ рдХрдорд╛рдВрдб рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИред рдХреЗрд╡рд▓
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкрд╣рд▓реЗ рдХрдорд╛рдВрдб рд╢рдмреНрдж рдкрд░ рдирд┐рд░реНрднрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдХрдорд╛рдВрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
рдЗрд╕ рддрд░рд╣, рдЖрдкрдХреЛ рдпрд╛ рддреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреА рд╣реЛрдЧреА ('рдирд┐рд░реНрднрд░' рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде), рдпрд╛
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЬрд┐рд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ
рдЙрдкрд▓рдмреНрдзред рдпрджрд┐ рдпрд╣ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдЖрдкрдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреАред

рдпрджрд┐ рдХреЛрдИ рдХрдорд╛рдВрдб (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдХрдорд╛рдВрдб рдореЗрдВ рд╕реЗ рдПрдХ рднреА) `[perl]' рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╢реЗрд╖рдлрд▓
рдЙрд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдлреЛрд░реНрдХ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд░рдирд┐рдВрдЧ рдкрд░реНрд▓ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рд╢рдВрдЦред рдпрджрд┐ рдкрд░реНрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ рдпрд╛ рдпрджрд┐ рдкрд░реНрд▓ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 0 рдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ
рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд, рдЖрджреЗрд╢ рдХреЛ рд╡рд┐рдлрд▓ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдПрдХ рд╕рд░рд▓ рд╣реИ
рдХрдорд╛рдВрдб рдЬреЛ рдкрд░реНрд▓ рд╕реЗ рд╕реАрдзреЗ `foo' рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ:

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖();
рдХрдорд╛рдВрдб $env 'foo',
qq([perl] open(FOO,'>foo');рдкреНрд░рд┐рдВрдЯ FOO "hi\\n"; рдмрдВрдж рдХрд░реЗрдВ(FOO); 1);

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрдм рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрд╕реА рдкреИрдХреЗрдЬ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ
or рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдкрдврд╝реА рдЧрдИ рдереА, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрд╕рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрд░реНрд▓ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ or рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓ рдЬрд┐рд╕рдореЗрдВ `рдХрдорд╛рдВрдб' рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖();
рдЙрдк create_file {
рдореЗрд░реА $рдлрд╝рд╛рдЗрд▓ = рд╢рд┐рдлреНрдЯ;
рдЦреБрд▓рд╛(рдлрд╝рд╛рдЗрд▓, ">$рдлрд╝рд╛рдЗрд▓");
рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ "рд╣рд╛рдп\n";
рдмрдВрдж рдХрд░реЗрдВ (рдлрд╝рд╛рдЗрд▓);
1 рд╡рд╛рдкрд╕реА;
}
рдХрдорд╛рдВрдб $env 'foo', "[perl] &create_file('%>')";

рдкрд░реНрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрджрд▓реЗрдВ, рдлрд╝рд╛рдЗрд▓ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреАред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рд╕рдмрд░реВрдЯреАрди рдХреА рд╕рд╛рдордЧреНрд░реА,
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдХреЙрд▓ рдХрд┐рдП рдЧрдП рд╕рдмрд░реВрдЯреАрди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ
рдКрдкрд░ `create_file', рд▓рдХреНрд╖реНрдп рд╣реЛрдЧрд╛ рдирд╣реАрдВ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдП. рдЪреЗрддрд╛рд╡рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛.

рд╡рд┐рдкрдХреНрд╖ рдЖрдорддреМрд░ рдкрд░ рдХрд┐рд╕реА рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рджрдмрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐
рдХрдорд╛рдВрдб рдХрд╛ рдкрд╣рд▓рд╛ рдЕрдХреНрд╖рд░ `@' рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЛ `@' рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ
`@cmd' рдХреЛ рдкрд░реНрд▓ рдЙрджреНрдзрд░рдг рдореЗрдВ рдПрдХ рд╕рд░рдгреА рдХреА рддрд░рд╣ рджрд┐рдЦрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдирд╛рдо рдпрд╛ рдЗрд╕рд╕реЗ рдмрдЪреЗрдВ
рдСрдкрд░реЗрдЯрд░ рдЬреЛ рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рдХрд░рддреЗ рд╣реИрдВ:

# рдкрд╣рд▓реА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЧрд▓рдд рд╣реИ,
# рдХреНрдпреЛрдВрдХрд┐ "@cp" рдПрдХ рд╕рд░рдгреА рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ
# рдкрд░реНрд▓ qq// рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдПред
# рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ рджреВрд╕рд░реЗ рдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ.
рдХрдорд╛рдВрдб $env 'foo', 'foo.in', qq(
@cp %< tempfile
@рд╕реАрдкреА рдЯреЗрдореНрдкрдлрд╛рдЗрд▓ %>
);

рдпрджрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдХрд╣реАрдВ рднреА рд╢реЗрд▓ рдореЗрдЯрд╛ рд╡рд░реНрдг рд╣реИрдВ, рдЬреИрд╕реЗ `<',
`>', рдЙрджреНрдзрд░рдг, рдпрд╛ рд╕реЗрдореА-рдХреЛрд▓рди, рддреЛ рдХрдорд╛рдВрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ a рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рдХреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рд╢рдВрдЦред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдПрдХ рдХрдорд╛рдВрдб рдЬреИрд╕реЗ:

рд╕реАрдбреА рдлреВ

рдЕрдХреЗрд▓реЗ рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкрде рдкрд░ рдХреЛрдИ рдХрдорд╛рдВрдб `рд╕реАрдбреА' рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЖрджреЗрд╢
рд╕реНрдЯреНрд░рд┐рдВрдЧ:

рд╕реАрдбреА $<:d; рдЯрд╛рд░ рд╕реАрдПрдл $>:рдПрдл $<:рдПрдл

рдЬрдм рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рддрдм рднреА рд╢реЗрд▓ рдореЗрдЯрд╛ рдХреИрд░реЗрдХреНрдЯрд░ рд╕реЗрдореА-рдХреЛрд▓рди рд╣реЛрдЧрд╛, рдФрд░ рдПрдХ рд╢реЗрд▓ рд╣реЛрдЧрд╛
рдЖрджреЗрд╢ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЪреВрдБрдХрд┐ 'cd' рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЗрд╕ рдЙрдк-рд╢реЗрд▓, рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ
рдЕрдкреЗрдХреНрд╖рд╛рдиреБрд╕рд╛рд░ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рд╣реЛрдЧрд╛ред

рдПрдХрд╛рдзрд┐рдХ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдорд╛рдВрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрд┐рд╕реА рд╕реВрдЪреА рдХрд╛ рд╕рдВрджрд░реНрдн рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд▓рдХреНрд╖реНрдп. рдкрд░реНрд▓ рдореЗрдВ, рдХрд┐рд╕реА рд╕реВрдЪреА рдХреЛ рд╡рд░реНрдЧрд╛рдХрд╛рд░ рдХреЛрд╖реНрдардХреЛрдВ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рдХреЗ рдПрдХ рд╕реВрдЪреА рд╕рдВрджрд░реНрдн рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрджреЗрд╢:

рдХрдорд╛рдВрдб $env ['foo.h', 'foo.c'], 'foo.template', q(
рдЬрдирди %1
);

рдРрд╕реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХрдорд╛рдВрдб `рдЬреЗрди' рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИ рдлреВ.рдПрдЪ рдФрд░ рдлреВ.рд╕реА.

RSI 'рд╡рд╕реНрддреБрдПрдБ' рддрд░реАрдХрд╛

'рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕' рд╡рд┐рдзрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗ рдЕрдиреБрд░реВрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддреА рд╣реИ
рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВред рдЗрд╕реЗ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

@рдлрд╝рд╛рдЗрд▓реЗрдВ = рдСрдмреНрдЬреЗрдХреНрдЯ $env ;

рдпреВрдирд┐рдХреНрд╕ рдХреЗ рдЕрдВрддрд░реНрдЧрдд, рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИрдВ .s рдФрд░ .c рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ
рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдо рдореЗрдВ рдЬрд┐рд╕рдХреЗ рдЕрдВрдд рдореЗрдВ .o. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рдлрд╝рд╛рдЗрд▓реЗрдВ рдЗрдирд╡реЛрдХрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ
рдмрд╛рд╣рд░реА рдХрдорд╛рдВрдб рдЬреЛ `CCCOM' рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣реЛрддрд╛ рд╣реИ
`%<' рдФрд░ `%>' рдХреНрд░рдорд╢рдГ рд╕реНрд░реЛрдд рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ ('рдХрдорд╛рдВрдб' рд╡рд┐рдзрд┐ рджреЗрдЦреЗрдВ)
рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП)ред рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рддреЗ рд╕рдордп рд╡реЗрд░рд┐рдПрдмрд▓ `CPPPATH' рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП. рдпрд╣ рдкрдердирд╛рдореЛрдВ рдХреА рдПрдХ рдХреЛрд▓рди рд╕реЗ рдЕрд▓рдЧ рдХреА рдЧрдИ рд╕реВрдЪреА рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдирд┐рд░реНрдорд╛рдг рдЪрд░ `_IFLAGS', рдЬрд┐рд╕рдореЗрдВ -`I' рдХреА рдЙрдкрдпреБрдХреНрдд рд╕реВрдЪреА рд╣реЛрдЧреА
рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк. `CPPPATH' рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рд╛рдкреЗрдХреНрд╖ рдкрдердирд╛рдо рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╕рд╛рдкреЗрдХреНрд╖ рдХреА рдЬрд╛рддреА рд╣реИ
рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдкреВрд░реНрдг)ред
рдФрд░ рд╢реАрд░реНрд╖-рд╕рд╛рдкреЗрдХреНрд╖ рдирд╛рдореЛрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рдЗрд╕ рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ `CCCOM' рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░
рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЗрдВрдЯрд░рдкреЛрд▓реЗрдЯреЗрдб рдХрд┐рд╕реА рднреА рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдмрджрд▓рдХрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
`CCCOM' рдореЗрдВ, рдЬреИрд╕реЗ `CC', `CFLAGS', рдФрд░, рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ, `CPPPATH'ред рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ
`CCCOM' рдХрд╛ рдорд╛рди рд╕реНрд╡рдпрдВ рдмрджрд▓реЗрдВред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рддреМрд░ рдкрд░, рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕реВрдЪреА рд▓реМрдЯрд╛рддреА рд╣реИ
рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо.

RSI `рдХрд╛рд░реНрдпрдХреНрд░рдо' рддрд░реАрдХрд╛

'рдкреНрд░реЛрдЧреНрд░рд╛рдо' рд╡рд┐рдзрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддреА рд╣реИ
рдлрд╝рд╛рдЗрд▓реЗрдВ. рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдХрд╛рд░реНрдпрдХреНрд░рдо $env , ;

рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд╛рдо рдореЗрдВ `SUFEXE' рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХрд╛ рдорд╛рди рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ (рджреНрд╡рд╛рд░рд╛)ред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ, Win32 рд╕рд┐рд╕реНрдЯрдо рдкрд░ `.exe', рдпреВрдирд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ) рдпрджрд┐ рдкреНрд░рддреНрдпрдп рдкрд╣рд▓реЗ рд╕реЗ рдирд╣реАрдВ рд╣реИ
рд╡рд░реНрддрдорд╛рдиред

рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ - 'рдСрдмреНрдЬреЗрдХреНрдЯ' рд╡рд┐рдзрд┐ рд╣реЛрдЧреА
рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╣реНрд╡рд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рднреА
рдЙрдкрд░реЛрдХреНрдд 'рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕' рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдЗрд╕ рд╡рд┐рдзрд┐ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред

рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЛ рдПрдХ рдмрд╛рд╣рд░реА рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк
`LINKCOM' рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рд╕реЗ, `%<' рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде
рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП (рдкреНрд░рд╕реНрддреБрдд рдХреНрд░рдо рдореЗрдВ), рдФрд░ `%>' рд▓рдХреНрд╖реНрдп рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ ('рдХрдорд╛рдВрдб' рд╡рд┐рдзрд┐ рджреЗрдЦреЗрдВ)
рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП)ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
рдкрд░реНрдпрд╛рд╡рд░рдг, рдЬрд┐рд╕рдореЗрдВ `рд▓рд┐рдВрдХ' рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, `LIBPATH', рдП
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЦреЛрдЬ рдкрдереЛрдВ рдХреА рдХреЛрд▓рди-рдкреГрдердХ рд╕реВрдЪреА
рдкреНрд░рдкрддреНрд░ -рд▓рд┐рдм, рдФрд░ `LIBS', (рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдореЗрдВ) рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕реВрдЪреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ -рд▓рд┐рдм
рдкреНрд░рдкрддреНрд░ рдпрд╛ рдХреЗрд╡рд▓ рдкрдердирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВред `LIBPATH' рдФрд░ `LIBS' рджреЛрдиреЛрдВ рдореЗрдВ рд╕рд╛рдкреЗрдХреНрд╖ рдкрдердирд╛рдореЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЧрдИ рд╣реИ
рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
(рдкреВрд░реНрдг рдФрд░ рд╢реАрд░реНрд╖-рд╕рд╛рдкреЗрдХреНрд╖ рдирд╛рдореЛрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рд╡рд┐рдкрдХреНрд╖ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
`LIBS' рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХрд┐рд╕реА рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдирд┐рд░реНрднрд░рддрд╛: рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рдЖрджреЗрд╢ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ.

RSI 'рд▓рд╛рдЗрдмреНрд░реЗрд░реА' рддрд░реАрдХрд╛

'рд▓рд╛рдЗрдмреНрд░реЗрд░реА' рд╡рд┐рдзрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддреА рд╣реИ
рдлрд╝рд╛рдЗрд▓реЗрдВ. рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рд▓рд╛рдЗрдмреНрд░реЗрд░реА $env , ;

рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд╛рдо рдореЗрдВ `SUFLIB' рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХрд╛ рдорд╛рди рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ (рджреНрд╡рд╛рд░рд╛)ред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ, Win32 рд╕рд┐рд╕реНрдЯрдо рдкрд░ `.lib', рдпреВрдирд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ `.a') рдпрджрд┐ рдкреНрд░рддреНрдпрдп рдкрд╣рд▓реЗ рд╕реЗ рдирд╣реАрдВ рд╣реИ
рд╡рд░реНрддрдорд╛рдиред

рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ - 'рдСрдмреНрдЬреЗрдХреНрдЯ' рд╡рд┐рдзрд┐ рд╣реЛрдЧреА
рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╣реНрд╡рд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рднреА
рдЙрдкрд░реЛрдХреНрдд 'рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕' рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдЗрд╕ рд╡рд┐рдзрд┐ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред

рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд░реНрдорд╛рдг рдПрдХ рдмрд╛рд╣рд░реА рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк
'ARCOM' рдирд┐рд░реНрдорд╛рдг рдЪрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рд╕реЗ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП '%<' рд╕реЗрдЯ рдХреЗ рд╕рд╛рде (in)
рдкреНрд░рд╕реНрддреБрдд рдЖрджреЗрд╢), рдФрд░ рдмрдирд╛рдИ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП `%>' (рдЗрд╕рдХреЗ рд▓рд┐рдП `рдХрдорд╛рдВрдб' рд╡рд┐рдзрд┐ рджреЗрдЦреЗрдВ
рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рд╡рд░рдг)ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд░реНрдорд╛рдг рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рд╡реЗрд░рд┐рдПрдмрд▓ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдРрд╕рд╛ рдХрд░реЗрдЧрд╛
рдХрдорд╛рдВрдб рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдВред рдЗрдирдореЗрдВ `рдПрдЖрд░', рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢рд╛рдорд┐рд▓ рд╣реИ,
'ARFLAGS', рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ 'AR' рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рджрд┐рдП рдЧрдП рдЭрдВрдбреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ,
рдФрд░ `RANLIB', рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╕реВрдЪрдХрд╛рдВрдХ рдкреАрдврд╝реА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдирд╛рдо, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ (рдпрджрд┐ рд╡рд┐рд╢реЗрд╖ рд╣реЛ)ред
рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдмрд╛рдж рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ 'ARCOM' рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рд╕рдВрджрд░реНрдн `рд░рд╛рдирд▓рд┐рдм')ред

'рд▓рд╛рдЗрдмреНрд░реЗрд░реА' рд╡рд┐рдзрд┐ рдПрдХ рд╣реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдПрдХрд╛рдзрд┐рдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ
рдордВрдЧрд▓рд╛рдЪрд░рдг. рд╕рднреА рдЖрд╣реНрд╡рд╛рдиреЛрдВ рд╕реЗ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рд╡рд╛рд▓реА рд╕рднреА рд╡рд╕реНрддреБрдПрдБ (рдЬреЛ рдХрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ)ред
рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ) рдПрдХ рдПрдХрд▓ рд╕рдВрдЧреНрд░рд╣ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рд╕рдВрдпреБрдХреНрдд рдФрд░ рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛рддреА рд╣реИрдВред рдЯрд┐рдкреНрдкрдгреА,
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдмрд┐рд▓реНрдб рдХреА рдХрд╛рдЯ-рдЫрд╛рдБрдЯ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рднрд╛рдЧ рд╣реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛ, рдХреЗрд╡рд▓ рддрднреА
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдмрд╛рдХреА рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧрд╛!)ред

RSI 'рдореЙрдбреНрдпреВрд▓' рддрд░реАрдХрд╛

'рдореЙрдбреНрдпреВрд▓' рд╡рд┐рдзрд┐ 'рдкреНрд░реЛрдЧреНрд░рд╛рдо' рдФрд░ 'рдХрдорд╛рдВрдб' рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп
рд╕реАрдзреЗ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реБрдП, рдпрд╣ рдХрдорд╛рдВрдб рдЖрдкрдХреЛ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдбред рд╡рд┐рдзрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИ:

рдореЙрдбреНрдпреВрд▓ $env , , ;

рдпрд╣ рдХрдорд╛рдВрдб рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ
рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓, рдпрд╛ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рдХреЛрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реАред

RSI 'рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ' рддрд░реАрдХрд╛

'рдирд┐рд░реНрднрд░' рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣ рд╣реИ
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрд╣реНрд╡рд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛:

$env рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ , ;

рдпрд╣ рдХрднреА-рдХрднреА рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдХреЛрдИ рд╕реНрдХреИрдирд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ (рдпрд╛ рд╣реИ)ред
рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп) рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдПред рдЖрдо рддреМрд░ рдкрд░, рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ
рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ
рдЖрд╣реНрд╡рд╛рди рдпрд╛ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рдХреЗред

рдПрдХрд╛рдзрд┐рдХ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рд▓рдХреНрд╖реНрдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА. рдкрд░реНрд▓ рдореЗрдВ, рдХрд┐рд╕реА рд╕реВрдЪреА рдХреЛ рд╡рд░реНрдЧрд╛рдХрд╛рд░ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рдХреЗ рдПрдХ рд╕реВрдЪреА рд╕рдВрджрд░реНрдн рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдХреЛрд╖реНрдардХред рдЗрд╕рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрджреЗрд╢:

рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ $env ['foo', 'bar'], 'input_file_1', 'input_file_2';

рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ foo рдФрд░ рдмрд╛рд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИрдВред

RSI 'рдЕрдирджреЗрдЦрд╛' рддрд░реАрдХрд╛

'рдЕрдирджреЗрдЦрд╛' рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдЬреЛ рд╡рд┐рдкрдХреНрд╖ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддрд╛ рд╣реИ
рдЕрдкрдирд╛ред рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ ;

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкреБрдирд░реНрд╕рдВрдХрд▓рди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ рдЬреЛ рдЙрддреНрдкрдиреНрди рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреА рдЬрд╛рддреА рд╣реИрдВред

рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрдИ рд╕рд┐рд╕реНрдЯрдореЛрдВ рдкрд░ рдПрдирдПрдлрдПрд╕-рдорд╛рдЙрдВрдЯреЗрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рддрд┐рдпрд╛рдБ рд╣реИрдВ stdio.hрдорддрднреЗрдж рдХрд╛ рдЕрд╕рд░ рд╕рднреА рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдкрд░ рдкрдбрд╝реЗрдЧрд╛
рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╡реНрдпреБрддреНрдкрдиреНрди рд▓рдХреНрд╖реНрдп рдЬреЛ `#рд╢рд╛рдорд┐рд▓ рд╣реИрдВ '. рдЗрд╕рд╕реЗ рд╕рднреА рдХреЛ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛрдЧреА
рд╕рд┐рд╕реНрдЯрдо рдмрджрд▓рддреЗ рд╕рдордп рдЙрди рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпрд╣ рд╡рд╛рдВрдЫрдиреАрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИ,
рддреЛ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧреА stdio.h рдлрд╝рд╛рдЗрд▓:

'^/usr/include/stdio\.h$' рдкрд░ рдзреНрдпрд╛рди рди рджреЗрдВ;

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ 'рдЕрдирджреЗрдЦрд╛' рдкрджреНрдзрддрд┐ рдХреЗ рддрд░реНрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╣реИрдВ
рдкрд╛рддреНрд░реЛрдВ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдк рд╢реБрд░реБрдЖрдд рдпрд╛ рдЕрдВрдд рдХреЛ рдПрдВрдХрд░ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ
`^' рдпрд╛ `$' рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ред

RSI 'рдирдордХ' рддрд░реАрдХрд╛

'рдирдордХ' рд╡рд┐рдзрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗ рд▓рд┐рдП рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЧрдгрдирд╛ рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдорд╛рди рдЬреЛрдбрд╝рддреА рд╣реИ
рдлрд╝рд╛рдЗрд▓ред рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдирдордХ $рд╕реНрдЯреНрд░рд┐рдВрдЧ;

рд╕рд╛рд▓реНрдЯ рдорд╛рди рдмрджрд▓рдиреЗ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░реНрдг рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдмрд╛рдзреНрдп рд╣реЛрдЧрд╛ред рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдХреБрдЫ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,

рдирдордХ `uname -s`;

рдЬрдм рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЪрд╛рд▓реВ рд╣реЛрдЧрд╛, рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкреВрд░реНрдг рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЛ рдмрд╛рдзреНрдп рдХрд░реЗрдЧрд╛
рдЬреЛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ `uname -s' рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдкрд░рд┐рд╡рд░реНрддрдиред

RSI 'рдХреИрд╢ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ' рддрд░реАрдХрд╛

'UseCache' рд╡рд┐рдзрд┐ рд╡рд┐рдкрдХреНрд╖ рдХреЛ рд╕рд╛рдЭрд╛ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдХреИрд╢ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддреА рд╣реИ
рдПрдХ рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрдорд┐рдд рдкреЗрдбрд╝реЛрдВ рдХреЗ рдмреАрдЪред

рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ("рдХреИрд╢/ ") тОктОк рдЪреЗрддрд╛рд╡рдиреА("рдХреИрд╢ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рдорд┐рд▓реА");

RSI 'рд╕реЛрд░реНрд╕рдкрд╛рде' рддрд░реАрдХрд╛

'рд╕реЛрд░реНрд╕рдкрд╛рде' рдореИрдереЛрдб рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрд░реЛрдд рдкрде рдирд╛рдо рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИ
рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рдкрде рдХрд╛ рдирд╛рдоред рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

$рдкрде = рд╕реЛрд░реНрд╕рдкрд╛рде ;

RSI 'рдХрдВрд╕рдкрд╛рде' рддрд░реАрдХрд╛

рдпрджрд┐ рдЖрдкреВрд░реНрддрд┐ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкрде рдПрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рд╣реИ, рддреЛ `рдХреЙрдиреНрд╕рдкрд╛рде' рд╡рд┐рдзрд┐ рд╕рддреНрдп рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреА рд╣реИ
рдЕрдиреНрдпрдерд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд (рдЭреВрдард╛)ред рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

$рдкрд░рд┐рдгрд╛рдо = рдХрдВрд╕рдкрд╛рде ;

RSI 'рд╕реНрдкреНрд▓рд┐рдЯрдкрд╛рде' рддрд░реАрдХрд╛

'рд╕реНрдкреНрд▓рд┐рдЯрдкрд╛рде' рд╡рд┐рдзрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХреА рдЧрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдкрде рдирд╛рдореЛрдВ рдХреЛ рдвреВрдВрдврддреА рд╣реИ
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдкрде рд╡рд┐рднрд╛рдЬрдХ (':' UNIX рд╕рд┐рд╕реНрдЯрдо рдкрд░, ';' Windows NT рдкрд░), рдФрд░
рдкреВрд░реНрдгрддрдГ рдпреЛрдЧреНрдп рдирд╛рдо рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

@рдкрде = рд╕реНрдкреНрд▓рд┐рдЯрдкрд╛рде ;

'рд╕реНрдкреНрд▓рд┐рдЯрдкрд╛рде' рд╡рд┐рдзрд┐ '#' рдЙрдкрд╕рд░реНрдЧ рд╡рд╛рд▓реЗ рдирд╛рдореЛрдВ рдХреЛ рдЙрдЪрд┐рдд рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдмрд┐рд▓реНрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджреЗрдЧреА
рдирд╛рдо ('#' рдХреЗ рдмрд┐рдирд╛) рдФрд░ рд╕рд╛рдкреЗрдХреНрд╖ рдирд╛рдореЛрдВ рдХреЛ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдирд╛рдореЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджреЗрдЧрд╛ред

RSI 'рджрд┐рд░рдкрд╛рде' рддрд░реАрдХрд╛

'DirPath' рд╡рд┐рдзрд┐ рдмрд┐рд▓реНрдб рдкрде рд▓реМрдЯрд╛рддреА рд╣реИ рдирд╛рдордХрд┐рд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рд╕реВрдЪреАред
рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

$cwd = DirPath ;

'DirPath' рдкрджреНрдзрддрд┐ рдХрд╛ рд╕рдмрд╕реЗ рдЖрдо рдЙрдкрдпреЛрдЧ рд╣реИ:

$cwd = DirPath '.';

рдХрд┐рд╕реА рд╕рд╣рд╛рдпрдХ рдХрдВрдкрдиреА рдХреА рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдкрде рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓.

RSI `рдлрд╝рд╛рдЗрд▓рдкрде' рддрд░реАрдХрд╛

'рдлрд╝рд╛рдЗрд▓рдкрд╛рде' рд╡рд┐рдзрд┐ рдмрд┐рд▓реНрдб рдкрде рд▓реМрдЯрд╛рддреА рд╣реИ рдирд╛рдордХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ред рдпрд╣ рд╣реИ
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрд╣реНрд╡рд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛:

$рдлрд╝рд╛рдЗрд▓ =рдлрд╝рд╛рдЗрд▓рдкрд╛рде ;

RSI 'рдорджрдж' рддрд░реАрдХрд╛

'рд╕рд╣рд╛рдпрддрд╛' рд╡рд┐рдзрд┐ рд╕рд╣рд╛рдпрддрд╛ рдкрд╛рда рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреА рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ 'рд╡рд┐рдкрдХреНрд╖' рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рдиреЗ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
-рдПрдЪ'ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рдХреНрд╖реНрдпреЛрдВ, рдореВрд▓реНрдпреЛрдВ, рдирд┐рд░реНрдорд╛рдг рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдмрд┐рд▓реНрдб рдЯреНрд░реА рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рдЖрджрд┐ред рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдорджрдж ;

'рд╕рд╣рд╛рдпрддрд╛' рд╡рд┐рдзрд┐ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЖрдо рддреМрд░ рдкрд░ рд╢реАрд░реНрд╖ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП-
рд╕реНрддрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓.

рд╡рд┐рд╕реНрддрд╛рд░ рдиреБрдХрд╕рд╛рди


рдЕрдзрд┐рднрд╛рд╡реА рдирд┐рд░реНрдорд╛рдг рдЪрд░

рд╡рд┐рдкрдХреНрд╖ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рдЬреЛ рдХрдард┐рдирд╛рдИ рдХреА рдбрд┐рдЧреНрд░реА рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЖрд╕рд╛рди
рд╡рд┐рдзрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реИ,
рд▓реЗрдХрд┐рди рдЖрдкрдХреА рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЕрдХреНрд╕рд░ рд╕реА-рдЖрдзрд╛рд░рд┐рдд рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛
рдЕрдиреБрдкреНрд░рдпреЛрдЧред рдЖрдк 'рдирдП' рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░, рдФрд░ 'рдХреНрд▓реЛрди' рдФрд░ 'рдХреЙрдкреА' рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╣рд╛рдЗрдмреНрд░рд┐рдб рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдПрдВ. рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рд░рджрд░реНрд╢реА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╛рдЗрд▓реЗрдВ.

рдЬреЛрдбрд╝рдирд╛ рдирдИ рддрд░реАрдХреЛрдВ

рдереЛрдбрд╝реЗ рдЕрдзрд┐рдХ рдорд╛рдВрдЧ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк 'рд╡рд┐рдкрдХреНрд╖' рдореЗрдВ рдирдП рддрд░реАрдХреЗ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ
рдкреИрдХреЗрдЯред рдпрд╣рд╛рдВ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди, 'рдЗрдВрд╕реНрдЯреЙрд▓рд╕реНрдХреНрд░рд┐рдкреНрдЯ' рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддрд╛ рд╣реИ
рдЕрдиреБрд░реЛрдзрд┐рдд рд╕реНрдерд╛рди рдкрд░ рдЯреАрд╕реАрдПрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд▓реЗрдХрд┐рди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрд╣рд▓реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ-
рдЖрд╢реНрд░рд┐рдд рдкрде рдЬрд┐рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

# рд╡рд┐рдкрдХреНрд╖::рдЗрдВрд╕реНрдЯреЙрд▓рд╕реНрдХреНрд░рд┐рдкреНрдЯ - рд╢реЗрд▓ рдХрд╛ рдПрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдирд┐рд░реНрднрд░ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдПрдВ
рд╕реНрдЯреНрд░рд┐рдВрдЧ ``#!your-path-here'' рдХреЛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ # рд╕реНрдХреНрд░рд┐рдкреНрдЯ
# рдкрде $BIN_DIR.

рдЙрдкрд╡рд┐рдкрдХреНрд╖::рдЗрдВрд╕реНрдЯреЙрд▓рд╕реНрдХреНрд░рд┐рдкреНрдЯ {
рдореЗрд░рд╛ ($env, $dst, $src) = @_;
рдХрдорд╛рдВрдб $env $dst, $src, qq(
sed s+рдЖрдкрдХрд╛-рдкрде-рдпрд╣рд╛рдВ+$BIN_DIR+ %< > %>
chmod oug+x %>
);
}

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рд╕реАрдзреЗ `cons' рдкреИрдХреЗрдЬ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдирд╛рдо рдЙрдкрд╕рд░реНрдЧ рдХрд░рдХреЗ)ред
`рд╡рд┐рдкрдХреНрд╖::') рдХреЗ рд╕рд╛рдеред рдЗрд╕ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕рднреА рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛,
рдФрд░ рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдЗрдВрд╕реНрдЯрд╛рд▓рд╕реНрдХреНрд░рд┐рдкреНрдЯ $env "$BIN/foo", "foo.tcl";

рд╡реНрдпрд╛рдкрдХрддрд╛ рдореЗрдВ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП, 'рдмрд┐рдВрджрд┐рд░' рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рддрд░реНрдХ рдпрд╛ рдирд┐рд░реНрдорд╛рдг рдкрд░рд┐рд╡реЗрд╢ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ - `%BINDIR' рдХреЗ рд░реВрдк рдореЗрдВред

рдЕрдзрд┐рднрд╛рд╡реА рддрд░реАрдХреЛрдВ

'рд╡рд┐рдкрдХреНрд╖' рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЬреЛ `cons' рдкреИрдХреЗрдЬ рд╕реЗ рдореМрдЬреВрджрд╛ рддрд░реАрдХреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░реЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдпрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдпрд╣
рдкрд░реНрд▓ рдХреЗ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдПрдХ рдирдП рдкреИрдХреЗрдЬ `cons::switch' рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдорд╛рдирдХ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИ
`рд▓рд╛рдЗрдмреНрд░реЗрд░реА' рд╡рд┐рдзрд┐. рдУрд╡рд░рд░рд╛рдЗрдб рд╡рд┐рдзрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмрдЬрд╛рдп рд▓рд┐рдВрдХреНрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рддреА рд╣реИ
рдкреБрд░рд╛рд▓реЗрдЦ. рдПрдХ рдирдпрд╛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛
рдирдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрджреНрдзрддрд┐ рд╣реИ; рдЕрдиреНрдп рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ.

рдкреИрдХреЗрдЬ рд╡рд┐рдкрдХреНрд╖::рд╕реНрд╡рд┐рдЪ;
рд╢реБрд░реВ рдХрд░реЗрдВ {@ISA = 'cons'}

рдЙрдк рдирдпрд╛ {
рдЦрд┐рд╕рдХ рдЬрд╛рдирд╛;
рдирдП рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдЖрд╢реАрд░реНрд╡рд╛рдж рджреЗрдВ (@_);
}

рдЙрдк рдкреБрд╕реНрддрдХрд╛рд▓рдп {
рдореЗрд░рд╛($env) = рд╢рд┐рдлреНрдЯ;
рдореЗрд░рд╛($lib) = рд╢рд┐рдлреНрдЯ;
рдореЗрд░рд╛ (@objs) = рдСрдмреНрдЬреЗрдХреНрдЯ $env @_;
рдХрдорд╛рдВрдб $env $lib, @objs, q(
%LD -r %LDFLAGS %< -o %>
);
}

рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

$env = рдирдпрд╛ рд╡рд┐рдкрдХреНрд╖::рд╕реНрд╡рд┐рдЪ(рдУрд╡рд░рд░рд╛рдЗрдб);
...
рд▓рд╛рдЗрдмреНрд░реЗрд░реА $env 'lib.o', 'foo.c', 'bar.c';

рд▓рд╛рдЧреВ рдиреБрдХрд╕рд╛рди


'рд╡рд┐рдкрдХреНрд╖' рдХрдорд╛рдВрдб рдЖрдорддреМрд░ рдкрд░ рдмрд┐рд▓реНрдб рдЯреНрд░реА рдХреА рдЬрдбрд╝ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдП рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдкрдЯреНрдЯрд┐рдХрд╛
рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП. рдпрджрд┐ `-f' рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдФрд░, рд╕рдВрднрд╡рддрдГ, рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдЯ, рдХреНрдпреЛрдВрдХрд┐ `cons' рд╕реАрдбреА рд╣реЛрдЧрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ
рдлрд╝рд╛рдЗрд▓ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдпреБрдХреНрдд)ред

рдпрджрд┐ '-t' рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдЯреНрд░реА рдХреА рдЬрдбрд╝ рдХреЗ рдмрдЪреНрдЪреЗ рд╕реЗ 'cons' рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣
рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрджрд╛рдиреБрдХреНрд░рдо рдкрд░ рдЪрд▓реЗрдВрдЧреЗ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ред (рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдЕрднреА рднреА `-f' рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред) рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рджрд┐рдП рдЧрдП рд▓рдХреНрд╖реНрдп рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ
рдЦреЛрдЬреЗ рдЧрдП рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реЛрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ
рдПрдХ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╣реНрд╡рд╛рди:

% рд╕реАрдбреА libfoo/subdir
% рд╡рд┐рдкрдХреНрд╖ -t рд▓рдХреНрд╖реНрдп

рдмрд┐рд▓реНрдХреБрд▓ рдмрд░рд╛рдмрд░ рд╣реИ:

% рд╡рд┐рдкрдХреНрд╖ libfoo/subdir/target

рдпрджрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдХреЛрдИ 'рдбрд┐рдлрд╝реЙрд▓реНрдЯ' рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ or
рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ, рдХреЗрд╡рд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓рдХреНрд╖реНрдп рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдпрд╛ рдиреАрдЪреЗ рдЬрд╣рд╛рдВ рд╕реЗ `cons -t'
рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛.

рдЖрджреЗрд╢ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рджреЛрд╖ --

рдЬрд╣рд╛рдВ рддрд░реНрдХ рдХрд┐рд╕реА рднреА рдХреНрд░рдо рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рдХреНрд╖реНрдп рдмрдирд╛рдПрдВ. рдЕрдЧрд░ рд▓рдХреНрд╖реНрдп рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ, рдлрд┐рд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рд╕рдм рдХреБрдЫред

+рдкреИрдЯрд░реНрди рдХреА рд╕реАрдорд╛ рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реАрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдореЗрд▓ рдЦрд╛рддреА рд╣реИрдВ рдкреИрдЯрд░реНрдирд╣реИ, рдЬреЛ рд╣реИ
рдПрдХ рдкрд░реНрд▓ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ред рдПрдХрд╛рдзрд┐рдХ `+' рддрд░реНрдХ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдирд╛рдо=
рд╕реЗрдЯ рдирд╛рдо рдорд╣рддреНрд╡ рдХреЗ рд▓рд┐рдП рд▓рд╣рд░ 'рдПрдЖрд░рдЬреА' рдореЗрдВ рд╣реИрд╢ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рд╣реИ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓.

`-рд╕реАрд╕реА' рдХрдорд╛рдВрдб рджрд┐рдЦрд╛рдПрдВ рдЬреЛ рдХреИрд╢ рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛрдЧрд╛ред рдирд╣реАрдВ
рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓реА рдЧрдИ рд╣реИ; рдпрд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ
рдмрд┐рд▓реНрдб рд▓реЙрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЬрд┐рдирдХреА рддреБрд▓рдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд┐рд▓реНрдб рд▓реЙрдЧ рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

`-рд╕реАрдбреА' рд╕рднреА рдХреИрд╢рд┐рдВрдЧ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред рдХреИрд╢ рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рди рдХрд░реЗрдВ рдФрд░ рди рд╣реА рдХреИрд╢ рдореЗрдВ рдлреНрд▓рд╢ рдХрд░реЗрдВред

`-cr' рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреНрд░рдо рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдмрдирд╛рдПрдБред рдПрдХрд╛рдзрд┐рдХ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ
рдХреИрд╢рд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рдкреЗрдбрд╝ред

`-рд╕реАрдПрд╕' рдореМрдЬреВрджрд╛ рдмрд┐рд▓реНрдб рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреИрд╢ рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрд┐рдд рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ рдпрджрд┐ рдХреИрд╢рд┐рдВрдЧ рдХреЛ -cc рдХреЗ рд╕рд╛рде рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдпреВрдЬрд╝рдХреИрд╢ рдХреЗ рд╕рд╛рдеред

`-d' рдирд┐рд░реНрднрд░рддрд╛ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред

`-рдПрдл'
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ (рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдпреБрдХреНрддрд┐ рдореЗрдВ рдмрджрд▓реЗрдВ
рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрдЯреНрдЯрд┐рдХрд╛).

`-h' рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рд╡рд░реНрддрдорд╛рди рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╕рд╣рд╛рдпрддрд╛ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдПрдВ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред

`-k' рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рдж рдЬрд╣рд╛рдБ рддрдХ рд╕рдВрднрд╡ рд╣реЛ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд░рд╣реЗрдВред

`-рдУ'
рдУрд╡рд░рд░рд╛рдЗрдб рдлрд╝рд╛рдЗрд▓ рдкрдврд╝реЗрдВ рдкрдЯреНрдЯрд┐рдХрд╛.

`-рдкреА' рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреЗрдбрд╝реЛрдВ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдЙрддреНрдкрд╛рдж рджрд┐рдЦрд╛рдПрдВред рдХреЛрдИ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ.

`-pa' рдирд┐рд░реНрдорд╛рдг рдЙрддреНрдкрд╛рдж рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ рджрд┐рдЦрд╛рдПрдВред рдХрд┐рд╕реА рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ.

`-pw' рдЙрддреНрдкрд╛рдж рджрд┐рдЦрд╛рдПрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрд╣рд╛рдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрд┐рд╕реА рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ.

`-q' рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рди рдХрд░реЗрдВред

`-r' рд╕реЗ рдЬреБрдбрд╝реЗ рдирд┐рд░реНрдорд╛рдг рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ . рдХрд┐рд╕реА рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ.

`-рдЖрд░'
рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЦреЛрдЬреЗрдВ рд░реЗрдкреЛ. рд╡рд┐рднрд┐рдиреНрди -R рд░реЗрдкреЛ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдЦреЛрдЬреА рдЬрд╛рддреА рд╣реИрдВ
рдЖрджреЗрд╢ рдирд┐рд░реНрджрд┐рд╖реНрдЯред

`-t' рдПрдХ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдкрд╛рд░ рдХрд░реЗрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓, рдпрджрд┐ рдХреЛрдИ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ
рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ. рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓.

`-v' `cons' рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдПрдВ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рд░рдЦреЗрдВред

`-V' `cons' рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдПрдВ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред

`-wf'
рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рд╕рднреА рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд▓рд┐рдЦреЗрдВ рдкрдЯреНрдЯрд┐рдХрд╛.

`-x' рдЗрд╕ рдЬреИрд╕рд╛ рдПрдХ рд╕рд╣рд╛рдпрддрд╛ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдПрдВ, рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред

рддрдерд╛ рдирд┐рд░реНрдорд╛рдг-рддрд░реНрдХ рдХреЛрдИ рднреА рддрд░реНрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓.
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП -- рддрд░реНрдХреЛрдВ рдХреЛ рд╡рд┐рдкрдХреНрд╖ рдФрд░ рдЙрди рддрд░реНрдХреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЬреЛ рдЖрдк рдХрд░рддреЗ рд╣реИрдВ
рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓.

рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрдорд╛рдг-рддрд░реНрдХ рдЬреИрд╕реЗ рдХрд┐рд╕реА рднреА рдорд╛рдирдХ рдкреИрдХреЗрдЬ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЧреЗрдЯреЛрдкреНрдЯ рдпрд╛ рдЙрд╕рдХреЗ
рд╡реЗрд░рд┐рдПрдВрдЯ, рдпрд╛ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреИрдХреЗрдЬред рд╡рд┐рдкрдХреНрд╖ рдореЗрдВ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдирд┐рд░реНрдорд╛рдг-рддрд░реНрдХ as @ARGV рдФрд░
рдХреЗ рдмрд╛рдж рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ --.

% cons -R /usr/local/repository -d os=solaris +driver -- -c test -f DEBUG

рд╡рд┐рдкрдХреНрд╖ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛

-R /usr/local/repository -d os=solaris +driver

рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд, рд╢реАрд░реНрд╖ рд╕реНрддрд░ рддрдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрдЬ рдХрд░реЗрдВ @ARGV

-рд╕реА рдЯреЗрд╕реНрдЯ -рдПрдл рдбреАрдмрдЧ

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ `рд╡рд┐рдкрдХреНрд╖ -рдЖрд░ред' рдкреВрд░реНрдг рдкреБрдирд░рд╛рд╡рд░реНрддреА `рдореЗрдХ рдХреНрд▓реАрди' рдХреЗ рд╕рдорддреБрд▓реНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
рдореЗрдВ рд╕рдорд░реНрдерди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдХреЛрдИ рднреА рднрд░рддреА рд╣реЛрдиреЗрд╡рд╛рд▓рд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ. рдпрджрд┐ рдЖрдк рд╣реИрдВ рддреЛ рдпрд╣ рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИ
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ (рдпрджрд┐ рдЖрдк рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛,
рддрдм рдЖрдк рдХреЗрд╡рд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред

рд╡рд┐рдХрд▓реНрдк `-p', `-pa', рдФрд░ `-pw' рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рдЙрдкрдпреЛрдЧреА рд╣реИрдВ
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдбрд┐рдмрдЧ рдХрд░рдирд╛ред рдпрджрд┐ рдЖрдк рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрддреА рд╣реИ рдирд┐рд░реНрдпрд╛рдд/рд╢рд╛рдорд┐рд▓/foo.h,
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЯрд╛рдЗрдк рдХрд░реЗрдВ:

% рд╡рд┐рдкрдХреНрд╖ -pw рдирд┐рд░реНрдпрд╛рдд/рд╢рд╛рдорд┐рд▓/foo.h

рдХрд╛ рдкреНрд░рдпреЛрдЧ рдФрд░ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдХреИрдирд░


рдХреНрд╡рд┐рдХрд╕реНрдХреИрди рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд▓рдХреНрд╖реНрдп-рд╕реНрд╡рддрдВрддреНрд░ рд╕реНрдХреИрдирд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХреЗрд╡рд▓
рдПрдХ рдХреНрд╡рд┐рдХрд╕реНрдХреИрди рд╕реНрдХреИрдирд░ рдХрд┐рд╕реА рднреА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдФрд░ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрд╡рд┐рдХрд╕реНрдХреИрди рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдХреНрд╡рд┐рдХрд╕реНрдХреИрди рдХреЙрдиреНрд╕реЗрдирд╡ рдХреЛрдбрд░рдл, рдлрд╝рд╛рдЗрд▓рдирд╛рдо [, рдкрде]

CodeREF рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рд╕рдмрд░реВрдЯреАрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ
рд╕реАрдзреЗ рдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛. рдмрджрд▓реЗ рдореЗрдВ, рдпреЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕реНрдХреИрди рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рд╡реИрдХрд▓реНрдкрд┐рдХ PATH рддрд░реНрдХ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрддреНрдд FILENAME рдФрд░/рдпрд╛ рд▓реМрдЯрд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реБрдХрдЕрдк рдкрде рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
рд╕рдмрд░реВрдЯреАрди. PATH рд▓реБрдХрдЕрдк-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдореЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ a
рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡рд┐рднрд╛рдЬрдХ рд╡рд░реНрдг (':' UNIX рд╕рд┐рд╕реНрдЯрдо рдкрд░, ';' рдкрд░) рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдирд╛рдореЛрдВ рдХреА рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╡рд┐рдВрдбреЛрдЬрд╝ рдПрдирдЯреА)ред

рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдмрд░реВрдЯреАрди рдХреЛ рдПрдХ рдмрд╛рд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, $_ рдХреЛ рд╡рд░реНрддрдорд╛рди рд▓рд╛рдЗрди рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рд╕рдмрд░реВрдЯреАрди рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрдВрдХреНрддрд┐рдпреЛрдВ, рдпрд╛, рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рд╕рдВрдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ,
рддреЛ рдпрд╣ рдЙрдиреНрд╣реЗрдВ рд╕реНрдХреИрди рдлрд╝рд╛рдЗрд▓рд╣реИрдВрдбрд▓ рд╕реЗ рд╕реНрд╡рдпрдВ рд╣реА рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рд▓реВрдк рдХреЛ рд╕рдорд╛рдкреНрдд рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ
рдпрд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓рд╣реИрдВрдбрд▓ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рдЖрдЧреЗ рдХреЛрдИ рднреА рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред

рд▓реБрдХрдЕрдк рдкрде рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдХреНрд╡рд┐рдХрд╕реНрдХреИрди рдкрд╣рд▓реЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ
рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ (рд╕реАрдзреЗ рдХреНрд╡рд┐рдХрд╕реНрдХреИрди рдХреЛ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЧрдИ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП),
рдпрд╛ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдЬрд┐рд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдВрджрд░реНрдн рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпреЗ рдмрд╣реБрдд рдирд╣реАрдВ рд╣реИ
рд╕рд╛рдорд╛рдиреНрдп, рд▓реЗрдХрд┐рди рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ--рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ
рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ рдФрд░ рдорд╛рдирдХ рддрд░реАрдХреЗ рд╕реЗ рдЦреЛрдЬ рдкрде рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдЕрдВрддрддрдГ
рдЦреЛрдЬ рдкрде, рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдХреЛрд▓рди рдЕрд▓рдЧ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдПрдирдЯреА рдЦреЗрдорд╛ рдЦреБрд╢ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред

рдпрд╣рд╛рдБ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬреЛ a рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдпрд╣рд╛рдВ рдлрд╝рд╛рдЗрд▓ рдХрд░реЗрдВ:

рдЙрдк рд╡рд┐рдкрдХреНрд╖::рдПрд╕рдПрдордПрдлрдЬреЗрди {
рдореЗрд░рд╛($env, @tables) = @_;
foreach $t (@tables) {
$env->QuickScan(sub { /\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...' рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдЖрд╣реНрд╡рд╛рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ
рдкрд░реНрд▓ рдореЗрдВ рдмрдЧ рд╣реЛрдирд╛ рдпрд╛ рдореЗрд░реА рдУрд░ рд╕реЗ рдЧрд╝рд▓рддрдлрд╝рд╣рдореА рд╣реЛрдирд╛; рдпрд╣ рдордВрдЧрд▓рд╛рдЪрд░рдг рд╢реИрд▓реА рдирд╣реАрдВ рд╣реИ
рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред]

рдЗрд╕рд╕реЗ рдлрд╝реЙрд░реНрдо рдХреЗ рд╕рднреА рдирд╛рдо рдорд┐рд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ .smf. рднрд▓реЗ рд╣реА рдпрд╣ рдирд╛рдо рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛
рд╡реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдареАрдХ рд╣реИ (рддрдВрддреНрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдорд╛рдл рдХрд░ рд░рд╣рд╛ рд╣реИ;
рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдЗрд╕ рдзрд╛рд░рдгрд╛ рдкрд░ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЧреБрдо рд╣реБрдИ рдлрд╝рд╛рдЗрд▓ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм
рдкреНрд░реЛрдЧреНрд░рд╛рдо, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, smfgen, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред

рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕реНрдХреИрдирд░ рдХреЗрд╡рд▓ рддрднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдХрд┐рд╕реА рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
рдкреЗрдбрд╝ред рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╣реА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдЙрд╕реА рд╕реНрдХреИрдирд░ рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдХреЛрдб рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ,
рдФрд░ (рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ) рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣реА рдкрдврд╝рддрд╛ рд╣реИ:

рдЙрдк рдорд╛рдЗрд╕реНрдХреИрди {
рдореЗрд░рд╛ (@рд╢рд╛рдорд┐рд▓);
рдХрд░рдирд╛ {
рдкреБрд╢ (@includes, /\b\S*?\.smf\b/g);
} рдЬрдмрдХрд┐ ;
@рд╢рд╛рдорд┐рд▓ рд╣реИ
}

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓реВрдк рдХрд╛ рдХреНрд░рдо рдЙрд▓реНрдЯрд╛ рд╣реИ, рд▓реВрдк рдкрд░реАрдХреНрд╖рдг рдЕрдВрдд рдореЗрдВ рд╣реИред рдпрд╣ рд╣реИ
рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╣реА рдкрдврд╝реА рдЬрд╛ рдЪреБрдХреА рд╣реИред рдЗрд╕ рд╕реНрдХреИрдирд░ рдХреЛ рдХрд┐рд╕реА рд╕реНрд░реЛрдд рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛:

рдХреНрд╡рд┐рдХрд╕реНрдХреИрди $env \myscan, "$_.smf";

рд╕рдорд░реНрдерди рдФрд░ рд╕реБрдЭрд╛рд╡


рд╡рд┐рдкрдХреНрд╖ рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд▓ рднреЗрдЬреЗрдВ рд╡рд┐рдкрдХреНрд╖-рдЪрд░реНрдЪрд╛-
[рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд] рд╢рд░реАрд░ рдХреЗ рд╕рд╛рде рд╕рджрд╕реНрдпрддрд╛ рдХреЗ.

рдХреГрдкрдпрд╛ рдХрд┐рд╕реА рднреА рд╕реБрдЭрд╛рд╡ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ [рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд] рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА

onworks.net рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдирд▓рд╛рдЗрди рд╡рд┐рдкрдХреНрд╖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдлреНрд░реА рд╕рд░реНрд╡рд░ рдФрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди

рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд╛рдЗрдиреЗрдХреНрд╕ рдПрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдб

Ad