当前位置:  开发笔记 > 编程语言 > 正文

这些Makefile结构意味着什么?

如何解决《这些Makefile结构意味着什么?》经验,为你挑选了1个好方法。

有人可以帮我弄清楚下面的make文件吗?

BINS=file1 file2 file3

all: $(BINS)

clean: 
        rm -f $(BINS) *~ 

$*: $@.c
        gcc -g -o $@ $?

这是我的问题:

    什么是gcc的-g选项?

    什么是$*和$ @

    如何知道执行最后一个目标?

谢谢!



1> Jon Ericson..:

来自gccmake文档:

    "-g以操作系统的本机格式生成调试信息".

    一个."$*与隐式规则匹配的词干(参见模式匹配).如果目标是dir/a.foo.b且目标模式是.%.b那么词干是dir/foo.词干是用于构造相关文件的名称.在静态模式规则中,词干是文件名的一部分,与目标模式中的'%'匹配."

    湾 "$ @规则目标的文件名.如果目标是归档成员,则'$ @'是归档文件的名称.在具有多个目标的模式规则中(请参阅模式规则简介), '$ @'是导致规则命令运行的任何目标的名称."

    C."$?比目标更新的所有先决条件的名称,它们之间有空格." (没问,但值得补充.)

    "'all'编译整个程序.这应该是默认目标."

这个例子makefile有点受限,因为它似乎只构建C程序.在GNU化妆有几个是学习如何写的makefile有用的大量例子.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有