Makefile에 약간 문제가 있습니다. make가 작업 디렉토리에 관한 명령을 변경하기를 원합니다. 나는 현재 타겟 디렉토리 ($ (* D))를 테스트하는 규칙에 조건 지시자를 추가했다.Makefile : ifeq 지시문이 특수 변수를 상수와 비교합니다.
사실 내 파일이 mySpecialDirectory에 있고 실제로 echo가 "mySpecialDirectory"를 인쇄 할 때도 make는 항상 내 테스트의 두 번째 분기로갑니다.
.c.o .cpp.o .cc.o:
ifeq ($(*D),mySpecialDirectory)
@echo "I'm in mySpecialDirectory! \o/"
$(CC) $(DEBUG_FLAGS) $(MYSPECIALFLAGS) -c $< -o [email protected]
else
@echo "Failed! I'm in $(*D)"
$(CC) $(DEBUG_FLAGS) $(NOTTHATSPECIALFLAGS) -c $< -o [email protected]
endif
고마워, 그레고리.이게 내가하고 싶었던거야. 위대한 설명, 나는 분명히 트릭을하기 위해 if와 subst를 사용하는 것을 생각하지 않았을 것입니다. 이것은 매우 영리합니다;) – Kyone