рдореИрдВ рд╣рдореЗрд╢рд╛ рдЕрддрд┐рд╕реВрдХреНрд╖реНрдорд╡рд╛рдж рдХреА рдУрд░ рдЖрдХрд░реНрд╖рд┐рдд рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд┐ рдПрдХ рдХрд╛рдо рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рд╕рд╛рде рдЗрд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░реНрд╡реЛрддреНрддрдо рд░реВрдк рд╕реЗ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк UNIX рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реБрдЖред рдФрд░ рдпрджреНрдпрдкрд┐ UNIX рдХреЛ рдЕрдм рдПрдХ рд╕рд░рд▓ рдкреНрд░рдгрд╛рд▓реА рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЕрддрд┐рд╕реВрдХреНрд╖реНрдорд╡рд╛рдж рдХреЛ рджреЗрдЦрдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдЗрд╕реЗ рдХрдИ рд╕рд░рд▓ рдФрд░ рд╕рдордЭ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреА рдорд╛рддреНрд░рд╛-рдЧреБрдгрд╡рддреНрддрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рдмрд╣реБрдд рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд╣реБрдЖ: рд╕рд╛рджрдЧреА рдФрд░ рд╕реНрдкрд╖реНрдЯрддрд╛, рдкреИрдорд╛рдиреЗ рдХреА рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, рдПрдХ рднрдпрд╛рдирдХ рд░рд╛рдХреНрд╖рд╕ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ (рдЕрдкрдиреА рднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ рдЬрдм рдЖрдкрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдХрдлрд╛рдЗрд▓ рдЦреЛрд▓рд╛ рдерд╛)ред
рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рд▓рдЧрд╛рддрд╛рд░ рдЕрдирджреЗрдЦреА, рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЧрдИ рдЖрдИрдбреАрдИ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рдЗрд╕ 'рдЕрддреАрдд рдХреЗ рдЕрд╡рд╢реЗрд╖' (рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЖрд▓рд╕реНрдп) рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЕрдирд┐рдЪреНрдЫрд╛ рдХреЗ рдХрд╛рд░рдг рдереАред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпреЗ рд╕рднреА рдХрд╖реНрдЯрдкреНрд░рдж рдмрдЯрди, рдореЗрдиреВ рдЗрддреНрдпрд╛рджрд┐ред рд╡рд┐рднрд┐рдиреНрди рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдиреЗ рдореБрдЭреЗ рдЙрд╕ рдХрд╛рд░реНрдп рдкрджреНрдзрддрд┐ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреА рддрд▓рд╛рд╢ рдХреА рдЬреЛ рдореИрдВрдиреЗ рдЕрдм рддрдХ рдЕрднреНрдпрд╛рд╕ рдХреА рд╣реИред рдирд╣реАрдВ, рдореИрдВ рдПрдХ рдЧреБрд░реБ рдирд╣реАрдВ рдмрдирд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЬреЛ рдЬреНрдЮрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╡рд╣ рдореЗрд░реА рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╣реИред рдпрд╣ рд▓реЗрдЦ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬреЛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЦреБрдж рдХреЛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдХреЛрдЬрд┐рдХ рд╡рд┐рдВрдбреЛ рдХреА рджрд╛рд╕рддрд╛ рдХреЛ рддрдкрд╕реНрд╡реА рд╕реЗ рдореБрдХреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдХреНрдд рдЦреЛрд▓ рджреБрдирд┐рдпрд╛ рдореЗрдВред
рдмрдирд╛рдУ- рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА
рдПрдХ рдлрд╛рдЗрд▓ рдХреЛ рдПрдХ рдлреЙрд░реНрдо рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИред рдкрд░рд┐рд╡рд░реНрддрди рдирд┐рдпрдореЛрдВ рдХреЛ рдореЗрдХрдлрд╛рдЗрд▓ рдирд╛рдордХ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рдЬрдбрд╝ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрд╡рдпрдВ рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ:
1) рд▓рдХреНрд╖реНрдп (рдпрд╣ рдирд┐рдпрдо рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ);
2) рдЕрдкреЗрдХреНрд╖рд┐рдд (рдирд┐рдпрдо рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдФрд░ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ);
3) рдЯреАрдореЛрдВ (рд░реВрдкрд╛рдВрддрд░рдг рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рди)ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЗрдХрдлрд╛рдЗрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдЕрд░реНрдерд╛рддреН, рдирд┐рдпрдо рддреАрди рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рд╣реИ:
{ ? ()} ---> [ ? ()] ---> { ? ()}
рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЗрд╕ рдпреЛрдЬрдирд╛ рдкрд░ рдЕрдиреБрд╡рд╛рдж рдФрд░ рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рд╣реИрдВ:
{ } ---> [] ---> { }
{ } ---> [] ---> { }
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдореЗрдХрдЕрдк
рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ:
#include <stdio.h> int main() { printf("Hello World!\n"); return 0; }
рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдореЗрдХрдлрд╛рдЗрд▓ рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
hello: main.c gcc -o hello main.c
рдЗрд╕ рдореЗрдХрдлрд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдирд┐рдпрдо рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрджрд▓реЗ рдореЗрдВ рдПрдХ рд▓рдХреНрд╖реНрдп рд╣реЛрддрд╛ рд╣реИ - "рд╣реИрд▓реЛ", рд╕рд╣рд╛рд░рд╛ - "main.c", рдФрд░ рдПрдХ рдХрдорд╛рдВрдб - "gcc -o hello main.c"ред рдЕрдм, рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рд░реНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдореЗрдХ рдХрдорд╛рдВрдб рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдирд┐рд╖реНрдкрд╛рджрди рд▓рдХреНрд╖реНрдп рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдкрд╣рд▓реЗ рдирд┐рдпрдо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛:
$ make <>
рдХрдИ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд╕рдВрдХрд▓рди
рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ рдЬрд┐рд╕рдореЗрдВ 2 рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ:
main.c
int main() { hello(); return 0; }
рдФрд░ рдирдорд╕реНрддреЗ
#include <stdio.h> void hello() { printf("Hello World!\n"); }
рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╕рдВрдХрд▓рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
hello: main.c hello.c gcc -o hello main.c hello.c
рдпрд╣ рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рджреЛрд╖ рд╣реИ: рдЬреЛ рдПрдХ - рд╣рдо рдЖрдЧреЗ рдЦреЛрд▓реЗрдВрдЧреЗред
рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╕рдВрдХрд▓рди
рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рджрд░реНрдЬрди рдпрд╛ рджреЛ рд╕реНрд░реЛрдд рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЗрд╕рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрд╕ рддрдереНрдп рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рдорд┐рд▓реЗрдЧрд╛ рдХрд┐, рдЕрдкрд╡рд╛рдж рдХреЗ рдмрд┐рдирд╛, рд╕рднреА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдкреБрдирд░реНрд╕рдВрдпреЛрдЬрди рдХреЗ рд╕рдордп рдХреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рд╕рдорд╛рдзрд╛рди рдХреЛ рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╣реИ: рдЕрдиреБрд╡рд╛рдж рдЪрд░рдг рдФрд░ рд▓рд┐рдВрдХрд┐рдВрдЧ рдЪрд░рдгред
рдЕрдм рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдФрд░ рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЙрд╕реА рд╕рдордп, рд╣рдо рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рдЪрд░рдг рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╕рдВрдХрд▓рди рдХрд╛ рд╕рдордп рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╕рдВрдХрд▓рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд╕рдордп рдФрд░ рдЙрдирдХреЗ рд╡рд┐рд╡рд░рдг (рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ, рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рд╕рд╕реЗ рдпрд╣ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд┐рди рд▓реЛрдЧреЛрдВ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:
main.o: main.c gcc -c -o main.o main.c hello.o: hello.c gcc -c -o hello.o hello.c hello: main.o hello.o gcc -o hello main.o hello.o
рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓рдХреНрд╖реНрдп рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрд░реНрдерд╛рддред рдХрдорд╛рдВрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирдорд╕реНрддреЗред
рдХреЗ рдмрд╛рдж- рдХрд┐рд╕реА рднреА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рджреВрд╕рд░реЗ рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди, рдХреЗрд╡рд▓ рд╕рдВрд╢реЛрдзрд┐рдд рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреА рдЬрд╛рдПрдЧреАред
рдореЗрдХ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рддреБрд░рдВрдд рд╣реИрд▓реЛ рд▓рдХреНрд╖реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, main.o рдФрд░ hello.o рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЕрднреА рддрдХ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдирд┐рдпрдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рджреЗрд░реА рд╣реЛрдЧреА рдФрд░ рд▓рд╛рдкрддрд╛ рдирд┐рдпрдореЛрдВ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпрдореЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдЧреАред рдПрдХ рдмрд╛рд░ рд╕рднреА рд╡рд┐рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрд╕реНрдердЧрд┐рдд рд▓рдХреНрд╖реНрдп рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ рдХрд┐ рдирд┐рдпрдореЛрдВ рдХреЛ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдХрд╛рд▓реНрдкрдирд┐рдХ рд▓рдХреНрд╖реНрдп
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╛рдЗрд▓реЗрдВ рд╣реА рд▓рдХреНрд╖реНрдп рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИрдВред рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛ UNIX рджреБрдирд┐рдпрд╛ рдореЗрдВ рджреЛ рдорд╛рдирдХ рдХрдорд╛рдВрдбреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
$ make $ make install
рдореЗрдХ рдХрдорд╛рдВрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдореЗрдХ рдХрдорд╛рдВрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдЖрд╡реЗрджрди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЪреАрдЬреЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдПрдВ)ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ, рд▓рдХреНрд╖реНрдп рдмрд┐рд▓реНрдХреБрд▓ рд╕реНрдерд╛рдкрд┐рдд рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЯреНрд░рд┐рдХреНрд╕ рд╣рдореЗрдВ рддрдерд╛рдХрдерд┐рдд рдлреЛрдиреА рдЧреЛрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдорд╛рдирдХ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА рд╣реИ:
- рд╕рднреА - рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓рдХреНрд╖реНрдп рд╣реИред рдЬрдм рдореЗрдХрдЕрдк рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рд╕рдВрдХрд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреНрд░рд╛рдкреНрдд рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╕рд╛рдл рдХрд░реЗрдВред
- рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ - рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
- рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ - рдФрд░ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░реЗрдВред
рдРрд╕реЗ рдирд╛рдореЛрдВ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддрд▓рд╛рд╢ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ .PHONY рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдХрдлрд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдирд┐рдореНрди рд╕рднреА рдХреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ Makefile, рдХреНрд▓реАрди, рдЗрдирд╕реНрдЯреЙрд▓ рдФрд░ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓:
.PHONY: all clean install uninstall all: hello clean: rm -rf hello *.o main.o: main.c gcc -c -o main.o main.c hello.o: hello.c gcc -c -o hello.o hello.c hello: main.o hello.o gcc -o hello main.o hello.o install: install ./hello /usr/local/bin uninstall: rm -rf /usr/local/bin/hello
рдЕрдм рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд / рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдордХрд╛рдЬреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рднреА рд╕рд╛рдлрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рднреА рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рд╕рднреА рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рд╡рд╣ рд╣реЗрд▓реЛ рдкреНрд░реЙрдкреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗред рдмрдирд╛рдиреЗ рдХреА рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкреНрд░рдХреГрддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧреАред рдЖрдкрдХреЛ рдЗрд╕ рддрдереНрдп рдкрд░ рднреА рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рд╣реЗрд▓реЛ рдлрд╝рд╛рдЗрд▓ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ (рдкрд┐рдЫрд▓реЗ рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж рдмрдиреА рд╣реБрдИ рд╣реИ) рдФрд░ рдЙрд╕рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдореЗрдХ рдХрдорд╛рдВрдб
рдХреБрдЫ рднреА рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ ред рдпрд╣ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдореЗрдХ рд░реЗрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдХрд░ рдЬрд┐рд╕реЗ рдЧрд▓рддреА рд╕реЗ рд╡рд┐рд╡рд░рдг рдХреА рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рд┐рд░рджрд░реНрдж рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреВрд░реНрдг рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
$ make clean $ make
рдЗрдВрд╕реНрдЯреЙрд▓ / рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ sudo рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЪрд░
рдбреАрдЖрд░рд╡рд╛рдИ (рдЦреБрдж рдХреЛ рджреЛрд╣рд░рд╛рдПрдВ рдирд╣реАрдВ) рдирд┐рдпрдо рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╕рднреА рд▓реЛрдЧреЛрдВ рдиреЗ рд╢рд╛рдпрдж рджреЗрдЦрд╛ рдХрд┐ рдХреБрдЫ рдЧрд▓рдд рдерд╛, рдЕрд░реНрдерд╛рддреН, рд╣рдорд╛рд░реЗ рдореЗрдХрдлрд╛рдЗрд▓ рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рджреЛрд╣рд░рд╛рдП рдЧрдП рдЯреБрдХрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдпрд╛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рджреМрд░рд╛рди рднреНрд░рдо рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЪрд░ рдФрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИрдВ; рдореЗрдХ рднреА рд╕рдорд╛рди рдЙрдкрдХрд░рдг рд╣реИред рдореЗрдХ рдЗрди рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
<VAR_NAME> = <value string>
рдПрдХ рдЕрд▓рд┐рдЦрд┐рдд рдирд┐рдпрдо рд╣реИ рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдКрдкрд░реА рдорд╛рдорд▓реЗ рдореЗрдВ рдЪрд░ рдХрд╛ рдирд╛рдо рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
SRC = main.c hello.c
рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред рдПрдХ рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, $ (<VAR_NAME>) рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП; рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
gcc -o hello $(SRC)
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рдореЗрдХрдлрд╛рдЗрд▓ рд╣реИ рдЬреЛ рджреЛ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ: рд▓рдХреНрд╖реНрдп - рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдирд╛рдо рдФрд░ PREFIX - рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрде рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
TARGET = hello PREFIX = /usr/local/bin .PHONY: all clean install uninstall all: $(TARGET) clean: rm -rf $(TARGET) *.o main.o: main.c gcc -c -o main.o main.c hello.o: hello.c gcc -c -o hello.o hello.c $(TARGET): main.o hello.o gcc -o $(TARGET) main.o hello.o install: install $(TARGET) $(PREFIX) uninstall: rm -rf $(PREFIX)/$(TARGET)
рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдЪрд▓рд┐рдд рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЪрд░
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЪрд░ рдХреЛ рдореЗрдХрдлрд╛рдЗрд▓реНрд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╡реЗ рдЕрдкрдиреА рдкрдардиреАрдпрддрд╛ рдХреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЪрд░ рджреЗ рджреВрдВрдЧрд╛, рдФрд░ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдФрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ) рдЖрдк рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ:
- $ @ рдирд┐рдпрдо рдХрд╛ рд▓рдХреНрд╖рд┐рдд рдирд╛рдо рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
- $ <рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╢рд╛рд╕рди рдХреА рдкрд╣рд▓реА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирд╛рдо
- $ ^ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпрдо рдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреА рд╕реВрдЪреА
рдЕрдЧрд░ рдХреЛрдИ рднреА рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рдкреНрд░реЗрд░рдгрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЪрд░рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдореЗрдХрдЕрдк рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрдиреЗ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдЗрд╕ рд╕рдордп-рдкрд░реАрдХреНрд╖рдгрд┐рдд рдЙрдкрдХрд░рдг рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдЧреАрдереВрдм рдкрд░ рд╕рднреА рдЙрджрд╛рд╣рд░рдгрдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╕реНрд╡рд╛рдж рд▓рд┐рдпрд╛ рд╣реИ:
рдУрдкрдирдиреЗрдЯ рдореЗрдХрдлрд╛рдЗрд▓ рдорд┐рдиреА HOWTOGNU рдореЗрдХ рд░рд┐рдЪрд░реНрдб рдПрдоред рд╕реНрдЯреЗрд▓рдореИрди рдФрд░ рд░реЛрд▓реИрдВрдб рдореИрдХрдЧреНрд░рд╛рде, рдЕрдиреБрд╡рд╛рдж ┬й рд╡реНрд▓рд╛рджрд┐рдореАрд░ рдЗрдЧреНрдирд╛рдЯреЛрд╡, 2000рдЬреАрдПрдирдпреВ рдореЗрдХ рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдЙрдкрдпреЛрдЧ