| 開発者 | GNU プロジェクト |
|---|---|
| 初回リリース | 1996年5月28日 |
| 安定版リリース | 1.17 [1]
/ 2024年7月11日 |
| リポジトリ |
|
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | プログラミングツール |
| ライセンス | GNU 一般公衆利用許諾書 |
| Webサイト | www.gnu.org/software/automake/ |
ソフトウェア開発において、GNU Automake はコンパイル プロセスの一部を自動化するプログラミング ツールです。これにより、一般的なコンパイルの問題が軽減されます。たとえば、必要な依存関係を指摘します。
Makefile.amというファイルから1 つ以上のMakefile.in を自動的に生成します。各Makefile.amには、コンパイラやリンカーのフラグ、依存関係とそのバージョンなど、コンパイルされたソフトウェアの便利な変数定義が含まれています。生成された「Makefile.in 」は移植可能で、 GNU コーディング標準の Makefile 規則に準拠しており、 configure スクリプトで使用して実用的なMakefileを生成することができます。[2]
フリーソフトウェア財団はオートメイクGNUプログラムの1つとして、またGNUビルドシステムの一部として使用されています。GTK [3]などのいくつかのGNUアプリケーションやライブラリ、およびXCircuit [4] などの非GNUソフトウェアをビルドするために使用されます。
プロセス

Automake は、プログラマが makefile 全体を手動で記述するのではなく、高水準言語で makefile を記述できるようにすることを目的としています。単純なケースでは、次のコードで十分です。
- ビルドするプログラムの名前を宣言する行
- ソースファイルのリスト
- コンパイラに渡されるコマンドラインオプションのリスト(たとえば、ヘッダーファイルが見つかるディレクトリなど)
- リンカーに渡されるコマンドライン オプションのリスト(プログラムに必要なライブラリと、それらがどのディレクトリにあるか)
Automake は依存関係情報を自動的に生成します[5]。そのため、ソース ファイルが変更されると、make コマンドを次に呼び出すときに、どのソース ファイルを再度コンパイルする必要があるかがわかります。コンパイラが許可する場合、Automake は依存関係システムを動的にしようとします。つまり、ソース ファイルがコンパイルされるたびに、コンパイラにファイルの依存関係リストを再生成するように要求することで、そのファイルの依存関係が更新されます。言い換えると、依存関係の追跡はコンパイル プロセスの副作用です。
これは、プログラマがプロジェクトに取り組み始めたときに依存関係が一度だけ検出されるという、一部の静的依存関係システムの問題を回避しようとするものです。[6]
デザイン
AutomakeはPerlで書かれており、 GNU Autoconfと一緒に使用する必要があります。[2] Automakeには次のコマンドが含まれています。
- ローカル
- オートメイク
ただし、 aclocalは、autoconf ユーザーにとって便利な汎用プログラムです。たとえば、GNU コンパイラ コレクション(GCC) は、 makefile が手動で記述されているにもかかわらず 、 aclocal を使用します。
Autoconfと同様に、Automakeは完全な下位互換性があるわけではありません。たとえば、automake 1.13で作成されたプロジェクトは、必ずしもautomake 1.14で動作するとは限りません。[7]
参照
参考文献
- ^ Jim Meyering (2024年7月11日). 「automake-1.17 リリース [安定版]」 . 2024年7月12日閲覧。
- ^ ab "GNU Automake". GNU .フリーソフトウェア財団. 2021-10-01 . 2024-04-26閲覧。
- ^ 「GTK+ ライブラリのコンパイル」 。2024年 4 月 26 日閲覧。
- ^ 「XCircuit のコンパイルとインストール」 。2024年 4 月 26 日閲覧。
- ^ 「Automake マニュアル - 自動依存関係追跡」. GNU.org . 2024 年 4 月 26 日閲覧。
- ^ 「Automake History」. GNU.org . 2024年4月26日閲覧。
- ^ 「Re: "make distclean" broken?」 2013-07-16 . 2024-04-26閲覧。
出典
- Vaughan, Gary V.; Elliston, Ben; Tromey, Tom (2000). GNU Autoconf、Automake、Libtool . Sams. ISBN 1-57870-190-2。
外部リンク
- 公式サイト
- The Goat Book 別名 Autobook のオンライン版。2010-12-20 にWayback Machineでアーカイブされました。
- Automake と Autoconf の統合マニュアル
- Autotoolset ホームページ
