Linux 下 Makefile 的 automake 生成全攻略Makefile 的 automake 生成 全攻略 作为 Linux 下的程序开发人员,大家一定都遇到过 Makefile,用 make 命令来编译自己写 的程序确实是很方便。一般情况下,大家都是手工写一个简单 Makefile,如果要想写出一 个符合自由软件惯例的 Makefile 就不那么容易了。 在本文中,将给大家介绍如何使用 autoconf 和 automake 两个工具来帮助我们自动生成 境变量或路径发生了变化后,Makefile 可能还要跟着修改。这样就造成了手工书写 Makefile 的诸多问题,automake 恰好能很好地帮助我们解决这些问题。 使用 automake,程序开发人员只需要写一些简单的含有预定义宏的文件,由 autoconf 根 据一个宏文件生成 configure,由 automake 根据另一个宏文件生成 Makefile.in,再使用 configure 依据 Makefile Makefile.in 来生成一个符合惯例的 Makefile。下面我们将详细介绍 Makefile 的 automake 生成方法。 二、使用的环境 本文所提到的程序是基于 Linux 发行版本:Fedora Core release 1,它包含了我们要用到 的 autoconf,automake。 三、从 Hello world 入手 我们从最常使用的例子程序 helloworld 开始。下面的过程如果简单地说来就是:0 码力 | 14 页 | 701.04 KB | 1 年前3
Debian 维护者指南Tip 在尝试制作 Debian 软件包之前,您应当熟悉了解上游源代码所使用的构建系统 并尝试构建软件。 5.18.1 Autotools 使用 Autotools(autoconf + automake)包括四个步骤。 1. 设置构建系统(“vim configure.ac Makefile.am”和“autoreconf -ivf”) 2. 配置构建系统(“./configure”) autoreconf”选项已可自动处理上述第一步到第四步全部内容。 如果您想进一步学习 Autotools,请参考: • GNU Automake 文档 • GNU Autoconf 文档 • Autotools 教程 • 对 autotools 的介绍(autoconf、automake 和 libtool) • Autotools 流言终结者 5.18.2 CMake 使用 CMake 通常也包含四个步骤。 Section 8.8 中所介绍的,使用这些文件进行打包。 更好的做法是,如果上游提供的 Makefile.am 和 configure.ac 兼容最新版本,我们可以使用最新的 Autoconf 和 Automake 软件包重新生成这些(Makefile 和 configure)文件。这么做有利于移植到新的 CPU 架构上等优势。此项工作可以使用带有“--with autoreconf”选项的 dh 命令来自动化。0 码力 | 142 页 | 1.11 MB | 1 年前3
Debian 新维护者手册所有软件包都必须,却可能对你有用, 或者你的软件包制作过程中会需要它们: • autoconf、automake 和 autotools-dev - 很多新程序使用 configure 脚本和 Makefile 文件来帮助预处理程序。 (参看 info autoconf、info automake)。autotools-dev 则用于保持指定的自动配置文件为最新,并带有关 于使用那些文件的最佳方法的文档。 epita.fr/~adl/autotools.html) 为 the GNU Build System known as the GNU Autotools 中 最重要的工具——Autoconf、Automake、Libtool 和 gettext 提供了很好的文档。 • gnu-standards - 此软件包包含了 GNU 项目中的两篇文档:GNU Coding Standards (http://www Makefile 和其他必须的源文件。然后程序就可以使用正常的 make; make install 来编译和安装。 Autotools 是 GNU 编译系统工具集,包括 Autoconf、Automake、Libtool 和 gettext。你可以通过 configure.ac、 Makefile.am 和 Makefile.in 等特征文件来识别使用 Autotools 作为编译系统的源代码。⁹0 码力 | 63 页 | 493.28 KB | 1 年前3
Debian 参考手册(版本 2.109)包提供“info make” autoconf V:32, I:233 2025 由 autoconf-doc 包提供“info autoconf” automake V:32, I:232 1837 由 automake1.10-doc 包提供“info automake” libtool V:27, I:216 1213 由 libtool-doc 包提供”info libtool” cmake V:16 是一个从”configure.ac” 生成 shell 脚本”configure” 的工具。 – ”configure” 随后用于从”Makefile.in” 模板生成”Makefile”。 • Automake 是一个从”Makefile.am” 生成”Makefile.in” 的工具。 • Libtool 是一个 shell 脚本,当从源代码编译共享库时,用来定位软件的移植性问题。 Debian sudo make install # this installs the files in the system 12.6.2.2 卸载程序 如果你有源码并且它使用 autoconf(1)/automake(1),如果你能记得你是怎样配置它的话,执行如下的命令来卸载程 序。 $ ./configure all-of-the-options-you-gave-it $ sudo make uninstall0 码力 | 261 页 | 1.39 MB | 1 年前3
Debian 參考手冊(第 2.109 版)make” autoconf V:32, I:233 2025 由 autoconf-doc 包提供的“info autoconf” automake V:32, I:232 1837 由 automake1.10-doc 包提供的“info automake” libtool V:27, I:216 1213 由 libtool-doc 包提供”info libtool” cmake V:16 是一個從”configure.ac” 生成 shell 指令碼”configure” 的工具。 – ”configure” 隨後用於從”Makefile.in” 模板生成”Makefile”。 • Automake 是一個從”Makefile.am” 生成”Makefile.in” 的工具。 • Libtool 是一個 shell 指令碼,當從原始碼編譯共享庫時,用來定位軟體的移植性問題。 Debian make install # this installs the files in the system 12.6.2.2 解除安裝程式 如果你有原始碼並且它使用 autoconf(1)/automake(1),如果你能記得你是怎樣調配它的話,執行如下的指令來解除 安裝程式。 $ ./configure all-of-the-options-you-gave-it $ sudo make uninstall0 码力 | 260 页 | 1.41 MB | 1 年前3
make & Makefile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . make & Makefile . 相关命令 . . automake和autoconf: 自动配置可移植的源码包,使得源码安装 成为: “./configure --> make --> make install” 三步曲; xmkmf和imake: 从第三方0 码力 | 36 页 | 975.98 KB | 1 年前3
Docker 从入门到实践 0.9.0(2017-12-31)指令的示例模板,展示了所有关于 apt-get 的建议。 RUN apt-get update && apt-get install -y \ aufs-tools \ automake \ build-essential \ curl \ dpkg-sig \ libcap-dev \ libsqlite3-dev \0 码力 | 370 页 | 6.73 MB | 1 年前3
Zabbix 5.4 中文手册tools (Xcode is not required), Automake, pkg-config and PCRE (v8.x). If you want to build agent binaries with TLS, you will also need OpenSSL or GnuTLS. To install Automake and pkg-config, you will need https://raw.githubusercontent.com/Homebrew/install/master/install)" Then install Automake and pkg-config: $ brew install automake $ brew install pkg-config Preparing PCRE, OpenSSL and GnuTLS libraries depends0 码力 | 2339 页 | 19.57 MB | 1 年前3
Zabbix 7.0 中文手册agent 二进制文件。 必要条件 您将需要命令行开发人员工具(不需要 Xcode),Automake,pkg-config 和 PCRE(v8.x)或 PCRE2(v10.x)。如果要使用 TLS 构建 agent 二进制文件,则还需要 OpenSSL 或 GnuTLS。 要安装 Automake 和 pkg-config ,您将需要来自 https://brew.sh/ 的软件包管理器。要安装它,请打开终端并运行以下命令: https://raw.githubusercontent.com/Homebrew/install/master/install)" 然后安装 Automake 和 pkg-config: 65 $ brew install automake $ brew install pkg-config 如何准备 PCRE、OpenSSL 和 GnuTLS 库取决于它们如何链接到 agent。如果您打算在已具有这些库的0 码力 | 1951 页 | 33.43 MB | 1 年前3
Linux就该这么学 第2版语言的编译器,以及各种常见的编译支持函数库程序。因此请 先配置妥当软件仓库,然后把下面列出的这些软件包都统统安装上: [root@linuxprobe~]# dnf -y install apr* autoconf automake numactl bison bzip2- devel cpp curl-devel fontconfig-devel freetype-devel gcc gcc-c++ gd-devel0 码力 | 552 页 | 22.25 MB | 1 年前3
共 33 条
- 1
- 2
- 3
- 4













