我为一些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)
我的文件夹中没有相同名称的文件,我可以在终端写入时编译它们.你能帮我吗?提前致谢!
您尚未为目标指定依赖项.
做什么,首先检查你的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在必要时重新编译.