精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 软件开发>>没有规矩,不成方圆----文档与标准化>>AutoMake简要说明——目录>>AutoMake简要说明(13)

主题:AutoMake简要说明(13)
发信人: dingdang()
整理人: zelor(2001-11-27 10:40:26), 站内信件
第一节, 上一节, 下一节, 最后一节, 回到目录 
----------------------------------------------------------------------
----------

软件发布的规则


在生成的`Makefile.in'有一个dist目标可生成由gzip压缩的tar文件用于分发。
该文件的名字基于变量 `PACKAGE'和`VERSION'的值,格式为: `package-versi
on.tar.gz'。 

一般来说,需要分发的文件可由Automake自动决定: 所有的源文件以及所有的 `
Makefile.am'和`Makefile.in'都自动包含在发布版本中。 Automake内部还有一
个常用文件的清单,如果当前目录下存在这些文件,它们也将自动放入发布版本
。可执行`automake --help'列出这些文件的清单。另外,由configure读入的文
件(比如:变量 AC_OUTPUT指定的源文件)也可被自动加入发布版本。 

有时,某些文件必须被分发,但却不能被自动规则所覆盖。可在 EXTRA_DIST变量
中列出这些文件。请注意 EXTRA_DIST只能处理在当前目录下的文件,位于其它目
录下的文件会导致make dist运行时出错。 

如果你定义了SUBDIRS, automake将会在分发中递归地包含所有的子目录。如果S
UBDIRS是条件定义的(参见 条件), automake通常会尽可能地包含所有SUBDIRS中
出现的子目录。如果你需要设定一个条件目录集,可在DIST_SUBDIRS中准确地列
出所有应包含在分发中的子目录。 

偶尔用户需要在打包之前允许对发布版本作一些改动。如果存在 dist-hook目标
,则它会在填充分发目录之后且在创建tar(或shar)文件之前运行。比如: 

dist-hook:
        mkdir $(distdir)/random
        cp -p random/a1 random/a2 $(distdir)/random

Automake还会自动生成一个distcheck目标,她有助于保证一个给定的分发实际是
可以工作的。distcheck创建一个发布版本,然后试图执行一个VPATH编译。 


----------------------------------------------------------------------
----------
第一节, 上一节, 下一节, 最后一节, 回到目录 

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.84.141]

[关闭][返回]