创建编译程序的默认规则?

创建编译程序的默认规则?

我正在尝试执行一项使用“makefile”、“自述文件”以及 C++ 源程序(.cpp 文件)的作业,所有这些都应该位于压缩的 tar 文件中。我被告知我的 makefile 也应该有一个干净和备份的规则,我不知道如何正确地完成其余的事情。

我试图交作业,但被告知“您的 makefile 没有编译此程序的默认规则。”

这是我的生成文件:

# 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 文件、一个自述文件和一个 makefile,我没有标头或任何东西。

答案1

我试图交作业,但被告知“您的 makefile 没有编译此程序的默认规则。”

好吧,无论是谁说的都是对的:您只有两条规则,一条删除构建产品,一条归档部分项目(不包括实际的源代码)。

在 Makefile 的开头添加:

all: myprogram

最后:

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

相关内容