ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° make
Makefile Π΄Π»Ρ ΡΠ°ΠΌΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ
ΠΠ΅ ΠΎΡΠ΅Π½Ρ ΡΡΡΠΎΠ³ΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° mrbook.org/tutorials/make ΠΠ½Π΅ Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ Ρ
Π²Π°ΡΠΈΠ»ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ
Π²Π΅ΡΠ΅ΠΉ ΠΎ make. ΠΡΠΌΠ°Ρ, Π±ΡΠ΄Π΅Ρ Ρ
ΠΎΡΡ ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. Π₯ΠΎΡΡ ΡΡΠ° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΈ ΠΎΡΠΌΠΈΡΠ°Π΅Ρ, Π½ΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
. ΠΠ°ΡΠΌΡ Π½Π° Ρ
Π°Π± Β«ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΒ» Π½Π΅ Ρ
Π²Π°ΡΠΈΠ»ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ β Π΄ΠΎΠ±Π°Π²Π»Ρ ΠΈ ΡΡΠ΄Π°. ΠΠΎΠ±Π°Π²ΠΈΠ» Π² ΠΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ. ΠΡΠ»ΠΈ Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠΈ, ΡΠΎ ΠΏΡΠΎΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π½Π° Π½ΠΈΡ
. ΠΡΠ΄Ρ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ.
Π‘ΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ°ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C/C++ Π² UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΎΡ ΡΠ°ΠΌΡΡ ΠΊΠΎΡΠ½Π΅ΠΉ, Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ IDE.
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΡΠΊΠ°ΠΌΠΈ β Π·Π°Π½ΡΡΠΈΠ΅ Π²Π΅ΡΡΠΌΠ° ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ Π½Π°Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π½Π°Π±ΠΈΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ. ΠΠΎ Π½Π΅ Π²ΡΠ΅ ΡΠ°ΠΊ ΠΏΠ»ΠΎΡ ΠΎ. Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΈΡΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Ρ. Makefile β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ make, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π² ΠΎΠ΄Π½ΠΎ ΠΊΠ°ΡΠ°Π½ΠΈΠ΅.
ΠΠ»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠΊΠΎΠΏΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π°-Π»Ρ Hello World ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅:
ΠΡΠ΅ ΡΠΊΠΎΠΏΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΡΡΡΠ΄Π°
ΠΠ²ΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠ·ΡΠΊ C++, Π·Π½Π°ΡΡ ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ g++ ΠΈΠ· gcc. ΠΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠΆΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ. Π€Π°ΠΉΠ»Ρ ΡΠ»Π΅Π³ΠΊΠ° ΠΏΠΎΠ΄ΠΏΡΠ°Π²Π»Π΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠΎΠ±ΠΈΡΠ°Π»ΠΈΡΡ gcc 4.7.1
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° make
ΠΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π±Π΅ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ· Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΠ°ΡΠ΅ΠΌ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊ Π±Π΅ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ· Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». Π‘Π±ΠΎΡΠΊΠ° = ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ + Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠ°.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠΊΠ°ΠΌΠΈ
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΠ΅ΠΉΠΊΡΠ°ΠΉΠ»
Π Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈ:
ΠΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅ΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π²Π΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ. ΠΡΠΈΠΌΠ΅Ρ:
ΠΡΠΎ Π½Π°Π΄ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Makefile-2 Π²ΡΠ΅ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ΄ΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΈΠ»ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠΏΡΠΈΡΠΌΠΈ.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ Π΄Π°Π»ΡΡΠ΅
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΡΠ°ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠ°ΠΆΠ° ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ°Π»ΡΡΠ΅ Π½Π°Π΄ΠΎ ΡΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΡΡΠ΅Π±Π½ΠΈΠΊΠΈ ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°. ΠΠ°ΠΊ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π°ΠΊΠΊΠΎΡΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΈ ΠΎΡΠΎΠ·Π½Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π² Π΄Π²Π° ΠΊΠ°ΡΠ°Π½ΠΈΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ:
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² make
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΡΡΠΎΡΠΈΡ, Π²Π°ΡΠΈΠ°Π½ΡΡ
Π£ΡΠΈΠ»ΠΈΡΠ° make ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΈΠ»ΠΈΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΈΠ»ΠΈΡΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»Π°ΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ C Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Unix, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ΅ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° Π² 1977 Π³ΠΎΠ΄Ρ.
ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Ρ ΡΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΡΠΈΠ»ΠΈΡΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠΈΠΌΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡ, Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΡΠ·ΡΠΊΠ° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ:
ΠΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ GNU make. ΠΠ° BSD ΡΠΈΡΡΠ΅ΠΌΠ°Ρ (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, FreeBSD, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠ°ΠΊ gmake, Π½Π° Linux β ΠΏΡΠΎΡΡΠΎ make).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ
Π£ΡΠΈΠ»ΠΈΡΠ° make ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ (rules), Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. ΠΡΠ°Π²ΠΈΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ΅Π»ΠΈ (targets), Π·Π°Π²ΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π»ΡΠΌΠΈ ΠΈ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅Π»ΠΈ.
Π¦Π΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. Π’Π°ΠΊΠΈΠ΅ ΡΠ΅Π»ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ phony targets.
ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»Π΅ΠΉ. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π»ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»Π΅ΠΉ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½Π° Π·Π°Π²ΠΈΡΠΈΡ.
Π ΡΠ»ΡΡΠ°Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π»ΡΠΌΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌ, ΡΠ΅Π»Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½Π° Π·Π°Π²ΠΈΡΠΈΡ, Π½ΠΎΠ²Π΅Π΅, ΡΠ΅ΠΌ ΡΠ°ΠΉΠ», ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅Π»ΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»Ρ, Π·Π°Π²ΠΈΡΡΡΠΈΠ΅ ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠΈ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, makefile ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π³ΡΠ°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΠΈΠ»ΠΈΡΠ° make Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΡΠ΅Π»Ρ, ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ±ΠΎΡΠΊΠΈ.
ΠΠ°ΠΏΡΡΠΊ make
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ make ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°. ΠΡΠ»ΠΈ ΡΠ΅Π»Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π»ΠΈΠ±ΠΎ ΡΠΊΠ°Π·Π°Π½Π° Π² ΡΠ°ΠΉΠ»Π΅ ΠΏΡΠ°Π²ΠΈΠ» ΡΠ²Π½ΠΎ, Π»ΠΈΠ±ΠΎ Π½Π΅ΡΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠ΅Π»Ρ.
Π―Π²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠ΅Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ DEFAULT_GOAL Π² Makefile :
ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅ΠΉ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π½ΠΈΠΆΠ΅). ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ make ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ :
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ PREFIX Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π² ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ Makefile ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΄ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΉ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ make
ΠΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π²Π½ΡΡΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΡΡΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ, Π½ΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ, make ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
PHONY targets
Π¦Π΅Π»ΠΈ, Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π°ΠΌ, ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π·Π°Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π² Makefile ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
Π make-ΡΠ°ΠΉΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Ρ ΠΎΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π΅Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΎΡΡ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π² makefile ΠΈΠ»ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΈΠ·Π²Π½Π΅.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ β ΡΡΠΎ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈΡΠ΅ΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΌΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ. ΠΠ°ΠΊΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅Π·Π΄Π΅ Π² ΡΠ΅ΠΊΡΡΠ΅ makefile.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ define :
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ www/js/script.js Π±ΡΠ΄Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΠ΅Ρ js-ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π΄Π»Ρ Π½Π°Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ:
Π‘ ΠΏΠΎΠ»Π½ΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ: Automatic Variables.
Π£ΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
Π Makefile ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΏΡΡΡ ΠΆΠ΅, ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΌΠ°ΠΊΡΠΎΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ make, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ makefile, Π° Π½Π΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
ΠΠΎΠ»Π½ΠΎΡΡΡΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ: Conditional syntax.
Π¨Π°Π±Π»ΠΎΠ½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°
Π¨Π°Π±Π»ΠΎΠ½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° (pattern rules) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π΄ΡΡΠ³ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π½Π° ΡΠ·ΡΠΊΠ΅ C:
Π¨Π°Π±Π»ΠΎΠ½Ρ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ ΠΈ Π² ΠΈΡ ΠΈΠΌΠ΅Π½Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-Π»ΠΈΠ±ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ pattern rule.
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² make
Π€Π°ΠΉΠ» make ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ make ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ include :
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠΎΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π²ΡΠΏΠΎΠ»Π½ΡΡΡ include Π²Π½ΡΡΡΠΈ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°.
Π€ΡΠ½ΠΊΡΠΈΠΈ
Make ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (ΠΌΠ°ΠΊΡΠΎΡΠ°Ρ ). ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ:
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ, ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ ΠΏΠΎ Π½Π°Π±ΠΎΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΠ· hive. ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ (ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ := :
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° container.mk ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ:
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ² ΠΈ ΡΡΡΡΠΈΠΊΡΠΎΠ² ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Functions.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠ΅Π½Ρ ΡΡΠΏΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ make
ΠΠΎΠΌΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° make, Makefile ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ» make Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ make-ΠΏΡΠΎΡΠ΅ΡΡΠ°.
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ°ΠΉΠ» ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ:
ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ make
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅Π»ΠΈ
Make ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ:
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎ make Π³ΠΎΠ²ΠΎΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° C/C++, Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, make Ββ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. ΠΠ°ΠΏΠΈΡΡΠ²Π°Ρ makefile, ΠΌΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΡΠΊ make Π±ΡΠ΄Π΅Ρ ΡΡΠ°ΡΠ°ΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ. ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π΅Π½, Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, shell) Π½Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ, ΠΏΠΎΠ»ΡΡΠ°Ρ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΈ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ phony targets, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΈ, ΠΏΠΎ ΡΡΡΠΈ, Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π΅ΠΊΠΈΠΉ (ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ) ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ Π°Π²ΡΠΎΠΌΠ°Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π². ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ make Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ°ΡΠΊΠ°ΡΠ° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ shell-ΠΊΠΎΠΌΠ°Π½Π΄, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠΎ ΡΡΡΠΈ Π½Π΅ΠΊΠΈΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ framework Π΄Π»Ρ shell Ρ Π³ΠΎΡΠΎΠ²ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (Π²ΡΠ·ΠΎΠ² make + ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ), Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΈ Ρ.Π΄.
ΠΠΎΡΡΠΎΠΌΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ make ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² ΡΡΠ΄Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΡΡΡ ΠΈ Π½Π΅ ΡΠ°ΠΌΡΠΌ ΠΊΡΠ°ΡΠΈΠ²ΡΠΌ, Π½ΠΎ Π·Π°ΡΠΎ Π±ΡΡΡΡΡΠΌ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Makefile ΠΈ ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π ΠΆΠΈΠ·Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π°ΠΉΠ΄ΡΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ Π΄Π΅Π½Ρ Ρ Π½ΠΎΠ²ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ. ΠΠΎΡΠ»Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΡΡΡΠΏΠ°Π΅Ρ ΡΡΠ°ΠΏ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠ»Π°Π³Π°ΠΌΠΈ ΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ΅Π· ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΡΡ ΡΠ°ΡΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΈ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ Π΄Π»ΠΈΠ½Π½ΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»Π°Π³ΠΎΠ², Π° Π·Π½Π°ΡΠΈΡ, ΠΈΡ ΡΡΡΠ΄Π½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, Π½ΠΎ ΠΈ Π²Π²ΠΎΠ΄ΠΈΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²Π΅ΡΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Ρ ΡΠΎΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΠ½Π° Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΡΡΡΠ°ΡΠ΅Π²Π°Π΅Ρ, Π° ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΡΠ΅, Π²Π΅Π΄Ρ ΡΠΆΠ΅ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ Π²ΡΠ΅Ρ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ, ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² Π΄Π΅Π½Ρ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ make ΠΈ Makefile
Makefile β ΡΡΠΎ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² ΠΊΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ½ Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄. ΠΠ΅ΠΉΠΊΡΠ°ΠΉΠ» ΡΠΊΡΡΠ²Π°Π΅Ρ Π·Π° ΡΠΎΠ±ΠΎΠΉ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠ°ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ βΠΏΠΎ ΠΏΠΎΠ»ΠΎΡΠΊΠ°ΠΌβ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π° ΡΡΠΈΠ»ΠΈΡΠ° make Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡ ΠΈΠ· ΡΠΎΠ³ΠΎ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ make ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»Π°ΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ½Π° ΠΏΠΎΡΡΠ°Π²Π»ΡΠ»Π°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ *nix Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ², ΡΡΠΎ ΠΈ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π΅Ρ ΡΠΈΡΠΎΠΊΠΎΠΌΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ·ΠΆΠ΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ²ΠΎΡΠΌ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠ΅ΠΌ ΠΆΠ΅ Π·Π°Π΄Π°ΡΠ°ΠΌ β Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΉΠΊΠ° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΡΡΠ°Π»ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΡΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Ρ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΊΠ°ΠΊ Kubernetes, Babel, Ansible ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ Π½Π° Π₯Π΅ΠΊΡΠ»Π΅ΡΠ΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Makefile
make Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅Π»ΠΈ ΠΈΠ· Makefile, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄:
ΠΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ» Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡ ΠΎΡ Π΅Π³ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΡΠ΅Π»ΠΈ, Π° ΡΠ΅Π»ΡΠΌ Π΄Π°ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°. ΠΠΎΠ½Π°ΡΠ°Π»Ρ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Makefile ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ²Π°Π»ΠΊΠ΅ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠ΄Π½Ρ ΡΠ΅Π»Ρ Ρ Β«ΡΠ°Π·ΠΌΡΡΡΠΌΒ» Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ:
ΠΠ΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ΅Π»ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅Π»ΠΈ:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Makefile, ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ»Π°Π³Π°ΠΌΠΈ ΡΠ²Π΅Π΄Π΅Π½Ρ Π² Makefile. ΠΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ ΡΠ·ΡΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.
ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
Π€Π°Π»ΡΡΠΈΠ²Π°Ρ ΡΠ΅Π»Ρ
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ (Π½ΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ) ΡΠΏΠΎΡΠΎΠ± Β«Π·Π°Π³Π»ΡΡΠΈΡΡΒ» ΠΎΡΠΈΠ±ΠΊΡ β ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠΠ ΠΏΡΡΠΌΠΎ Π² ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π΅:
ΠΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Ρ Π°ΠΊΠΈ ΡΡΠΎΠΈΡ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Β«Π²ΡΡΡΡΠ΅Π»ΠΈΡΡ ΡΠ΅Π±Π΅ Π² Π½ΠΎΠ³ΡΒ» Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ .
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠ°ΡΠ°ΡΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΡΡΠ΅ΠΉ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ make ΡΠΎΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΈΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π²Π½ΡΡΡΠΈ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅:
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΈΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Π°.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΠΌΠ΅ΠΉΠΊΡΠ°Π»Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Β«ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π΅ΠΉΒ» ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°ΠΌΠΈ ΡΠ·ΡΠΊΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ. Π¨ΠΈΡΠΎΠΊΠ°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΈ ΠΎΠ±ΡΠ°Ρ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π½Π΅Π΄ΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΎΠΊ. ΠΠΎ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²:
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
ΠΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π³Π°ΠΉΠ΄Π°:
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Unix ΠΈ Linux: make
Π¦Π΅Π»Ρ ΡΡΠΈΠ»ΠΈΡΡ make β Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΎΠΏΠΈΡΠ°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ make Π΄Π»Ρ GNU, Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π ΠΈΡΠ°ΡΠ΄ΠΎΠΌ Π‘ΡΠΎΠ»Π»ΠΌΠ°Π½ΠΎΠΌ ΠΈ Π ΠΎΠ»Π°Π½Π΄ΠΎΠΌ ΠΠ°ΠΊΠ³ΡΡΡΠΎΠΌ. Π ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Ρ, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ make Ρ Π»ΡΠ±ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, make Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ , ΠΊΠΎΠ³Π΄Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π² ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ°» rel=dofollow»>ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ GNU make . ΠΠ½Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ GNU Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ nroff. ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ make.info, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π΅Π»Π°Π½ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Texinfo make.texinfo.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΡΠΈΠ»ΠΈΡΡ make
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ make, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ makefile, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠΎΠ³Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ make-ΡΠ°ΠΉΠ», ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΡΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ make Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΉ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° make ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ makefile ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΠ½ Π²ΡΠ΄Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
Π£ΡΠΈΠ»ΠΈΡΠ° make ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅Π»ΠΈ, ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΡΠ΅Π»Ρ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
ΠΠΏΡΠΈΠΈ
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ -b ΠΈ -m ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ make.
ΠΠΏΡΠΈΡ -e Π΄Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π²Π·ΡΡΡΠ΅ ΠΈΠ· ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° ΡΡΠ΅Π΄Ρ Π½Π°Π΄ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΈΠ· make-ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ -f ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°ΠΉΠ» Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΉΠ»Π° ΡΠ±ΠΎΡΠΊΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ -i ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ , Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ -I dir ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ dir Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ make-ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠΈΠΉ -I ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΈΡΡΡΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π°Π³ΠΎΠ² make, ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Ρ ΡΠ»Π°Π³Π°ΠΌΠΈ -I ΠΌΠΎΠ³ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ»Π°Π³Π°: -Idir ΡΠ°Π·ΡΠ΅ΡΠ΅Π½, Π° ΡΠ°ΠΊΠΆΠ΅ -I dir . ΠΡΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΡΠ»Π°Π³ΠΎΠΌ -I ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° C.
ΠΠΏΡΠΈΡ -k ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ; Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠ»Π° ΠΈΠ· ΡΡΡΠΎΡ, ΠΈ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π½Π΅Π΅, Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°Π½Ρ, Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ -l ΠΈ -l load ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ (ΠΊΠΎΠΌΠ°Π½Π΄Ρ), Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ, Π° ΡΡΠ΅Π΄Π½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ load (ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ). ΠΠ΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π»ΠΈΠΌΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
ΠΠΏΡΠΈΡ -n ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ, Π½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡ .
ΠΠΏΡΠΈΡ -p ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ), ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠ΅Π½ΠΈΡ make-ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ½Π°ΡΠ΅. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Π΅ΡΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΌ -v (ΡΠΌ. ΠΠΈΠΆΠ΅). Π§ΡΠΎΠ±Ρ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π½Π΅ ΠΏΡΡΠ°ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ°ΠΉΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ make -p -f/dev/null .
ΠΠΏΡΠΈΡ -q Π·Π°Π΄Π°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠ². ΠΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅, ΠΏΡΠΎΡΡΠΎ Π²Π΅ΡΠ½ΠΈΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ, Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠ΅Π»ΠΈ ΡΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΏΡΠΈΡ -r ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π½Π΅ΡΠ²Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ». Π’Π°ΠΊΠΆΠ΅ ΠΎΡΠΈΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΡΠΈΠΊΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ» ΡΡΡΡΠΈΠΊΡΠΎΠ².
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ -s ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. ΠΡΠΎ Π½Π΅ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ.
ΠΠΏΡΠΈΡ -t ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΈΡ ΠΊΠ°ΠΊ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅, Π±Π΅Π· ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ) Π²ΠΌΠ΅ΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΈΠ΄, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΌΠ°Π½ΡΡΡ Π±ΡΠ΄ΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ make.
ΠΠΏΡΠΈΡ -v ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ make, Π° ΡΠ°ΠΊΠΆΠ΅ Π°Π²ΡΠΎΡΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²Π°, ΡΠΏΠΈΡΠΎΠΊ Π°Π²ΡΠΎΡΠΎΠ² ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π³Π°ΡΠ°Π½ΡΠΈΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ -W ΡΠ°ΠΉΠ» Π΄Π΅Π»Π°Π΅Ρ Π²ΠΈΠ΄, ΡΡΠΎ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ» ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Ρ ΡΠ»Π°Π³ΠΎΠΌ -n ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ». ΠΠ΅Π· -n ΡΡΠΎ ΠΏΠΎΡΡΠΈ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ touch Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ make, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ make.
ΠΡΠΎΡΡΠΎ ΠΎ make
ΠΠ΅Π½Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°Π» ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌ. ΠΠ΄Π΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ΄Π½Π° Π²Π΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ΄Π½Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΅Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»ΡΡΡΠ΅, Π²ΡΠ»ΠΈΠ»Π°ΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ UNIX. Π Ρ ΠΎΡΡ UNIX Π΄Π°Π²Π½ΠΎ ΡΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ Π½Π°Π·Π²Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π΄Π° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌ Π² Π½Π΅ΠΉ ΡΠ·ΡΠ΅ΡΡ Π½Π΅ ΡΠ°ΠΊ ΡΠΎ ΠΏΡΠΎΡΡΠΎ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ- ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΡΠΎΡΡΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΡ Π²Π΅ΡΠ΅ΠΉ Π² ΠΎΠ΄Π½Ρ Π²Π΅ΡΡΠΌΠ° Π½Π΅ΠΏΡΠΎΡΡΡΡ ΠΈ Π½Π΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΡ. Π ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠΈ make ΠΏΡΠΎΡΠ΅Π» ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΡΡΡ: ΠΏΡΠΎΡΡΠΎΡΠ° ΠΈ ΡΡΠ½ΠΎΡΡΡ, Ρ ΡΠΎΡΡΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΎΠ², ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»Π°ΡΡ Π² ΠΆΡΡΠΊΠΎΠ³ΠΎ ΠΌΠΎΠ½ΡΡΡΠ° (Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΠΎΡΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΎΡΠΊΡΡΠ»ΠΈ ΠΌΡΠΉΠΊΡΠ°ΠΉΠ»).
ΠΠΎΠ΅ ΡΠΏΠΎΡΠ½ΠΎΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ make Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π±ΡΠ»ΠΎ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ IDE, ΠΈ Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ ‘ΠΏΠ΅ΡΠ΅ΠΆΠΈΡΠΊΠ΅ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ’ (ΠΏΠΎ ΡΡΡΠΈ β Π»Π΅Π½ΡΡ). ΠΠ΄Π½Π°ΠΊΠΎ, Π²ΡΠ΅ ΡΡΠΈ Π½Π°Π΄ΠΎΠ΅Π΄Π»ΠΈΠ²ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈ, ΠΌΠ΅Π½ΡΡΠΊΠΈ ΠΈΡ.ΠΏ. Π°ΡΡΠΈΠ±ΡΡΡ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΡΡΠ΄ΠΈΠΉ, Π·Π°ΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΌΠ΅Π½Ρ ΠΈΡΠΊΠ°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°Π» Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ. ΠΠ΅Ρ, Ρ Π½Π΅ ΡΡΠ°Π» Π³ΡΡΡ make, Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΌΠ½ΠΎΡ Π·Π½Π°Π½ΠΈΠΉ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΌΠΎΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Ρ Π΅ΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅Π΄Π°Π²Π½ΠΎ, ΠΆΠ΅Π»Π°ΡΡ Π²ΡΡΠ²Π°ΡΡΡΡ ΠΈΠ· ΡΡΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°Π±ΡΡΠ²Π° Π² Π°ΡΠΊΠ΅ΡΠΈΡΠ½ΡΠΉ, Π½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΠΌΠΈΡ ΡΠ΅Π»Π»Π°.
Make- ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ
make β ΡΡΠΈΠ»ΠΈΡΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΌΡ Π² Π΄ΡΡΠ³ΡΡ. ΠΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°ΡΡΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Makefile, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΊΠΎΡΠ½Π΅ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π‘Π°ΠΌ ΡΠΊΡΠΈΠΏΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ:
1) ΡΠ΅Π»ΡΠΌΠΈ (ΡΠΎ, ΡΡΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π΅Π»Π°Π΅Ρ);
2) ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ°ΠΌΠΈ (ΡΠΎ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π»Π΅ΠΉ);
3) ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ (Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ).
Π ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ makefile ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊ:
Π’ΠΎ Π΅ΡΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΠΎ make ΡΡΠΎ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΠ°:
ΠΠ΅ΡΠ»ΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΈΠ²ΠΎ Π»ΠΎΠΆΠ°ΡΡΡ Π½Π° ΡΡΡ ΡΡ Π΅ΠΌΡ:
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ Makefile
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠΎΡΡΠΎΡΡΠ°Ρ Π²ΡΠ΅Π³ΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
ΠΠ»Ρ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΌΡΠΉΠΊΡΠ°ΠΉΠ»Π°:
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠΎΡΡΠΎΡΡΠ°Ρ ΠΈΠ· 2 ΡΠ°ΠΉΠ»ΠΎΠ²:
main.c
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 β Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΠΎ ΡΠΆΠ΅ ΠΏΠΎΡΠΈΠΌΠΏΠ°ΡΠΈΡΠ½Π΅ΠΉ. ΠΡΠΌΠ°Ρ, ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ Π²Π°Ρ Π² ΠΎΡΠΎΠ±ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ Π½Π΅ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»ΠΎΠ², Π½ΠΎ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΈΡ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΊ Π±Ρ ΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ, Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π·Π΄Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π° ΡΡΠΎ Ρ Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°ΡΡ (ΠΈ Π΄Π΅Π»Π°ΡΡ Π»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅) ΡΠ΅ΡΠ°ΡΡ Π²Π°ΠΌ: