나는이 타겟을 가지고있다. 그것의 의도는 소스뿐만 아니라 출력 디렉토리에 의존하는 것이다. 나는 파일 이름을 자르고 디렉토리에게 그것의를 떠나 this을 사용디렉토리에 따라 타겟을 변경하는 변수들
build/%.o: src/%.cpp build/${%%/*}/
$(CC) $(CFLAGS) -o [email protected] $^
을 다음 디렉토리 대상합니다. 그것은 단지 끝나는 있도록
%/:
mkdir -p [email protected]
문제는, ${%%/*}
가 교체되지 않는 dir을 build/folder/folder/
대신 build//
으로 만듭니다.
'$ {varname %% glob} '구문은 GNU make가 아닌 셸일뿐입니다. 그렇다면 패턴 규칙에서 작동 할 수 없습니다. – Jens
@Jens 그것이 작동되도록하는 방법을 찾아야합니다. –