Reference : Makefile็ๅๆณ
make ๋ Makefile ์ ํ ๋๋ก ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ ํ๋ค.
make ๋ Makefile ์์ ๋ช
์๋์ด ์๋ ์์กด๊ด๊ณ(dependencies)์ ๋ช
๋ น(commands)์ ์ฐธ๊ณ ํ์ฌ ํ๋ก๊ทธ๋จ์ ๋น๋์์ผ์ค๋ค.
make ๋ Linux์ ํ์ผ ๊ด๋ฆฌ ์ ํธ๋ฆฌํฐ์ด๋ค.
์ด๋ Makefile ์ ๊ธฐ์ค์ผ๋ก ํ๋ก๊ทธ๋จ์ ๋น๋ํด์ค๋ค.
make
make ๋ช
๋ น์ด๋ฅผ ์คํ : make ๋ Makefile ์ด ์กด์ฌํ ์ Makefile ์ ์คํ์ํจ๋ค.
- ๋ฐ๋์ Makefile ๋ช
์ด ์๋์ฌ๋ ๋๋ค.
make ๊ฐ ์ฐพ์ ์ ์๋ ๋ ๋ค๋ฅธ ์ด๋ฆ์GNUmakefile๊ณผmakefile์ด ์๋ค.
make ๊ฐ ์ฐพ๋ ์์๋GNUmakefileโmakefileโMakefile
ํ์ง๋ง,GNUmakefile์ด๋ฆ์ ๊ฒฝ์ฐ make ๊ฐ ์ธ์์ ๋ชปํ๋ ๊ฒฝ์ฐ๋ ์์ผ๋ ์์ ํ๊ฒMakefile์ ์ฌ์ฉํ๋๋ก ํ์.
make ๋ก ์ปดํ์ผ(็ผ่ฏ)ํ ํ์ผ๋ค์ ์ผ์ผ์ด ์ง์ ํด์ค ์ ์์ง๋ง Makefile ์ ํตํด ๊ฐํธํ ์ปดํ์ผ ๊ฐ๋ฅํ๋ค.
๊ฐ๋ฐ์ ์งํ์ ๋ผ์ธ์๊ฐ ๋์ด๋๊ฒ ๋๋ฉด์ ์ฌ๋ฌ ๋ชจ๋๋ก ์ชผ๊ฐ์ง๊ฒ ๋๊ณ ๊ทธ๋ก์ธํด ์ปดํ์ผ ํด์ผํ ๊ฒ๋ค์ด ๋์ด๋๊ฒ ๋๋ค. ๋จ์ํ make ๋ฅผ ํตํด ์ปดํ์ผ ์ํฌ ์ ์์ง๋ง ๋๋ฌด ๋ฒ๊ฑฐ๋ก์ด ์์ (๊ธธ์ด์ง๋ ๋ช ๋ น์ด)์ด ๋์ด๋ฒ๋ฆฐ๋ค. ๊ฒ๋ค๊ฐ ์ปดํ์ผํด์ผ ํ ๊ฒ์ ๋นผ๋จน๋ ๊ฒฝ์ฐ๋ ๋ฐ์ํ๊ฒ ๋๋ค.
Makefile ์ ์ด๋ฌํ ๋ฌธ์ ์ ๋ค์ ํด๊ฒฐํด์ฃผ๋ฉฐ ์ปดํ์ผ์ ํธ๋ฆฌํ๊ฒ ๋ง๋ค์ด์ค๋ค.
Makefile ์ ๋ด๋ถ์ ์ผ๋ก ์ธ ๊ฐ์ง๋ก ๊ตฌ์กฐ๋ก๋์ด ์๋ค.
-
๋ชฉํ target
-
์์กด๊ด๊ณ dependency
-
๋ช ๋ น command
target: dependencies command- command ์์ tab ์ผ๋ก ๋ค์ฌ์ฐ๊ธฐ
Makefile ์ ํ ๋ผ์ธ์ ๋ช ๋ น์ด๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ ํ ๋ผ์ธ์ ํ ๋ช ๋ น์ด๋ฅผ ์์ฑํด ์ฃผ์ด์ผ ํ๋ค.
