바이너리 디렉토리로 컴파일하려고합니다 ... 루트로 직접 컴파일하면 모든 것이 작동합니다. 처음에는 -o 플래그 아래에 bin /을 전달하여 gcc에서 처리하도록 시도했습니다. Make는 (분노하게) 대상에서 경로를 제거하고 어쨌든 루트로 컴파일하기 위해 나타납니다.
그런 다음 스스로 처리하도록 시도했지만 이제는 컴파일 규칙을 찾지 못했습니다.
내가 시도한 다른 것은 다음을 추가하는 것입니다.
$(OBJECTS):
첫 번째 규칙에 따르지만 인수없이 gcc 자체를 호출합니다.
이것이 내가 경로를 처리하게 한 버전입니다.
CC = gcc
DIR = bin
TARGETS = cloud controller
OBJECTS = $(addprefix $(DIR)/, $(TARGETS))
all: $(OBJECTS)
$(DIR)/%: [email protected]
$(CC) $< -o $@
$(DIR):
mkdir $(DIR)
이것은 gcc가 경로를 처리하게하는 버전입니다.
CC = gcc
DIR = bin
TARGETS = cloud controller
all: $(TARGETS)
mkdir $(DIR) -p
%: [email protected]
$(CC) $< -o $(DIR)/$@
@ EtanReisner 의 의견에 따라로 변경 $@
되었습니다 .%
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다