Makefile:...是最新的

a_u*_*ser 1 c makefile

我为一些c文件制作了一个makefile.我在互联网上看到了太多的方法,但我总是遇到同样的问题:make:`q_a'是最新的.

q_a: 
gcc -o q_a quick_sort_i.c

q_g: 
gcc -o q_g quick_sort_g.c

s_a: 
gcc -o s_a shell_sort_i.c

s_g: 
gcc -o s_g shell_sort_g.c

fork: 
gcc -o fork fork.c
Run Code Online (Sandbox Code Playgroud)

我的文件夹中没有相同名称的文件,我可以在终端写入时编译它们.你能帮我吗?提前致谢!

And*_*tin 5

您尚未为目标指定依赖项.

做什么,首先检查你的target(q_a)是否作为一个文件存在,如果它存在,如果它的依赖是更新的(如,有更近的修改时间)作为你的目标.只有当需要更新(它不存在或依赖性更新)时才执行规则.

这意味着,如果q_a每次quick_sort_i.c更改时都需要重新编译,则需要将其作为依赖项添加q_a,如下所示:

q_a: quick_sort_i.c
    gcc -o q_a quick_sort_i.c
Run Code Online (Sandbox Code Playgroud)

有了它,make会q_a在必要时重新编译.