컴파일러에 대한 기본 규칙을 만드시겠습니까?

컴파일러에 대한 기본 규칙을 만드시겠습니까?

"makefile", "readme" 및 C++ 소스 프로그램(.cpp 파일)을 사용하는 작업을 실행하려고 합니다. 모두 압축된 tar 파일에 있어야 합니다. 내 메이크파일에도 정리 및 백업 규칙이 있어야 한다는 말을 들었는데 나머지를 올바르게 수행하는 방법을 모르겠습니다.

과제를 제출하려고 했으나 "귀하의 메이크파일에는 이 프로그램을 컴파일하기 위한 기본 규칙이 없습니다."라는 말을 들었습니다.

이것은 내 빌드 파일입니다.

# makefile to build a program
clean:
    /bin/rm -f myname *.o
backup:
    tar czf cm25.assignment4_1.tar.gz readme Makefile

분명히 뭔가 빠진 것이 있지만 여기에는오래된다음에서 파일 생성오래된참고자료로 사용할 수 있지만 무엇을 포함해야 하는지, 무엇을 포함하지 않아도 되는지 잘 모르는 과제:

# makefile to build a program

# program depends on components: name and main 
myname:      main.o name.o 
    g++ -g  main.o name.o -o myname

# name.cpp has it's own header file
name.o:        name.cpp name.h
    g++ -c -g  name.cpp

# main.cpp also uses the header file name.h
main.o:        main.cpp name.h
    g++ -c -g main.cpp

clean:
    /bin/rm -f myname *.o
backup:
    tar czf cm25.assignment4_1.tar.gz *.cpp readme Makefile

내 모든 압축된 tar 파일에는 .cpp 파일, readme 및 makefile만 있고 헤더 등은 없습니다.

답변1

과제를 제출하려고 했으나 "귀하의 메이크파일에는 이 프로그램을 컴파일하기 위한 기본 규칙이 없습니다."라는 말을 들었습니다.

글쎄, 누가 옳다고 말했든: 두 가지 규칙만 있습니다. 하나는 빌드 제품을 삭제하고 다른 하나는 프로젝트의 일부를 보관하는 것입니다(실제 소스 코드는 포함하지 않음).

Makefile의 시작 부분에 추가하십시오.

all: myprogram

마침내:

myprogram: myprogram.cpp
(TAB)gcc -Os -Werror -Wall -Wextra -o myprogram myprogram.cpp

관련 정보