Make file 질문 입니다.

jytg669의 이미지

Make File 작성중에 하나의 *.o파일만 실행되고 멈추는 현상에 대해 질문 드립니다.

CPP File
- main.cpp
- test.cpp

Head File
- test.h

MakeFile
 
test.o: test.h test.cpp
    g++ -o test.o -c test.cpp
 
main.o: main.cpp
    g++ -o main.o -c main.cpp
 
start: main.o
    g++ -o test test.o

해당 구성의 makefile이 'make' 수행을 하면 제일 위에
test.o 파일만 빌드가 되고 멈춰 버립니다.

해결 할 방법 이있을까요??..ㅠㅠ

익명 사용자의 이미지

start: 부분을 all: 로 바꿔주세요

jytg669의 이미지

CC = g++
 
TARGET = start
 
all = $(TARGER)
 
test.o: test.h test.cpp
        $(CC) -o $@ -c test.cpp
 
main.o: test.h main.cpp
        $(CC) -o $@ -c main.pp
 
all: main.o
        $(CC) -o $@ test.o
 
 
clean:
        rm -r *.o

현재 이런 상태로 변경을 했는데도 제일 위에꺼 먼져 빌드?가 되네요..ㅠㅠ

익명 사용자의 이미지

TARGER 오타 있네요

익명 사용자의 이미지

all: 을 위로 올리세요. all = $(TARGER) 위치로 올리고 all = $(TARGER) 는 삭제하세요.

all: $(TARGET) 이렇게 바꾸세요.

인터넷 검색하면 Makefile 템플릿 파일 있으니까 그거 참고하세요

raymundo의 이미지

start 인지 all 인지는 상관 없고, make 명령 뒤에 타겟 이름이 없으면 첫번째 타겟을 실행합니다. 그러니 all: 타겟을 제일 먼저 쓰세요.

https://stackoverflow.com/a/2057716/1150133

좋은 하루 되세요!

jytg669의 이미지

앗 감사합니다.^^