友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
飞读中文网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

makefile概述-第5章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



包含进来。

gcc …M main。c的输出是:

    main。o: main。c defs。h /usr/include/stdio。h /usr/include/features。h 
         /usr/include/sys/cdefs。h /usr/include/gnu/stubs。h 
         /usr/lib/gcc…lib/i486…suse…linux/2。95。3/include/stddef。h 
         /usr/include/bits/types。h /usr/include/bits/pthreadtypes。h 
         /usr/include/bits/sched。h /usr/include/libio。h 
         /usr/include/_G_config。h /usr/include/wchar。h 
         /usr/include/bits/wchar。h /usr/include/gconv。h 
         /usr/lib/gcc…lib/i486…suse…linux/2。95。3/include/stdarg。h 
         /usr/include/bits/stdio_lim。h


gcc …MM main。c的输出则是:

    main。o: main。c defs。h

那么,编译器的这个功能如何与我们的Makefile联系在一起呢。因为这样一来,我们的Makefile也要根据这些源文件重新生成,让 Makefile自已依赖于源文件?这个功能并不现实,不过我们可以有其它手段来迂回地实现这一功能。GNU组织建议把编译器为每一个源文件的自动生成的依赖关系放到一个文件中,为每一个“name。c”的文件都生成一个“name。d”的Makefile文件,'。d'文件中就存放对应'。c'文件的依赖关系。

于是,我们可以写出'。c'文件和'。d'文件的依赖关系,并让make自动更新或自成'。d'文件,并把其包含在我们的主Makefile中,这样,我们就可以自动化地生成每个文件的依赖关系了。

这里,我们给出了一个模式规则来产生'。d'文件:

    %。d: %。c
            @set …e; rm …f @; 
             (CC) …M (CPPFLAGS) 《 》 @。; 
             sed 's;(*)。o' :'*;1。o @ : ;g' 《 @。 》 @; 
             rm …f @。

这个规则的意思是,所有的'。d'文件依赖于'。c'文件,“rm …f @”的意思是删除所有的目标,也就是'。d'文件,第二行的意思是,为每个依赖文件“
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!