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 年前3Debian 维护者指南
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 年前3Debian 新维护者手册
所有软件包都必须,却可能对你有用, 或者你的软件包制作过程中会需要它们: • 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 年前3Debian 新維護人員手冊
軟件包雖不是對於所有軟件包都必須,卻可能對你有 用或被你的軟件包所需要: • 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 页 | 512.12 KB | 1 年前3Building Linux Distribution(Linux 分布式)- 贾晓宇
a high-performance multi- task execution engine. Automake the build process using the rust language Using Rust and LFS build linux distro Automake the build process using the rust language Using0 码力 | 19 页 | 723.62 KB | 1 年前3This Debian Reference (version 2.109)
autoconf V:32, I:233 2025 ”info autoconf” provided by autoconf-doc automake V:32, I:232 1837 ”info automake” provided by automake1.10-doc libtool V:27, I:216 1213 ”info libtool” provided by libtool-doc ”configure.ac”. – ”configure” is used later to produce ”Makefile” from ”Makefile.in” template. • Automake is a tool to produce ”Makefile.in” from ”Makefile.am”. • Libtool is a shell script to address the the system 12.6.2.2 Uninstall program If you have the original source and if it uses autoconf(1)/automake(1) and if you can remember how you configured it, execute as follows to uninstall the program.0 码力 | 266 页 | 1.25 MB | 1 年前3MuPDF 1.22.0 Documentation
autoconf and automake installed on your system. If this software is not already on your system (usually usr/local/bin) then it can be installed from the GNU website. Alternatively, autoconf and automake can be be installed via Brew by running: brew install autoconf automake. 1.3 Validating your installation From the command line you should now have the following MuPDF commands available: • mupdf-gl A handy0 码力 | 175 页 | 698.87 KB | 7 月前3Debian 参考手册(版本 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 年前3Debian Referenz v2.124
autoconf V:31, I:230 2025 ”info autoconf” aus dem autoconf-doc-Paket automake V:30, I:228 1837 ”info automake” aus dem automake1.10-doc-Paket libtool V:25, I:212 1213 ”info libtool” aus dem libtool-doc-Paket wird dann später verwendet, um aus der Vorlage ”Makefile.in” die ”Makefile”-Datei zu generieren. • Automake erstellt aus einer ”Makefile.am” eine ”Makefile.in”. • Libtool ist ein Shell-Skript für die Problematik 2 Deinstallation eines Programms Wenn Sie noch den Original-Quellcode haben, dieser autoconf(1)/automake(1) nutzt und Sie noch wissen, wie Sie es kon- figuriert haben, verfahren Sie wie folgt, um das Programm0 码力 | 289 页 | 1.44 MB | 1 年前3Referência Debian v2.124
V:31, I:230 2025 ”info autoconf” disponibilizado por autoconf-doc automake V:30, I:228 1837 ”info automake” disponibilizado por automake1.10-doc libtool V:25, I:212 1213 ”info libtool” provided by libtool-doc ”configure.ac”. – ”configure” is used later to produce ”Makefile” from ”Makefile.in” template. • Automake is a tool to produce ”Makefile.in” from ”Makefile.am”. • Libtool is a shell script to address the system 12.6.2.2 Desinstalar um programa Se tiver o código original, se ele utiliza autoconf(1)/automake(1) e se você lembrar como o configurou, execute como segue para desinstalar o programa. $ ./configure0 码力 | 281 页 | 1.39 MB | 1 年前3
共 75 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8