c - 使用 makefile 编译时,如何在不使用命令 'make clean' 的情况下清理目标文件?

标签 c compilation makefile

我想知道的是如何编写一个 makefile 来编译程序,然后仅使用命令“make”删除在进程中创建的目标文件,这样我就不必在之后运行命令“make clean”。这是我当前的 makefile:

prog: prog.o prog_func.o
    gcc prog.o prog_func.o -o prog -Wall -std=c99   
prog.o: prog.c prog_func.h
    gcc prog.c -c -Wall -std=c99 
prog_func.o: prog_func.c prog_func.h
    gcc prog_func.c -c -Wall -std=c99
clean:
    rm prog.o prog_func.o

编辑:

这是如何完成的:

prog: prog.o prog_func.o
    gcc prog.o prog_func.o -o prog -Wall -std=c99
    rm prog.o prog_func.o
prog.o: prog.c prog_func.h
    gcc prog.c -c -Wall -std=c99 
prog_func.o: prog_func.c prog_func.h
    gcc prog_func.c -c -Wall -std=c99

现在可以了。感谢您的快速回复。

最佳答案

构建可执行文件后,只需在可执行命令后给出相同的命令(rm命令)即可

关于c - 使用 makefile 编译时,如何在不使用命令 'make clean' 的情况下清理目标文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26776140/

相关文章:

c - 获取 const void 的内容

c - rand() 在循环中给出相同的结果

java - 在没有父类主体的情况下用 Java 编译插件代码

java - 动态编译和执行代码的直接标准输出

c - 将 printf() 作为参数传递给自身 : printf ("%", printf ("%s", "something something"));

c - pthread 示例中的查询 regaring 代码序列

eclipse - Eclipse无法解决传递依赖项目?

c++ - 如何使用 libssh 运行 makefile?

c - 编译 OpenGL 时出现 GLUT 库问题

c - 如何用C语言为 "Makefile"游戏编写 “Guess the Right Number!”?