- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Makefile第一章如何写一个简单的
如何写一个简单的Makefile mini-HOWTO.txt 2003-4-18 22:18
1 第一章 如何写一个简单的Makefile
2
3 描述档案(Description File)
4
5 检查附属档案(Dependency Checking)
6
7 重建最小化(Minimizing Rebuilds)
8
9 引用make (Invoking make)
10
11 语法的基本规则(Basic Rules of Syntax)
12
13 当我们在提示符号之下下一个命令:
14
15 $ make program
16 $ make program
17
18 就是说你要去”make”一个新版本?而且通常是最新版本?的程式. 如果这个程式
19 是一个执行档,你所下的这个命令意思就是说你想要完成有所必须的编译
20 (compiling)与连结(linking),然后糟出一一个执行档. 你可以使用make来使这些程
21 序自动化,不必不断键入为数可观的gcc(or cc)这些编译器指令.
22
23 当我们讨论make的时候,我们把我们所要建造的程式(program)称做目标(target).
24 程式是由一个或一个以上的档案汇集在一起所建造出来的,这些档案的关系分为必备
25 档案(prerequisites)与附属档案(dependents). 每一个构成程式的档案依序有他们
26 自己的必备档案和附属档案.
27
28 例如,你藉由连结建造了可执行档. 一旦你的原始档(source file)或标头档(head
29 file)改变了,你就必须再连结新的可执行档之前重新编译目的档(object file). 每
30 一个原始档都是一个目的档的必备档案.
31
32 Make的优点就是它对附属的阶层关系是非常敏感的,像是原始档-目的档,目的档-
33 可执行档. 你负责在描述档(description file)中指定一些附属档案,这个描述档的
34 档名通常为makefile 或是Makefile. 但是make也知道自己所在的执行环境,它也会
35 自己决定许多它自己的附属档案. make会利用档案的档名,这些档案最近修改的时
36 间,和一些内建的规则,决定编译时要使用哪些档案与如何去建立它们. 在这样的技
37 术背景之下,之前所秀的那个简单的make指令会保证在阶层中所有建造目标时必须存
38 在的部分都会被更新.
39
40
41 描述档案(Description File)
42
43 假设你写了一个程式,程式由以下部分所组成:
44
45 *用C语言写的原始档? main.c iodat.c dorun.c
46
47 *用组合语言写的程式码?lo.s ,此档案被C写成的原始档所呼叫
48
49 *一组位于 /usr/fred/lib/crtn.a 之中的函式库常式(library routine)
50
51 如果你用手一一下指令建造这个程式,你会在提示符号下打入:
52
53 $cc ?c main.c
54
55 $cc ?c iodat.c
56
57 $cc ?c dorun.c
58
59 $as ?0 lo.o lo.s
60 $as ?0 lo.o lo.s
61
62 $cc ?o program main.o iodat.o dorun.o lo.o /usr/fred/lib/crtn.a
63
64 当然你也可以在一行cc命令之内就做好编译,组译,连结的工作(要下很长的一串指
Page 1 of 7
如何写一个简单的Makefile mini-HOWTO.txt 2003-4-18 22:18
65 令),但是在实际的程式设计环境下这是很少发生的(因为指令实在
您可能关注的文档
最近下载
- TCASME-半导体用砂轮划片机技术规范及编制说明.pdf
- 《城市经济学》全套教学课件.pptx
- GB/Z 44267-2024自动化系统与集成 工业数据 数字孪生的可视化元素.pdf
- 2024年山东城市服务职业学院单招职业技能测试题库及答案1套.docx VIP
- 读后续写题型解读 理论点拨——高三英语上学期一轮复习专项.pptx VIP
- invt英威腾CHF100A变频器说明书.pdf VIP
- 最新JingChaDaXue《灭火救援典型案例》期末试卷( A )参考答案.docx
- 商铺买卖合同范本7篇.docx
- 外研版小学英语一年级起点单词表4上.pdf
- 现代交换原理与技术总结.docx VIP
文档评论(0)