본문 바로가기

Build/Make

09. Phony Target

Phony Targets
 
Make 유틸리티는 Target 이 있는 경우 Target 이 업데이트 되었는지 확인하고
 
업데이트 되지 않은 경우 Target 을 만들지 않는다.
 
Target 이 실행파일이 아니라고 make 유틸리티에 알려주어야 하는 경우가 몇 개 있는데
 
이때 사용하는 문법이 Phony Target 이다.
 
대표적으로 아래와 같은 목적으로 사용된다.
 
 

특정 명령을 조건 없이 수행하기 위하여 사용
 
 
clean 명령과 같이 항상 실행되어야 하는 명령이 있는 경우
 
clean 이라는 파일이 있다면 실제 clean 이 일어나지 않을수 도 있다.
 
이런 경우 Phony Target 이라는 문법을 통해 Target 이 실행파일이 아님을 알려주어
 
항상 clean 이 일어나게 한다.
 
 

퍼포먼스 개선을 위해 사용
 
 
두번째로 위의 all target 을 살펴보자.
 
all target 은 test1, test2, test3 라는 target 을 생성하지만 
 
Phony Target 으로 지정하여 실제로 all 이라는 이름의 파일은 생성되지 않을 것이다.
 
위 타겟의 목적은 all 을 통해 prog1, prog2, prog3 라는 3개의 프로그램을 
 
한꺼번에 실행시키는 것으로 결국 성능 개선이 목표가 된다.
 
 

서브루틴 만들기
 
 
명령어를 연속으로 호출하기 위해 각 명령어를 Phony Target 으로 만들어 Prerequiste 로
 
묶는 경우 원하는 서브루틴을 만들수 있다.
 
위의 예에서 `make install' 을 호출하면 
 
Prerequiste 구성에 의해서 'clean -> install' 이렇게 실행된다.
 
 
 
 
 

'Build > Make' 카테고리의 다른 글

11. Empty Target  (0) 2020.01.22
10. Target Without Recipe And Prerequiste  (0) 2020.01.22
08. VPATH, vpath  (0) 2020.01.22
07. Wildcard  (0) 2020.01.22
06. Variable  (0) 2020.01.22