<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Automake</id>
	<title>Automake - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Automake"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Automake&amp;action=history"/>
	<updated>2026-07-01T00:48:55Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Automake&amp;diff=541041&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot：​Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Automake&amp;diff=541041&amp;oldid=prev"/>
		<updated>2026-01-25T13:53:28Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA|G1=IT|G2=FL}}&lt;br /&gt;
{{Infobox_Software&lt;br /&gt;
| name                   = Automake &lt;br /&gt;
| logo                   = Heckert GNU white.svg&lt;br /&gt;
| logo size              = 100px &lt;br /&gt;
| developer              = [[GNU計劃]] &lt;br /&gt;
| latest_release_version = 1.16.5&amp;lt;ref&amp;gt;{{cite web|author=Jim Meyering|title=automake-1.16.5 released [stable]|url=https://lists.gnu.org/archive/html/info-gnu/2021-10/msg00000.html|accessdate=2021-10-03|archive-date=2021-10-04|archive-url=https://web.archive.org/web/20211004232512/https://lists.gnu.org/archive/html/info-gnu/2021-10/msg00000.html}}&amp;lt;/ref&amp;gt; &lt;br /&gt;
| latest_release_date    = {{Release date and age|2021|10|03}}&lt;br /&gt;
| operating_system       = [[跨平台]] &lt;br /&gt;
| genre                  = [[軟體開發工具]] &lt;br /&gt;
| license                = [[GNU通用公共许可证]] &lt;br /&gt;
| website                = https://www.gnu.org/software/automake/&lt;br /&gt;
}}&lt;br /&gt;
[[File:Autoconf-automake-process.svg|thumb|400px|Flow diagram of autoconf and automake]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GNU Automake&amp;#039;&amp;#039;&amp;#039;是一種編程工具，可以產生供[[make]]程式使用的Makefile，用來編譯程式。它是[[自由軟體基金會]]發起的[[GNU計劃]]的其中一項，作為[[GNU构建系统|GNU構建系統]]的一部分。automake所產生的Makefile符合GNU編程標準。&lt;br /&gt;
&lt;br /&gt;
automake是由[[Perl]]語言所寫的，必須和[[autoconf|GNU autoconf]]一併使用。automake包含了以下命令：&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;aclocal&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;automake&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;aclocal&amp;#039;&amp;#039;是個泛用的程式，對於autoconf使用者是相當有用的。舉例而言，[[GCC|GNU Compiler Collection]]使用&amp;#039;&amp;#039;aclocal&amp;#039;&amp;#039;，即使Makefile是手寫的。&lt;br /&gt;
&lt;br /&gt;
就像autoconf，automake並非完全向下相容的。舉例而言，使用automake 1.4的專案可能不能使用automake 1.9。&lt;br /&gt;
&lt;br /&gt;
== 方法 ==&lt;br /&gt;
Automake目標是讓使用者透過高階語言來寫makefile，而不是透過純手工的方式來寫整個makefile。在簡單的情況下，它能提供：&lt;br /&gt;
*源檔案的列表&lt;br /&gt;
*傳給[[編譯器]]的命令行選項列表（比如標頭檔置於哪個路徑）&lt;br /&gt;
*傳給[[链接器]]的命令行選項列表（程式需要哪些程式庫以及它們的路徑）&lt;br /&gt;
&lt;br /&gt;
經由這些資訊，Automake產生makefile能夠讓使用者：&lt;br /&gt;
*編譯程式&lt;br /&gt;
*clean（清除，刪除編譯過程中所產生的檔案）&lt;br /&gt;
*將程式安裝於標準路徑&lt;br /&gt;
*將程式反安裝（從安裝的地方移除）&lt;br /&gt;
*create a source distribution archive (commonly called a tarball)&lt;br /&gt;
*test that this archive is self-sufficient, and in particular that the program can be compiled in a directory other than the one where the sources are deployed&lt;br /&gt;
&lt;br /&gt;
=== 依存性資訊的產生 ===&lt;br /&gt;
Automake能夠自動生成依存性的資訊，因此，當一個源文件被修改，下次呼叫make命令的時候就會知道哪些源文件需要重新編譯。如果編譯器允許，Automake會試著讓依存性系統保持動態：無論何時源文件被編譯，都會要求編譯器重新產生依存性列表更新該文件的依存性。換句話說，依存性追蹤是編譯過程的一種邊際效應。&lt;br /&gt;
&lt;br /&gt;
這企圖避免一些靜態依存性系統的問題，比如依存性只會在程式員開始專案時才會被偵測到。在這種情況下，如果源文件獲得一個新的依存性（例如，如果程式員增加了一個新的&amp;lt;code&amp;gt;#include&amp;lt;/code&amp;gt;指令在[[C語言]]的源文件），這樣在真實的依存性和編譯系統所使用的依存性之間就會產生差異。程式員應該重新產生依存性，但很有可能忘了那樣做。在一般情況下，automake透過隨附的[[depcomp]]腳本生成依存性，這會適當的呼叫編譯器或是回到[[makedepend]]。如果[[gcc]]編譯器的版本夠新的話，automake將會inline依存性生成碼，直接呼叫gcc。&lt;br /&gt;
&lt;br /&gt;
=== Libtool ===&lt;br /&gt;
Automake还可用来辅助库的编译，它可以自动生成调用[[Libtool]]的Makefile文件，从而使程序员避免了直接调用Libtool,而项目也可以从此可移植的库生成工具获益。&lt;br /&gt;
&lt;br /&gt;
== 參見 ==&lt;br /&gt;
{{portal|Free software|Free Software Portal Logo.svg}}&lt;br /&gt;
&lt;br /&gt;
* [[CMake]]&lt;br /&gt;
* [[qmake]]&lt;br /&gt;
* [[imake]]&lt;br /&gt;
* [[Flowtracer]]&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
{{refbegin}}&lt;br /&gt;
* Gary V. Vaughan, Ben Elliston, Tom Tromey: &amp;#039;&amp;#039;Gnu Autoconf, Automake, and Libtool&amp;#039;&amp;#039;, Sams, ISBN 1-57870-190-2&lt;br /&gt;
{{Reflist|2}}&lt;br /&gt;
{{refend}}&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20090618143105/http://sources.redhat.com/automake/ Automake home page]&lt;br /&gt;
* [http://sources.redhat.com/autobook/ Online version of &amp;#039;&amp;#039;The Goat Book&amp;#039;&amp;#039; aka Autobook]{{Wayback|url=http://sources.redhat.com/autobook/ |date=20101220095404 }}&lt;br /&gt;
* [http://autotoolset.sourceforge.net/ Autotoolset home page]{{Wayback|url=http://autotoolset.sourceforge.net/ |date=20030416234012 }}&lt;br /&gt;
* Article &amp;quot;[https://web.archive.org/web/20060110134958/http://www.openismus.com/documents/linux/automake/automake.shtml Using Automake and Autoconf with C++]&amp;quot; by Murray Cumming&lt;br /&gt;
&lt;br /&gt;
=== 教材 ===&lt;br /&gt;
* Tutorial for beginners &amp;quot;[https://web.archive.org/web/20070205161956/http://www.developingprogrammers.com/index.php/2006/01/05/autotools-tutorial/ Autotools Tutorial]&amp;quot; by Sarah George&lt;br /&gt;
* Tutorial &amp;quot;[https://web.archive.org/web/20060321205403/http://www.amath.washington.edu/~lf/tutorials/autoconf/ Learning Autoconf and Automake]&amp;quot; by Eleftherios Gkioulekas&lt;br /&gt;
* The &amp;quot;[https://www.lrde.epita.fr/~adl/autotools.html Autotools Tutorial]{{Wayback|url=https://www.lrde.epita.fr/~adl/autotools.html |date=20101227173311 }}&amp;quot; by Alexandre Duret-Lutz introduces [[Autoconf]], Automake, [[Libtool]], and [[Gettext]].&lt;br /&gt;
* [https://autotoolset.sourceforge.net/tutorial.html Learning the GNU Development tools]{{Wayback|url=https://autotoolset.sourceforge.net/tutorial.html |date=20101201015903 }}&lt;br /&gt;
&lt;br /&gt;
{{GNU}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GNU计划软件]]&lt;br /&gt;
[[Category:自动化构建]]&lt;br /&gt;
[[Category:編譯工具]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>