유닉스 메이크파일 오류 - 대상 빌드 규칙이 없습니다.

유닉스 메이크파일 오류 - 대상 빌드 규칙이 없습니다.

저는 main.cpp와 game.adt라는 두 개의 파일이 연결된 간단한 프로그램용 메이크파일을 작성하고 있습니다. csplit을 사용하여 game.adt를 헤더와 소스 코드(guess.h 및 추측.cpp)의 두 부분으로 분할해야 합니다. 나는 다음과 같이 makefile을 컴파일하려고 합니다.

HEADERS=guess.h

#Targets:

default: guessGame

guessGame: guess.o main.o

                g++ guess.o main.o -o guessGame

guess.o: guess.cpp $(HEADERS) 

                g++ -c guess.cpp -o guess.o

main.o: main.cpp $(HEADERS)

         g++ -c main.cpp -o main.o

clean:

       -rm -f guessGame *.o

그러나 "guess.o에는 대상 추측에 대한 규칙이 필요하지 않습니다"라고 나와 있습니다. 헤더 파일도 마찬가지입니다. "guess.cpp" 및 "guess.h" 파일이 존재하지 않기 때문이라는 것을 알고 있지만 .adt 파일을 분할하여 추측.cpp 및 추측.h로 만들어야 하기 때문입니다. 추측.cpp 및 추측.h 대상에 대해 adt 파일을 사용하여 규칙을 만드는 방법은 무엇입니까?

답변1

이는 개선될 수 있습니다. 하지만 시작하려면 다음 단계를 따르세요.

guess.cpp guess.h : game.adt
        csplit -sz $< '/Split Here/'
        mv xx00 guess.h
        mv xx01 guess.cpp

규칙 들여쓰기가 공백이 아닌 탭인지 확인하세요.

관련 정보