[Makefile] PHONY
PHONY
.PHONY
๋ ๊ฐ์ง ํ๊ฒ(phony target) ์ ์ ์ธํ๋ ๊ฒ์ด๋ค. ์ผ๋ฐ์ ์ธ ํ์ผ ์ด๋ฆ๊ณผ ๊ฒน์น ์ ์๋ ํ๊ฒ์ ๊ตฌ๋ถํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
.PHONY: clean fclean re all
Makefile
์์ ํ๊ฒ ์ด๋ฆ์ด ์ค์ ํ์ผ ์ด๋ฆ๊ณผ ์ถฉ๋ํ ์ ์๊ธฐ ๋๋ฌธ์ PHONY
๊ฐ ํ์ํ๋ค.
์๋ฅผ ๋ค์ด, clean
์ด๋ผ๋ ํ์ผ์ด ์กด์ฌํ๋ฉด make clean
์ ์คํํ ๋ ๊ทธ ํ์ผ์ ํ๊ฒ์ผ๋ก ์ฐฉ๊ฐํด์ ์๋ฌด ์์
๋ ์ํํ์ง ์์ ์ ์๋ค.
.PHONY
๊ฐ ์์ ๋
clean:
rm -f *.o
make clean
์ ์คํํ๋ฉด clean
์ด๋ผ๋ ํ์ผ์ด ์์ผ๋ฉด ์ ์์ ์ผ๋ก ์คํ๋๋ค.
ํ์ง๋ง clean
์ด๋ผ๋ ํ์ผ์ด ๋๋ ํ ๋ฆฌ์ ์กด์ฌํ๋ฉด, make
๋ ์ด ํ๊ฒ์ด ์ต์ ์ํ๋ผ๊ณ ํ๋จํด์ ๋ช
๋ น์ด๋ฅผ ๊ฑด๋๋ฐ์ด๋ฒ๋ฆฐ๋ค.
.PHONY: clean
clean:
rm -f *.o
์ด๋ ๊ฒ .PHONY
๋ก ์ ์ธํด ๋๋ฉด clean
์ ํ์ผ์ด ์๋๋ผ ํญ์ ํ๊ฒ ๋ช
๋ น์ผ๋ก ๊ฐ์ฃผํ๋ค.
Makefile
์์ ์์ฃผ ์ฌ์ฉํ๋ .PHONY
ํ๊ฒ
.PHONY: all clean fclean re
- all: ์ ์ฒด ๋น๋
- clean: ์ค๊ฐ ํ์ผ (
.o
) ์ญ์ - fclean: ๋ชจ๋ ๋น๋ ๊ฒฐ๊ณผ (
.o
,.a
) ์ญ์ - re:
fclean
ํall
๋ค์ ๋น๋