差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
c_cpp:autoconf [2019/02/12 21:36] – [STEP1: Makefile.am の作成] ともやん | c_cpp:autoconf [2023/09/27 05:30] (現在) – ともやん | ||
---|---|---|---|
行 2: | 行 2: | ||
Autoconf は、さまざまなシステムに適応するようにソースコードパッケージを自動的に設定するシェルスクリプトを作成するためのツールです。\\ | Autoconf は、さまざまなシステムに適応するようにソースコードパッケージを自動的に設定するシェルスクリプトを作成するためのツールです。\\ | ||
Autoconf によって生成された設定スクリプトは、実行時に Autoconf から独立しているため、ユーザーは Autoconf をインストールしている必要はありません。\\ | Autoconf によって生成された設定スクリプトは、実行時に Autoconf から独立しているため、ユーザーは Autoconf をインストールしている必要はありません。\\ | ||
+ | \\ | ||
+ | 各種コマンドは以下のパッケージに含まれる。\\ | ||
+ | < | ||
+ | $ sudo dnf install automake | ||
+ | </ | ||
+ | |||
===== ビルドまでの流れ ===== | ===== ビルドまでの流れ ===== | ||
< | < | ||
行 18: | 行 24: | ||
</ | </ | ||
< | < | ||
- | jQuery(function() { | + | |
// toc をフロー図の上に重ねて、フロー図の幅が縮まない様にする | // toc をフロー図の上に重ねて、フロー図の幅が縮まない様にする | ||
jQuery("# | jQuery("# | ||
行 31: | 行 37: | ||
// rowspan でフロー図の列を連結する | // rowspan でフロー図の列を連結する | ||
jQuery("# | jQuery("# | ||
- | }); | + | });*/ |
</ | </ | ||
</ | </ | ||
行 64: | 行 70: | ||
</ | </ | ||
※開発者ではない一般ユーザーは、STEP8 で ./ | ※開発者ではない一般ユーザーは、STEP8 で ./ | ||
+ | |||
+ | ===== ディレクトリ構成 ===== | ||
+ | 以下の構造を想定している。 | ||
+ | < | ||
+ | autoconf_sample | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | +hello.cpp (file) | ||
+ | </ | ||
===== C++ サンプルの準備 ===== | ===== C++ サンプルの準備 ===== | ||
行 108: | 行 130: | ||
空ファイルでも構わないので、INSTALL、NEWS、README、LICENSE、AUTHORS、ChangeLog のファイルを準備する。\\ | 空ファイルでも構わないので、INSTALL、NEWS、README、LICENSE、AUTHORS、ChangeLog のファイルを準備する。\\ | ||
<WRAP prewrap 100%>< | <WRAP prewrap 100%>< | ||
- | $ touch INSTALL NEWS README | + | $ touch AUTHORS ChangeLog |
</ | </ | ||
Makefile.am を作成する。\\ | Makefile.am を作成する。\\ | ||
行 209: | 行 231: | ||
# Checks for library functions. | # Checks for library functions. | ||
- | AC_CONFIG_FILES([Makefile | + | AC_CONFIG_FILES([Makefile]) |
- | src/Makefile]) | + | |
AC_OUTPUT | AC_OUTPUT | ||
</ | </ | ||
行 239: | 行 260: | ||
configure.ac: | configure.ac: | ||
configure.ac: | configure.ac: | ||
- | src/Makefile.am: | + | Makefile.am: |
</ | </ | ||
行 289: | 行 310: | ||
configure: creating ./ | configure: creating ./ | ||
config.status: | config.status: | ||
- | config.status: | ||
config.status: | config.status: | ||
config.status: | config.status: | ||
config.status: | config.status: | ||
- | make all-recursive | + | make all-am |
- | make[1]: ディレクトリ '/ | + | make[1]: ディレクトリ '/ |
- | Making all in src | + | depbase=`echo |
- | make[2]: ディレクトリ '/home/ | + | g++ -DHAVE_CONFIG_H -I. |
- | g++ -DHAVE_CONFIG_H -I. -I.. | + | mv -f $depbase.Tpo $depbase.Po |
- | mv -f .deps/hello.Tpo .deps/hello.Po | + | g++ -g -O2 -o hello src/hello.o |
- | g++ -g -O2 -o hello hello.o | + | make[1]: ディレクトリ '/ |
- | make[2]: ディレクトリ '/ | + | |
- | make[2]: ディレクトリ '/ | + | |
- | make[2]: ディレクトリ '/ | + | |
- | make[1]: ディレクトリ '/ | + | |
</ | </ | ||
===== hello の実行 ===== | ===== hello の実行 ===== | ||
< | < | ||
- | $ src/hello | + | $ ./hello |
10 20 30 | 10 20 30 | ||
</ | </ |