加载中…
个人资料
我是红烧排骨
我是红烧排骨
  • 博客等级:
  • 博客积分:0
  • 博客访问:0
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

关于 gcc MT MF[转]

(2013-11-19 23:15:12)
分类: 编程
%.d %.c
        $(CC) $(CCFLAGS) -MF"$@" -MG -MM -MP -MT"$@" -MT"$(<:.c=.o)" "$<"

查资料说:
  关于-MF和-MT,这些选项是用来生成依赖文件列表的,而这个列表又能以-include 或者include 的形式添加到Makefile中。其中MF指定文件名,MT指定依赖目标名。
  不明白的地方:
    MT  MF 在上述的编译语句中其什么作用?
    上面说的“MF指定文件名,MT指定依赖目标名”含义是什么? gcc makefile
------Solutions------
-MF很好理解,就是输出依赖文件名
-MT就是说在输出的依赖文件中的目标, 楼主的例子里为-MT"$@" -MT"$(<:.c=.o)"
就是说在输出的依赖文件中目标是 "$@" 和 "$(<:.c=.o)"

看个例子就明白了, 注意红色和蓝色的部分,分别对应两个MT的"目标"
cat Makefile
%.d %.c
        $(CC) $(CCFLAGS) -MF"$@" -MG -MM -MP -MT"$@-MT"$(<:.c=.o)"$<"

make demo.d
gcc  -MF"demo.d" -MG -MM -MP -MT"demo.d-MT"demo.o"demo.c"
cat demo.d
demo.d demo.odemo.c

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有