1
내가 메이크 파일을 만들기에 약간의 문제가,이 코드입니다 '이 t은 parser.o가 올바른 경로로 대체되지 않는 이유, 당신이 만들 수 말하고있다메이크업 파일의 vpath하지 교체
내가 메이크 파일을 만들기에 약간의 문제가,이 코드입니다 '이 t은 parser.o가 올바른 경로로 대체되지 않는 이유, 당신이 만들 수 말하고있다메이크업 파일의 vpath하지 교체
%.o : mkdirs %.c $(HEADERS)
$(CC) -c $(word 2,$^) -o obj/[email protected]
all : parser.o
ar cr out/libsip.a $<
자동 변수를 사용 이해 현재 디렉토리에있는 parser.o
파일.
그러면 %.o
규칙은 현재 디렉토리가 아닌 obj
디렉토리에 파일을 생성합니다.
ar
명령은 찾지 못합니다.
은 전제 조건을 찾는 것입니다. obj/parser.o
가 이미 존재한다면 make는 내가 믿는 all
타겟을 찾을 것입니다.
How Not to Use VPATH을 참조하십시오.
obj/parser.o 파일이 있지만 parser.o가 실제 경로로 바뀌지 않습니다 – karim
make를 시작할 때 존재한다는 의미입니다. 그리고 네, 그것이 전제 조건이 만들어 내려는 것이 아니기 때문에 아닙니다. 그것은 당신이'obj/parser.o'를 만들 때'parser.o'를 만들려고했지만 make는 그것을 모릅니다. –
아, 알 겠어요.하지만 제게 해결책을 제안 할 수 있어요? – karim