나는 당신의 메이크 컴퓨터와 포스트 사이 어딘가에 왜곡있어 생각하지만, 내가 일을 생각하는 간단한 수정이 :
all: $(SOURCES)
(아마) 문제를 해결하고 오류가 갈 것 즉 어쨌든 그게 전부라면 그만하면 돼. 그러나 이 메이크 파일에 여전히 문제가있어 더 개선 할 수 있습니다.
첫째, 약간의 조정은 내가 당신의 메이크 진짜라고 생각하는 것과 일치로 만들려면 :
SOURCES = server.c
TARGET = Server
CC = gcc
all: $(SOURCES) $(TARGET)
$(CC) $(SOURCES) -o $(TARGET)
clean:
rm -rf $(TARGET)
처음 세 라인과 clean
규칙 모든 권리는, 우리는 사람들을 무시하는 것입니다. 이제 우리는 TARGET
에게 자신의 규칙을주고 전제 조건 곧게 : 이제 우리는 (정말 "모든"이라는 파일을하지 않기 때문에), 그리고 TARGET
규칙을 만들기 위해 자동 변수를 소개 all
가짜을
all: $(TARGET)
$(TARGET): $(SOURCES)
$(CC) $(SOURCES) -o $(TARGET)
을 더 강력하고 덜 중복 :
.PHONY: all
all: $(TARGET)
$(TARGET): $(SOURCES)
$(CC) $< -o [email protected]
코드베이스가 더 복잡해지면 배우는 것이 더 많지만, 지금은 그렇게 할 것입니다.
이 메이크 정말 위와 같이 보입니까 AFTER? 일치하지 않을 경우 두 개가 일치 할 때까지 수정하십시오. 그렇다면 makefile 구문을 읽어보십시오. –
예. 이것은 제 메이크 파일입니다. 위의 오류가 발생합니다. –