make命令

-B:所有目标总是重新建立
-C:目录
--debug[=FLAGS]:打印各种调试信息
-f FILE:读取 FILE 作为一个 makefile
-j [N]:同时允许 N 个任务;无参数表明允许无限个任务
-s:不显示命令
-t:touch 目标而不是重新创建它们
-w:打印当前目录

FLAGS取值:
a:all,输出所有的调试信息
b:basic,只输出简单的调试信息
v:verbose,在b选项的级别之上。输出的信息包括哪个makefile被解析,不需要被重编译的依赖文件(或是依赖目标)等
i:implicit,输出所以的隐含规则
j:jobs,输出执行规则中命令的详细信息,如命令的PID、返回码等
m:makefile,输出make读取makefile,更新makefile,执行makefile的信息

举例

myapp: char.o callback.o
    cc -o $@ $^

char.o: char.c char.h
callback.o: callback.c char.h

每次不会重新编译所有文件

-MM
产生依赖关系清单

# gcc -MM

我们只需要把它的输出保存到一个临时文件里去,再把它插入到制作文件里去,就可以得到一个完美依赖关系

posted @   thomas_blog  阅读(95)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示