ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ makefile Π² linux
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ makefile Π² linux
Make-ΡΠ°ΠΉΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠ΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Ρ.
ΠΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΡΠΆΠ°Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ΅Π»ΠΈ, ΡΡΠΎ ΠΈ Make.
ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΡΠ΅ΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΏΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ C/C++.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π³ΡΠ°ΡΠΈΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Make.
ΠΡΠ°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
wikipedia.org
Π€ΠΎΡΠΌΠ°Ρ
target: prerequisites recipe
Π’ΠΈΠΏΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ β Π²ΡΠΏΠΎΠ»Π½ΡΡΠ΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠ°ΡΠ³Π΅Ρ ΡΠ°ΠΉΠ».
ΠΠ°ΠΊ ΠΈ Π² ΡΡΠ°ΡΡΠ΅ Configure, make, install Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ΅Π»ΠΈ (target)
.PHONY
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Makefile
.PHONY: site site: echo «HeiHei.ru»
ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ
Π£Π΄Π°Π»ΠΈΡΠ΅ site ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π° Π²ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π΅ ΡΡΠΎΠ³Π°ΠΉΡΠ΅
ΠΡΠΎΠ΄Π΅ Π±Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» site ΡΡΠ΄ΠΎΠΌ Ρ Makefile
touch site
make site
make: ‘site’ is up to date.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΡΠ³Π΅Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ make Π½Π΅ Π½Π°ΡΡΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°Π». ΠΠ·-Π·Π° ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅Π»ΠΈ (target) ΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΠ°ΠΉΠ»Π° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ.
ΠΠ»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΠ°ΠΊΠΈΡ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ PHONY
Π’Π°ΠΊΠΆΠ΅ PHONY ΡΠ΄ΠΎΠ±Π΅Π½ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ Π²ΡΠ΅ ΡΠ΅Π»ΠΈ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΠΉΠ»Π°. ΠΡΠΎ ΡΠ»ΡΡΡΠ°Π΅Ρ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π°. (Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ)
ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ· C++
Functions.cpp Functions.h Main.cpp
#include #include «Functions.h» int main()
double add( double x, double y)
#pragma once double add(double x, double y);
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ, Π·Π°ΡΠ΅ΠΌ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Makefile ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Vim
touch Makefile
vi Makefile
Makefile Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» output
To Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Main execute
ΠΠΎΡΠ²ΠΈΡΡΡ ΡΠ°ΠΉΠ» Main.o Π½ΠΎ Π½Π΅ ΠΏΠΎΡΠ²ΡΡΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ (Functions.o, output)
Functions.cpp Functions.h Main.cpp Main.o Makefile
ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make Main.o ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΏΠΎΡΠ΅ΠΌΡ Π² Make-ΡΠ°ΠΉΠ»Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½ ΡΠ΅Π»ΠΈ (target)
ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ make Main.o Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π° ΡΠ°Π³Π°.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ make Π΅ΡΠ»ΠΈ Π΅ΡΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ ΠΈ Π½Π΅ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ clean
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΡΡΠ½ΠΊΡΠΈΡ Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΅Ρ Π² ΡΠ°ΠΉΠ»Π°Ρ Functions.*
ΠΡΠ·ΡΠ²Π°ΡΡ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Main.cpp ΠΎΡΡΠ°ΡΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Main.cpp Π½Π΅ Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π½ΡΠΌ Π½Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π’Π°ΠΆΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° output ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ.
ΠΠ΅ Π²Π½ΠΎΡΠΈΡΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»Ρ ΠΈ execute
make: ‘output’ is up to date.
ΠΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π½Π΅ Π½ΡΠΆΠ½Π° ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠ°ΠΏΡΡΡΠΈΡΡ Docker container ΠΈΠ· Makefile
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°ΡΡΡ
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΡ Make
?= ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
:= ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
BUILD_ID
To Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ BUILD_ID
USER_ID
To ΠΏΠΎΠ»ΡΡΠΈΡΡ ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΡΡΡΠΈΠ²ΡΠ΅Π³ΠΎ GNUmakefile
ΠΠ°ΠΊΠΈΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Make ΡΡΡΠ΅ΡΡΠ²ΡΡΡ
ΠΠ»Ρ Java Π΅ΡΡΡ Ant, Maven ΠΈ Gradle.
ΠΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Go ΠΈ Rust, ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ±ΠΎΡΠΊΠΈ.
Π¦Π΅Π»Ρ Makefile ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Ρ, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ.
ΠΠΎ ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΉΠ»Ρ Π½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΌΠ΅Π½ΡΡΡΡΡ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΌΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² C
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ gcc
-c ΡΡΠΎ ΠΎΠΏΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈ Π·Π΄Π΅ΡΡ
whoami
Π Make ΡΠ°ΠΉΠ»Π΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ. ΠΡΡΡ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π² Linux: MAKE
Π£ΡΠΈΠ»ΠΈΡΠ° make Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ make ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ C-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ make Ρ Π»ΡΠ±ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ make Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅e Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π»ΡΠ±ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π³Π΄Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ .
Makefile
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ make, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ», Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ make-ΡΠ°ΠΉΠ»ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π C++ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ².
ΠΠ»Ρ make-ΡΠ°ΠΉΠ»ΠΎΠ² Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Ρ ΠΈΠΌΠ΅Π½Π° GNUmakefile, makefile ΠΈ Makefile, ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΠΎΠΈΡΠΊ ΠΈΠ΄Π΅Ρ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΈΠΌΡ, ΡΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ²Π½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΎΠΏΡΠΈΡ -f.
ΠΠΎΠ³Π΄Π° make-ΡΠ°ΠΉΠ» ΡΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½, Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π³Π΄Π΅ ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ make.
ΠΡΠΎΡΡΠΎΠΉ make-ΡΠ°ΠΉΠ» ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΡΠ°Π²ΠΈΠ» (ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ) ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
ΠΠ°ΠΏΡΡΠΊ make
ΠΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ.
ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ MAKE
ΠΡΠ°Π²ΠΈΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Makefile
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
Π ΠΠΠΠΠΠΠΠ₯ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π»ΠΈ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΡΠ°Π²ΠΈΠ»Π°.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
$@ | ΠΠΌΡ ΡΠ°ΠΉΠ»Π° ΡΠ΅Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°. Π ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π΅ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅Π»ΡΠΌΠΈ,ΠΈΠΌΡ ΡΠΎΠΉ ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·Π²Π°Π»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡΠ°Π²ΠΈΠ»Π°. |
$ make clean ΠΠ»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π½Π΅ΡΠ²Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°) ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ objects ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π° Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² make Π²ΡΡΡΠΎΠ΅Π½ΠΎ Π½Π΅ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π»Ρ .PHONY ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² make ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΈ-ΠΈΠΌΠ΅Π½Π°, ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ»ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ, ΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠ°ΠΉΠ»Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ clean Π·Π°Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ make clean. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈΠ»Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ: Makefile Π΄Π»Ρ ΡΠ°ΠΌΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡΠΠ΅ ΠΎΡΠ΅Π½Ρ ΡΡΡΠΎΠ³ΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° mrbook.org/tutorials/make ΠΠ½Π΅ Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ Ρ
Π²Π°ΡΠΈΠ»ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ
Π²Π΅ΡΠ΅ΠΉ ΠΎ make. ΠΡΠΌΠ°Ρ, Π±ΡΠ΄Π΅Ρ Ρ
ΠΎΡΡ ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. Π₯ΠΎΡΡ ΡΡΠ° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΈ ΠΎΡΠΌΠΈΡΠ°Π΅Ρ, Π½ΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
. Π‘ΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ°ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C/C++ Π² UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΎΡ ΡΠ°ΠΌΡΡ ΠΊΠΎΡΠ½Π΅ΠΉ, Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ IDE. ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΡΠΊΠ°ΠΌΠΈ β Π·Π°Π½ΡΡΠΈΠ΅ Π²Π΅ΡΡΠΌΠ° ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ Π½Π°Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π½Π°Π±ΠΈΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ. ΠΠΎ Π½Π΅ Π²ΡΠ΅ ΡΠ°ΠΊ ΠΏΠ»ΠΎΡ ΠΎ. Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΈΡΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Ρ. Makefile β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ make, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π² ΠΎΠ΄Π½ΠΎ ΠΊΠ°ΡΠ°Π½ΠΈΠ΅. ΠΠ»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠΊΠΎΠΏΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π°-Π»Ρ Hello World ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅: ΠΡΠ΅ ΡΠΊΠΎΠΏΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΡΡΡΠ΄Π° ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° makeΠΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π±Π΅ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ· Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΠ°ΡΠ΅ΠΌ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊ Π±Π΅ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ· Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». Π‘Π±ΠΎΡΠΊΠ° = ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ + Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠ°. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠΊΠ°ΠΌΠΈΠ‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈ: ΠΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅ΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π²Π΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ. ΠΡΠΈΠΌΠ΅Ρ: ΠΡΠΎ Π½Π°Π΄ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Makefile-2 Π²ΡΠ΅ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ΄ΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΈΠ»ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠΏΡΠΈΡΠΌΠΈ. Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ Π΄Π°Π»ΡΡΠ΅ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΡΠ°ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠ°ΠΆΠ° ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ°Π»ΡΡΠ΅ Π½Π°Π΄ΠΎ ΡΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΡΡΠ΅Π±Π½ΠΈΠΊΠΈ ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°. ΠΠ°ΠΊ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π°ΠΊΠΊΠΎΡΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΈ ΠΎΡΠΎΠ·Π½Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π² Π΄Π²Π° ΠΊΠ°ΡΠ°Π½ΠΈΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ: ΠΡΠΎΡΡΠΎ ΠΎ makeΠΠ΅Π½Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°Π» ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌ. ΠΠ΄Π΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ΄Π½Π° Π²Π΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ΄Π½Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΅Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»ΡΡΡΠ΅, Π²ΡΠ»ΠΈΠ»Π°ΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ UNIX. Π Ρ ΠΎΡΡ UNIX Π΄Π°Π²Π½ΠΎ ΡΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ Π½Π°Π·Π²Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π΄Π° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌ Π² Π½Π΅ΠΉ ΡΠ·ΡΠ΅ΡΡ Π½Π΅ ΡΠ°ΠΊ ΡΠΎ ΠΏΡΠΎΡΡΠΎ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ- ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΡΠΎΡΡΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΡ Π²Π΅ΡΠ΅ΠΉ Π² ΠΎΠ΄Π½Ρ Π²Π΅ΡΡΠΌΠ° Π½Π΅ΠΏΡΠΎΡΡΡΡ ΠΈ Π½Π΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΡ. Π ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠΈ make ΠΏΡΠΎΡΠ΅Π» ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΡΡΡ: ΠΏΡΠΎΡΡΠΎΡΠ° ΠΈ ΡΡΠ½ΠΎΡΡΡ, Ρ ΡΠΎΡΡΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΎΠ², ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»Π°ΡΡ Π² ΠΆΡΡΠΊΠΎΠ³ΠΎ ΠΌΠΎΠ½ΡΡΡΠ° (Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΠΎΡΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΎΡΠΊΡΡΠ»ΠΈ ΠΌΡΠΉΠΊΡΠ°ΠΉΠ»). ΠΠΎΠ΅ ΡΠΏΠΎΡΠ½ΠΎΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ make Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π±ΡΠ»ΠΎ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ IDE, ΠΈ Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ ‘ΠΏΠ΅ΡΠ΅ΠΆΠΈΡΠΊΠ΅ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ’ (ΠΏΠΎ ΡΡΡΠΈ β Π»Π΅Π½ΡΡ). ΠΠ΄Π½Π°ΠΊΠΎ, Π²ΡΠ΅ ΡΡΠΈ Π½Π°Π΄ΠΎΠ΅Π΄Π»ΠΈΠ²ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈ, ΠΌΠ΅Π½ΡΡΠΊΠΈ ΠΈΡ.ΠΏ. Π°ΡΡΠΈΠ±ΡΡΡ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΡΡΠ΄ΠΈΠΉ, Π·Π°ΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΌΠ΅Π½Ρ ΠΈΡΠΊΠ°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°Π» Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ. ΠΠ΅Ρ, Ρ Π½Π΅ ΡΡΠ°Π» Π³ΡΡΡ make, Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΌΠ½ΠΎΡ Π·Π½Π°Π½ΠΈΠΉ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΌΠΎΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Ρ Π΅ΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅Π΄Π°Π²Π½ΠΎ, ΠΆΠ΅Π»Π°ΡΡ Π²ΡΡΠ²Π°ΡΡΡΡ ΠΈΠ· ΡΡΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°Π±ΡΡΠ²Π° Π² Π°ΡΠΊΠ΅ΡΠΈΡΠ½ΡΠΉ, Π½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΠΌΠΈΡ ΡΠ΅Π»Π»Π°. Make- ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡmake β ΡΡΠΈΠ»ΠΈΡΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΌΡ Π² Π΄ΡΡΠ³ΡΡ. ΠΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°ΡΡΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Makefile, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΊΠΎΡΠ½Π΅ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π‘Π°ΠΌ ΡΠΊΡΠΈΠΏΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ: 1) ΡΠ΅Π»ΡΠΌΠΈ (ΡΠΎ, ΡΡΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π΅Π»Π°Π΅Ρ); Π ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ makefile ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊ: Π’ΠΎ Π΅ΡΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΠΎ make ΡΡΠΎ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΠ°: ΠΠ΅ΡΠ»ΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΈΠ²ΠΎ Π»ΠΎΠΆΠ°ΡΡΡ Π½Π° ΡΡΡ ΡΡ Π΅ΠΌΡ: ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ MakefileΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠΎΡΡΠΎΡΡΠ°Ρ Π²ΡΠ΅Π³ΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°: ΠΠ»Ρ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΌΡΠΉΠΊΡΠ°ΠΉΠ»Π°: ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠΎΡΡΠΎΡΡΠ°Ρ ΠΈΠ· 2 ΡΠ°ΠΉΠ»ΠΎΠ²: Makefile, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ: ΠΠ½ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π΅Π½, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ: ΠΊΠ°ΠΊΠΎΠΉ β ΡΠ°ΡΠΊΡΠΎΠ΅ΠΌ Π΄Π°Π»Π΅Π΅. ΠΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π΅ΡΡΡΠΊΠ°- Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡ Π²Π½ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ , ΠΈ Ρ ΠΎΡΠΈΠΌ Π΅Π΅ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°ΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²ΡΠ΅ Π±Π΅Π· ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΡΠ½ΠΎΠ²Π° ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Ρ, ΡΡΠΎ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ β ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π½Π° Π΄Π²Π° ΡΡΠ°ΠΏΠ°: ΡΡΠ°ΠΏ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΠΈ ΡΡΠ°ΠΏ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ. Π’Π΅ΠΏΠ΅ΡΡ, ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΡΠ°ΠΏ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ Π½Π΅ Π·Π°ΡΡΠΎΠ½ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ², ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² ΡΠ΅Π»ΠΎΠΌ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ. ΠΠ»Ρ Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ make ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΈΡ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ² (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ), Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ΅ΠΌΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ°Π΅Ρ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ: ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠΎΠ±ΡΠ°ΡΡ ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ»Ρ Π΅Π³ΠΎ ΡΠ±ΠΎΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»Ρ, Ρ.Π΅. Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make hello. ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° make ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π»Ρ hello, Π½ΠΎ Π΄Π»Ρ Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΡΠ°ΠΉΠ»Ρ main.o ΠΈ hello.o, ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΊΠ° Π΅ΡΠ΅ Π½Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΎ ΠΈ make ΡΡΠ°Π½Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΡ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ². ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ, make Π²Π΅ΡΠ½Π΅ΡΡΡ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΠΈ. ΠΡΡΡΠ΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ make Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ. Π€ΠΈΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅Π»ΠΈΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ make ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠ΅, ΠΊΠΎΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π΄Π²ΡΠΌΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ Π² ΠΌΠΈΡΠ΅ UNIX ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ: ΠΠΎΠΌΠ°Π½Π΄ΠΎΠΉ make ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ make install β ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» (Π·Π°Π±ΡΠ΄Π΅ΠΌ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΎ ΡΠΊΡΠΈΠΏΡΠ΅ configure). ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ΅Π»Ρ, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ΅Π»ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° install, Π° ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΎΠΊΡΡΡ Π½Π°ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΈΠΊΡΠΈΠ²Π½ΡΠ΅ (phony) ΡΠ΅Π»ΠΈ. ΠΠΎΡ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ: Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ±ΡΠ°ΡΡ Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΅Π΅ ΠΈΠ½ΡΡΠ°Π»Π»ΡΠΈΡ/Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΡΠΈΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ make ΡΠ΅Π»ΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π² ΡΠ΅Π»ΠΈ all Π½Π΅ ΡΠΊΠ°Π·Π°Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ; Π²ΡΠ΅ ΡΡΠΎ Π΅ΠΉ Π½ΡΠΆΠ½ΠΎ β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡ hello. ΠΠ½Π°Ρ ΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΎΠ΄Π΅ make, Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ. Π’Π°ΠΊ ΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡ ΠΎΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» hello ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ (ΠΎΡΡΠ°Π»ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ) ΠΈ Π΅Π³ΠΎ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΡ Π½Π΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ, ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° make Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΠΈΡΠ°ΡΡ. ΠΡΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π³ΡΠ°Π±Π»ΠΈ make. Π’Π°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠ»Π³ΠΈΠ΅ ΡΠ°ΡΡ Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Π±ΠΎΠ»ΠΈ. ΠΠΎΡΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΈΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³: ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Π»Π΅ΠΉ install/uninstall Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ sudo. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ΠΡΠ΅ ΡΠ΅, ΠΊΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ DRY (Don’t repeat yourself), Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠΆΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ Π½Π΅Π»Π°Π΄Π½ΠΎΠ΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β Π½Π°Ρ Makefile ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΠΎΠΏΡΡΠΊΠ°Ρ Π΅Π³ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. Π ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Ρ Π½Π°Ρ ΠΈΠΌΠ΅ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ; make ΡΠΎΠΆΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² make ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ: Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅Π³Π»Π°ΡΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΌΡΠΉΠΊΡΠ°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅: TARGET β Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ PREFIX β Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΎ ΡΠΆΠ΅ ΠΏΠΎΡΠΈΠΌΠΏΠ°ΡΠΈΡΠ½Π΅ΠΉ. ΠΡΠΌΠ°Ρ, ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ Π²Π°Ρ Π² ΠΎΡΠΎΠ±ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ Π½Π΅ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»ΠΎΠ², Π½ΠΎ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΈΡ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΊ Π±Ρ ΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ, Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π·Π΄Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π° ΡΡΠΎ Ρ Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°ΡΡ (ΠΈ Π΄Π΅Π»Π°ΡΡ Π»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅) ΡΠ΅ΡΠ°ΡΡ Π²Π°ΠΌ: Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Makefile ΠΈ ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Π ΠΆΠΈΠ·Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π°ΠΉΠ΄ΡΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ Π΄Π΅Π½Ρ Ρ Π½ΠΎΠ²ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ. ΠΠΎΡΠ»Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΡΡΡΠΏΠ°Π΅Ρ ΡΡΠ°ΠΏ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠ»Π°Π³Π°ΠΌΠΈ ΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ΅Π· ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΡΡ ΡΠ°ΡΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΈ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ Π΄Π»ΠΈΠ½Π½ΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»Π°Π³ΠΎΠ², Π° Π·Π½Π°ΡΠΈΡ, ΠΈΡ ΡΡΡΠ΄Π½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, Π½ΠΎ ΠΈ Π²Π²ΠΎΠ΄ΠΈΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²Π΅ΡΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Ρ ΡΠΎΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΠ½Π° Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΡΡΡΠ°ΡΠ΅Π²Π°Π΅Ρ, Π° ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΡΠ΅, Π²Π΅Π΄Ρ ΡΠΆΠ΅ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ Π²ΡΠ΅Ρ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ, ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² Π΄Π΅Π½Ρ. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ make ΠΈ MakefileMakefile β ΡΡΠΎ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² ΠΊΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ½ Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄. ΠΠ΅ΠΉΠΊΡΠ°ΠΉΠ» ΡΠΊΡΡΠ²Π°Π΅Ρ Π·Π° ΡΠΎΠ±ΠΎΠΉ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠ°ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ βΠΏΠΎ ΠΏΠΎΠ»ΠΎΡΠΊΠ°ΠΌβ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π° ΡΡΠΈΠ»ΠΈΡΠ° make Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡ ΠΈΠ· ΡΠΎΠ³ΠΎ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ make ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»Π°ΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ½Π° ΠΏΠΎΡΡΠ°Π²Π»ΡΠ»Π°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ *nix Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ², ΡΡΠΎ ΠΈ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π΅Ρ ΡΠΈΡΠΎΠΊΠΎΠΌΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ·ΠΆΠ΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ²ΠΎΡΠΌ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠ΅ΠΌ ΠΆΠ΅ Π·Π°Π΄Π°ΡΠ°ΠΌ β Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΉΠΊΠ° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΡΡΠ°Π»ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΡΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Ρ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΊΠ°ΠΊ Kubernetes, Babel, Ansible ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ Π½Π° Π₯Π΅ΠΊΡΠ»Π΅ΡΠ΅. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Makefilemake Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅Π»ΠΈ ΠΈΠ· Makefile, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄: ΠΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ» Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡ ΠΎΡ Π΅Π³ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΡΠ΅Π»ΠΈ, Π° ΡΠ΅Π»ΡΠΌ Π΄Π°ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°. ΠΠΎΠ½Π°ΡΠ°Π»Ρ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Makefile ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ²Π°Π»ΠΊΠ΅ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠ΄Π½Ρ ΡΠ΅Π»Ρ Ρ Β«ΡΠ°Π·ΠΌΡΡΡΠΌΒ» Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ: ΠΠ΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ΅Π»ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅Π»ΠΈ: Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ: ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Makefile, ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ»Π°Π³Π°ΠΌΠΈ ΡΠ²Π΅Π΄Π΅Π½Ρ Π² Makefile. ΠΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ ΡΠ·ΡΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Π€Π°Π»ΡΡΠΈΠ²Π°Ρ ΡΠ΅Π»ΡΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊΠ‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ (Π½ΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ) ΡΠΏΠΎΡΠΎΠ± Β«Π·Π°Π³Π»ΡΡΠΈΡΡΒ» ΠΎΡΠΈΠ±ΠΊΡ β ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠΠ ΠΏΡΡΠΌΠΎ Π² ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π΅: ΠΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Ρ Π°ΠΊΠΈ ΡΡΠΎΠΈΡ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Β«Π²ΡΡΡΡΠ΅Π»ΠΈΡΡ ΡΠ΅Π±Π΅ Π² Π½ΠΎΠ³ΡΒ» Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ . ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ΠΠ°ΡΠ°ΡΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΡΡΠ΅ΠΉ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ make ΡΠΎΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΈΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π²Π½ΡΡΡΠΈ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅: ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΈΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π°. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΠΌΠ΅ΠΉΠΊΡΠ°Π»Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Β«ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π΅ΠΉΒ» ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°ΠΌΠΈ ΡΠ·ΡΠΊΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ. Π¨ΠΈΡΠΎΠΊΠ°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΈ ΠΎΠ±ΡΠ°Ρ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π½Π΅Π΄ΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΎΠΊ. ΠΠΎ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΡΠΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π³Π°ΠΉΠ΄Π°:
|