精华区 [关闭][返回]

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

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

当Automake不足以完成工作时


Automake隐含的复制语义(copying semantics)意味着许多问题可以通过在 `Mak
efile.in'中简单地增加make目标和规则来解决。 automake会忽略所有这些附加
的东西。 

但有一些问题需要注意。虽然你可以重载(overload)一个已被automake 使用的目
标,但一般不建议这样做,特别是在non-flat的包的顶层目录。最好是在 `Make
file.in'中为这些目标指定一个`-local'的版本。 

支持本地(local)版本的目标有:all, info, dvi, check, install-data, inst
all-exec, uninstall,以及多个 clean目标(mostlyclean, clean, distclean和
maintainer-clean)。注意其中没有 uninstall-exec-local和uninstall-data-l
ocal目标,可直接使用uninstall-local。 

例如,下面的语句可将一个安装文件到`/etc'目录下: 

install-data-local:
        $(INSTALL_DATA) $(srcdir)/afile /etc/afile

有的目标当它们自己的工作完成之后,还可通过某种方法运行另一个目标,称为
 hook。Hook位于主目标之后,名字带有`-hook' 后缀。允许hook的目标有:ins
tall-data, install-exec, dist和distcheck。 

例如,下面的语句可为一个安装好的程序创建一个硬连接: 

install-exec-hook:
        ln $(bindir)/program $(bindir)/proglink


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

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

[关闭][返回]