LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1345|回复: 0

The Goat Book 中文版 (4.1)

[复制链接]
发表于 2003-12-20 21:03:37 | 显示全部楼层 |阅读模式
//*************************************************************

译序

初学linux系统,感觉linux底下的编译,链接程序真的很麻烦。
因此想到了用Autoconf等工具。找到了Autobook这本好书。
也不知道有没有人翻译过这本书。
该书由女友Ellen翻译,在此对她表示感谢。
该书原文请参考 http://sources.redhat.com/autobook/...tobook_toc.html
如果翻译时有什么错误请
Ellengut2002@yahoo.com或者jasongut2002@126.com

转载请保留译序,3x.

//--------------------------------



4. `关于Makefile's的简介
   `Makefile's规定文件之间的依赖关系。它还规定了如何理顺这些关系来达到一个总的目标(即target)。由make处理`Makefile's。其他工具书详细描述了`Makefile's的语法及Make的各种应用 。本章节将概述`Makefile's,其中的信息足以在`Makefile.am'(参见第七部分的 Introducing GNU Automake)和`Makefile.in'中编写定制的规则。
4.1 `目标和依赖关系
   make程序试图通过更新目标的所有依赖关系来更新目标。这些依赖关系可能有更进一步的依赖关系。因此,当处理一个典型的`Makefile'时,一个潜在的复杂依赖关系图就形成了。以下是一个简单的`Makefile':


//***********************
all: foo
foo: foo.o bar.o baz.o
.c.o:
        $(CC) $(CFLAGS) -c $< -o $@
.l.c:
        $(LEX) $< && mv lex.yy.c $@
//***********************************

我们可以画出如下的依赖关系图:

//***************************
----------------all
                |
----------------foo            
----------------|
--------.-------+-------.   
-------/--------|-------\
------foo.o----bar.o----baz.o
-------|--------|--------|   
------foo.c----bar.c-----baz.c         
------------------------ |
------------------------baz.l

//***********************************
   除非`Makefile'包含一个的make指令,否则所有的目标都被认为是文件名,而且必须制定规则来创建这些文件或者以某种方式更新它们。
   当依赖关系中有叶子节点(见译注leaf node)时, Makefile'就必须包含一组命令集shell。该命令集利用依赖关系来更新被依赖者。令许多Make使用者大为懊恼的是,“更新”就意味着被依赖者的时戳比目标的时戳更晚。此外,shell命令集中的每个命令都在它们自己的子shell中运行。除非Makefile'对make有其他的指示,否则每个命令必须以0退出码表示退出成功。
    可以编写能被无条件执行的目标规则。要达到该目的只需规定目标没有被依赖者。以下是一条多数使用者都必须熟悉的简单规则:
//**************************
clean:
        -rm *.o core
//***********************
//译注:
  leaf node:翻译成叶子节点是直译,可感觉不是很好,那位有更好的翻译?
原文如下  When leaf nodes are found in the dependency graph, the `Makefile' must include a set of shell commands to bring the dependent up to date with the dependency.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表