ΠΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΡΠ΅Π·Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈΡ Π² ΡΠ°Π·Π½ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ 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 ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΠΌΠΈΡΡΡΡΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΡ ΠΎΠ΄Π½ΠΎ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² (ΡΠ°ΠΊΡΡ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ troff ΠΈΠ»ΠΈ Π’Π΅Π₯).
ΠΠΎΠΌΠ°Π½Π΄Π° make ΠΈ make-ΡΠ°ΠΉΠ»Ρ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΈ Π·Π½Π°Π½ΠΈΠΉ, ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ, ΠΊΠ°ΠΊ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°ΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΠ±ΡΠΈΡ Π΅ΠΉ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ make-ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠΌ ΡΠ±ΠΎΡΠΊΠΈ.
Make-ΡΠ°ΠΉΠ» ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ make-ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ make-ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π‘ΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make ΠΈ make-ΡΠ°ΠΉΠ»Π° β ΠΌΠΎΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π½ΡΠΆΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ make-ΡΠ°ΠΉΠ»ΠΎΠ²
Make-ΡΠ°ΠΉΠ» ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΏΡΠ°Π²ΠΈΠ». Π£ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΅ΡΡΡ ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ (Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ) ΠΈ Π½Π°Π±ΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½Π° Π·Π°Π²ΠΈΡΠΈΡ. ΠΡΠ°Π²ΠΈΠ»Π° ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΈΠ· Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ±ΡΡΠ½ΠΎ ΡΠ΅Π»Ρ β ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
Make-ΡΠ°ΠΉΠ» ΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ make, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅ΠΉ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Ρ, ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΠ΅ΠΉ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π§Π°ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π° Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅Π»Ρ. ΠΠΎΠΌΠ°Π½Π΄Π° make ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ make-ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ, ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠ°Π²ΠΈΠ».
ΠΠΏΡΠΈΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ make
Π£ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ make Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠΈΠΉ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
β‘ -k, ΡΠΎΠΎΠ±ΡΠ°ΡΡΠ°Ρ make ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°, Π° Π½Π΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΡ ΠΎΠΏΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡ ΠΎΠ΄ Π²ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Ρ;
β‘ -n, ΡΠΎΠΎΠ±ΡΠ°ΡΡΠ°Ρ make ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅ΡΠ½Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π±Π΅Π· ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ;
β‘ -f <ΡΠ°ΠΉΠ»>, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ make ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊΠ°ΠΊ make-ΡΠ°ΠΉΠ». ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΡ ΠΎΠΏΡΠΈΡ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ make ΠΈΡΠ΅Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π½Π°Π·Π²Π°Π½Π½ΡΠΉ makefile. ΠΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠ΅Ρ ΡΠ°ΠΉΠ», Π½Π°Π·Π²Π°Π½Π½ΡΠΉ Makefile. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΠ΅ GNU Make, ΡΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π² ΠΠ‘ Linux, ΡΡΠ° Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ make ΡΠ½Π°ΡΠ°Π»Π° ΠΈΡΠ΅Ρ ΡΠ°ΠΉΠ» GNUmakefile Π΄ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»Π° makefile ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Makefile. Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Linux ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠΌΡ Makefile, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠ΅ΡΠ²ΡΠΌ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΡΡΠΎΡΡΠΈΠΌΠΈ ΠΈΠ· ΡΡΡΠΎΡΠ½ΡΡ Π±ΡΠΊΠ². ΠΡ ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΡ GNUmakefile, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎ Π΄Π»Ρ. ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ GNU ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ make.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ make ΠΈΠΌΡ Π·Π°Π΄Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΈ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° make ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² make-ΡΠ°ΠΉΠ»Π΅. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠΈΡ make-ΡΠ°ΠΉΠ»Π°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΡ all ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ all. ΠΡΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ Π²ΡΠ±ΠΎΡ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°Π΄Π°Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Π»Ρ. ΠΡ ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» Π² ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ²ΡΠ·Π°Π½ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΡΠ°Π½Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π³ΠΎΠ²ΠΎΡΡΡΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Π°ΡΠ΅ΠΌΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΡΡΡΡ (ΠΎΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ) 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-ΡΠ°ΠΉΠ» Π²Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΈΠΌΡ Π·Π°Π΄Π°Π½ΠΈΡ, Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅, ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ»ΠΈ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ°Π±ΡΠ»ΡΡΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π·Π°Π΄Π°Π½ΠΈΡ. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
myapp: main:ΠΎ 2.ΠΎ 3.o
main.ΠΎ: main.c a.h
2.ΠΎ: 2.Ρ a.h b.h
3.o: 3.c b.h c.h
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΠ΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ myapp Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ main.ΠΎ, 2.o ΠΈ 3.o, a main.o Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ main.c ΠΈ a.h ΠΈ Ρ. Π΄.
ΠΠ°Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ²ΡΠ·Π°Π½Ρ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. ΠΡ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ b.h, ΡΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅ΡΡ 2.o ΠΈ 3.o, Π° ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ 2.o ΠΈ 3.o Π±ΡΠ΄ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ ΠΈ myapp.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ±ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠΈΠ²Π½ΡΡ ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ all. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° myapp ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° myapp.1. ΠΠΏΠΈΡΠ°ΡΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΎΠΉ:
all: myapp myapp.1
Π Π΅ΡΠ΅ ΡΠ°Π·, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ all, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° make ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ», ΠΏΠ΅ΡΠ²ΡΠΌ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ Π² make-ΡΠ°ΠΉΠ»Π΅.
ΠΡΠ°Π²ΠΈΠ»Π°ΠΡΠΎΡΠΎΠΉ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ make-ΡΠ°ΠΉΠ»Π° β ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π·Π°Π΄Π°Π½ΠΈΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° ΠΊΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° make ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π°, ΡΡΠΎ ΡΠ°ΠΉΠ» 2.o Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΉΠΊΠ΅? ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ gcc -Ρ 2.Ρ (ΠΈ ΠΊΠ°ΠΊ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, make Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π·Π½Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΈΠ»), Π½ΠΎ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ include ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΡΡ ΠΎΠΏΡΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ? Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ²Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² ΠΏΡΠ°Π²ΠΈΠ»Π° Π² make-ΡΠ°ΠΉΠ»Π΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅Π Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π²Π°Ρ ΠΎΠ± ΠΎΡΠ΅Π½Ρ ΡΡΡΠ°Π½Π½ΠΎΠΉ ΠΈ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π² make-ΡΠ°ΠΉΠ»Π°Ρ : ΡΠ°Π·Π½ΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ ΠΈ ΡΠ°Π±ΡΠ»ΡΡΠΈΠ΅ΠΉ. ΠΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ ΡΠΎ Π·Π½Π°ΠΊΠ° ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ; ΠΏΡΠΎΠ±Π΅Π» Π½Π΅ Π³ΠΎΠ΄ΠΈΡΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ ΡΠ°Π±ΡΠ»ΡΡΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΏΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΠΈ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΡΠΈ Π²ΠΎ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠ°ΡΠ°ΡΡΠΈΡ ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux, Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈ ΡΠ°Π±ΡΠ»ΡΡΠΈΡΠΌΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΎΠ±Π΅Π» Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² make-ΡΠ°ΠΉΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΠ±ΠΎΠΉ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠΎ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°ΠΊΡ ΠΈ Π² Π½Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ make-ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Π΅ΡΠ΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ! Π ΡΡΠ°ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° make Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠ·-Π·Π° ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ, ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ.
Π ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 9.1.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 9.1. ΠΡΠΎΡΡΠΎΠΉ make-ΡΠ°ΠΉΠ»ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠ°Π²ΠΈΠ» ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠ³Π»Π° Π±Ρ Π±ΡΡΡ Π½Π°Π±ΡΠ°Π½Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ make-ΡΠ°ΠΉΠ» Makefile1:
myapp: main.ΠΎ 2.o 3.o
gcc -ΠΎ myapp main.ΠΎ 2.o 3.o
main.ΠΎ: main.c a.h
gcc -Ρ main.c
2.ΠΎ: 2.Ρ a.h b.h
gcc -Ρ 2.Ρ