差分
このページの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 | ||
| </ | </ | ||