β‘Β ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
patchtarβ‘Β ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠ΅ΠΌΡ ΡΠΈΠΊΠ»Π° "ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ β ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅" Π±ΡΡΡΡΠΎ ΡΠ°ΡΡΠ΅Ρ. ΠΠ°ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΌΡ ΡΠ΅ΡΠΏΠ΅Π»ΠΈΠ²ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ .Β
ΠΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΡΠ΅Π·Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈΡ Π² ΡΠ°Π·Π½ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ a.h, b.h ΠΈ c.h ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ main.c, 2.Ρ ΠΈ 3.c (ΠΌΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Π²Ρ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄Π°ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°, ΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π·Π΄Π΅ΡΡ). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ.
/* main.c */#include "a.h".../* 2.Ρ */#include "a.h"#include "b.h".../* 3.c */#include "b.h"#include "c.h"...ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°ΠΉΠ» c.h, ΡΠ°ΠΉΠ»Ρ main.c ΠΈ 2.Ρ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π€Π°ΠΉΠ» 3.Ρ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ c.h ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ Π·Π°Π½ΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ c.h. ΠΠΎ Π΅ΡΠ»ΠΈ Π±ΡΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΡΠ°ΠΉΠ» b.h, ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π·Π°Π±ΡΠ» ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ ΡΠ°ΠΉΠ» 2.Ρ, ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
Π£ΡΠΈΠ»ΠΈΡΠ°
makeΠΠΎΠΌΠ°Π½Π΄Π°
makeΠΠΎΠΌΠ°Π½Π΄Π° make ΠΈ make-ΡΠ°ΠΉΠ»Ρ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
makeMake-ΡΠ°ΠΉΠ» ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ make-ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ make-ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π‘ΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
makeΠ‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ make-ΡΠ°ΠΉΠ»ΠΎΠ²
Make-ΡΠ°ΠΉΠ» ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΏΡΠ°Π²ΠΈΠ». Π£ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΅ΡΡΡ ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ (Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ) ΠΈ Π½Π°Π±ΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½Π° Π·Π°Π²ΠΈΡΠΈΡ. ΠΡΠ°Π²ΠΈΠ»Π° ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΈΠ· Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ±ΡΡΠ½ΠΎ ΡΠ΅Π»Ρ β ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
Make-ΡΠ°ΠΉΠ» ΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
makemakeΠΠΏΡΠΈΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ make
Π£ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
makeβ‘Β
-kmakeβ‘Β
-nmakeβ‘Β
-f <<i>ΡΠ°ΠΉΠ»</i>>makemakemakeΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
makemakemakeallallΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» Π² ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ²ΡΠ·Π°Π½ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΡΠ°Π½Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π³ΠΎΠ²ΠΎΡΡΡΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Π°ΡΠ΅ΠΌΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΡΡΡΡ (ΠΎΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ) main.ΠΎ, 2.ΠΎ ΠΈ 3.o; ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ main.ΠΎ (main.c ΠΈ a.h); 2.o (2.Ρ, a.h ΠΈ b.h) ΠΈ 3.o (3.c, b.h ΠΈ c.h). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π° ΡΠ°ΠΉΠ» main.ΠΎ Π²Π»ΠΈΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² main.c ΠΈ a.h, ΠΈ ΠΎΠ½ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° main.c, Π΅ΡΠ»ΠΈ Π±ΡΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π make-ΡΠ°ΠΉΠ» Π²Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΈΠΌΡ Π·Π°Π΄Π°Π½ΠΈΡ, Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅, ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ»ΠΈ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ°Π±ΡΠ»ΡΡΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π·Π°Π΄Π°Π½ΠΈΡ. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°: