여기에 쉬운 메이크 파일이 있습니다.메이크 파일에 대한 질문
나는 2 개의 질문이 있습니다.
- 모든 : $ (출처) $ (실행) 왜 종속성에 소스를 넣어.
".cpp.o :"
CC=g++ CFLAGS=-c -Wall LDFLAGS= SOURCES=main.cpp hello.cpp factorial.cpp OBJECTS=$(SOURCES:.cpp=.o) EXECUTABLE=hello all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) -o [email protected] .cpp.o: $(CC) $(CFLAGS) $< -o [email protected]
소스가 종속성에 포함되어 있지 않으면 소스 파일을 수정 한 후 "모두 작성"을 실행하면 실행 파일이 다시 컴파일되지 않습니다. – dave
.cpp.o :는 .cpp 파일 확장명을 가진 파일이 후속 명령을 실행하여 .o 버전의 파일로 변환 될 수 있음을 나타내는 구식 접미사 규칙입니다. GNU make OLD-FASHIONED SUFFIX 규칙에 대한 자세한 정보는 http://www.gnu.org/software/make/manual/make.html#Suffix-Rules에서 확인할 수 있습니다. – dave