12.安装

本系列文章均翻译自Automake官方文档:Automake Manual,github同步项目:question

文件格式_文件类型。名字中告诉automake构建的是什么的部分被称做primary,即后缀。例如,PROGRAMS掌握了将要被编译和链接的列表。前缀表示将安装到哪个标准目录。

目录名后缀:‘PROGRAMS’, ‘LIBRARIES’, ‘LTLIBRARIES’, ‘LISP’, ‘PYTHON’, ‘JAVA’, ‘SCRIPTS’, ‘DATA’, ‘HEADERS’, ‘MANS’, and ‘TEXINFOS’。

当运行make install时,所有的被各种primary命名的文件都会被自动安装在合适的位置。

12.1 安装基础

在primary中指定的文件的安装方式是复制构建文件到合适的目录下。只使用文件名,不使用目录前缀。

bin_PROGRAMS = hello subdir/goodbye

hello与goodbye都会被安装到$(bindir)
可以使用no_base前缀取消这一规则。

nobase_include_HEADERS = stdio.h sys/types.h

types.h会被安装到$(bindir)/sys下面。

12.2 安装的两个阶段

Automake通常分成install-datainstall-exec两个规则。前者安装的是与平台无关的文件,后者安装的是文件则相反。

安装的文件规则:

  • install-data:带有 ‘data’, ‘info’, ‘man’, ‘include’, ‘oldinclude’, ‘pkgdata’, or ‘pkginclude’ 前缀的文件列表
  • install-exec:带有 ‘bin’, ‘sbin’, ‘libexec’, ‘sysconf’, ‘localstate’, ‘lib’, or ‘pkglib’ 前缀的文件列表

任何使用用户自定义文件夹、带有exec前缀的变量(例如 myexecbin_PROGRAMS),被install-exec安装,其余所有的自定义前缀被install-data安装。

12.3 安装规则的扩展

使用-local后缀:install-exec-local or install-data-local。

使用-hook后缀:install-exec-hook or install-data-hook。

12.4 安装阶段

Automake在所有的安装规则中支持DESTDIR变量。每个对象和路径都会被加上DESTDIR前缀。

mkdir /tmp/staging &&
make DESTDIR=/tmp/staging install

此项特性通常被用于构建安装镜像和安装包。

12.5 用户的安装规则

支持的规则:uninstall, installdirs, and install-strip。

支持的扩展:uninstall-local and uninstall-hook。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值