오브젝트 파일에 대한 C 파일 컴파일을 위해 %.c
에서 %.o
까지 내가 괜찮은 메이크 파일이 있습니다.암시 적 규칙의 모든 사용에 종속성 추가
그러나이 암시 적 규칙을 사용하여 빌드 된 모든 파일은 foo.h
이라는 추가 헤더에 의존해야합니다.
는 내가 개별 .o
파일처럼 foo.h
에 의존하기 위해 추가 일회성 규칙을 추가 할 수 있습니다 알고
bar.o : foo.h
...하지만 난 모든의 종속성으로 foo.h
을 추가 할 .o
파일은 .c
개의 파일에서 생성됩니다. 나는 의존성을 "추가"하지만 묵시적 규칙을 유지할 수 있다면
%.o : foo.h
보고 :
%.o : %.c foo.h
이 :
은 유사 위의와 나는이 시도.작동하지 않았습니다. 나는 확실히 단지처럼 내 패턴 규칙에 묵시적 규칙에서 레시피를 복사하여 붙여 넣을 수 있습니다 :
%.o : %.c foo.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $<
하지만 가능하면 그것을 복제하지 싶습니다.
감사합니다. 나는 암묵적인 규칙을 복제하는 것과 관련이 있다고 생각한다. – BeeOnRope
@BeeOnRope 나는 그것이 [묵시적 규칙 검색 알고리즘] (https://www.gnu.org/software/make/manual/make.html#Implicit-Rule-Search)과 관련이 있다고 생각한다. 4 단계 참조 ... –
매뉴얼 인용 : "대상이 동일한 전제 조건을 가질 필요가 없기 때문에 여러 대상이있는 일반 규칙보다 일반적입니다." ... 그러나이 경우 전제 조건이 동일하기 때문에 정상적인'$ (OBJS) : foo.h '보다 정적 패턴 규칙을 사용하는 것이 유리하지 않다. 내가 놓친 게 있니? – Vroomfondel