반응형
make : 규칙 호출 규칙
메이크 파일에서 다른 규칙의 규칙을 호출 할 수 있습니까?
비슷하다:
rule1:
echo "bye"
rule2:
date
rule3:
@echo "hello"
rule1
한 규칙에서 다른 규칙으로 연결하기 위해 종속성 또는 재귀 작성을 사용하십시오.
종속성은 다음과 같이 수행됩니다 (순서는 다를 수 있음).
rule1:
echo "bye"
rule2:
date
rule3: rule1
@echo "hello"
재귀 적 작성은 다음과 같이 수행됩니다 (하위 프로세스를 포함하지만) :
rule1:
echo "bye"
rule2:
date
rule3:
@echo "hello"
$(MAKE) rule1
둘 다 완벽하지 않습니다. 실제로 재귀 make를 사용하면 루프를 만들면 심각한 문제가 발생할 수 있습니다. 또한 .PHONY위의 규칙을 합성으로 표시하기 위해 규칙 을 추가해야 할 수도 있습니다. 그래야 rule1디렉토리 의 이탈 (등)이 혼동을 일으키지 않습니다.
원하는 순서로 새 규칙을 추가하기 만하면됩니다.
rule1:
echo "bye"
rule2:
date
rule3:
@echo "hello"
rule4: rule3 rule1
Makefile은 절차 적이 지 않습니다. "규칙"은 기능과 다릅니다. 즉, 한 규칙이 다른 규칙의 전제 조건임을 지정할 수 있습니다.
rule1:
@echo "Rule 1"
rule2: rule1
@echo "Rule 2"
하면 다음이 make rule2표시됩니다.
Rule 1
Rule 2
GNU Make에는이를 수행 할 수있는 두 가지 고급 기능이 있습니다. 비록 정상 참작이 가능한 경우에만 사용해야합니다. 이 SO는 Google에서 최고 등급입니다.
규칙 전제 조건이 더 권장되지만 때로는 사후 요구 사항이 필요합니다.
기본적으로 Eval을 사용하면 즉시 대상을 구축 할 수 있고 Call을 사용하면 "정의"와 같은 기능을 만들 수 있습니다.
참고 URL : https://stackoverflow.com/questions/8646688/make-rule-call-rule
반응형
'IT TIP' 카테고리의 다른 글
| 복사 할당 연산자가 참조 / 상수 참조를 반환해야하는 이유는 무엇입니까? (0) | 2020.11.26 |
|---|---|
| 다른 컨트롤러에서 부분보기 렌더링 (0) | 2020.11.26 |
| 템플릿을 다른 템플릿에 어떻게 삽입합니까? (0) | 2020.11.26 |
| 프로그래밍 방식으로보기 너비 설정 (0) | 2020.11.26 |
| Mongoose JS를 통한 MongoDB-findByID 란 무엇입니까? (0) | 2020.11.26 |