上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
開発/autotools
をテンプレートにして作成
資料室
開発/autotools をテンプレートにして作成
[
差分
|
バックアップ
|
リロード
]
[ ]
開始行:
#topicpath
#contents
* autotoolsのすすめ
Makefileを手を抜いて作成したい。~
そんな時に,Makefileを簡単に作成するためのツールがautotoo...
通常,Makefileにはコンパイルする際の諸設定,リンクする際...
そこで,Makefileよりももっと簡単な設定ファイルMakefile.am...
** makeとMakefile
makeは,そのディレクトリ内にあるMakefileを参照して,書か...
簡単なMakefileの例だと,
sample.o : sample.c
gcc sample.c -o sample.exe
単に1つのソースファイルをコンパイルするだけならmakeをする...
この時はMakefileを一度作っておけば,その後はmakeと打てば...
** configureってなに?
他人にソースを配布するときは,手軽にコンパイルができるよ...
しかし,相手の環境によってコンパイルの仕方が変わってしま...
そこで登場するのが,''configure''((configureは,Bourne Sh...
''configure''は,実行すると,その実行した環境に合った''Ma...
$ ./configure
$ make
$ make install
という手順でコンパイル,インストール,が可能になったりし...
configureを手作業で一から書くのはめんどうです。なので,co...
これらのことにより,Makefileを手を抜いて作成することも,...
** autotoolsを使えるようにする
[[MinGW>/開発/toolchain/MinGW]]をインストールして使えるよ...
[[MinGW>/開発/toolchain/MinGW]]をインストールしていない場...
** とりあえず使ってみる
*** サンプルの用意
まずは試しに,こんなソースのファイルsample.cを用意してみる
#include <stdio.h>
int main(void)
{
printf("Hello Yuji!\n");
return 0;
}
''Makefile.amを作成''~
移植性の高いMakefileを作るためのMakefile.acの雛形(Makefi...
noinst_PROGRAMS = sample
sample_SOURCES = sample.c
これは,sample.exeはsample.cから作られる場合です。
noinst_PROGRAMSは,noinstで「make installしてもインストー...
ちなみに,make installしたときにインストールする実行ファ...
sample_SOURCESは,noinst_PROGRAMSに設定したsampleに関する...
%%しかし今回は,何も記述していない空のファイルでも大丈夫...
$ touch Makefile.am
%%Editorでも右クリックで新規ファイル作成でもとにかくファ...
つまり,''必要なファイルとしては,ソースコード以外にはMak...
*** autoscanでconfigure.acを生成する
$ autoscan
$ 好きなEditorでconfigure.scanを編集する
$ mv configure.scan configure.ac
autoscanを使ってconfigure.scanを作成した後,ファイルを以...
# -*- Auto...
# Process this file with autoconf to produce a configure...
AC_PREREQ([2.68])
AC_INIT([sample], [1.0.0], [y-ueno@nalux.co.jp]) <-- ...
AC_CONFIG_SRCDIR([sample.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign]) <-- ...
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characte...
# Checks for library functions.
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
AC_INITマクロにプログラムの情報を入れることと,AM_INIT_AU...
AM_INIT_AUTOMAKEは,automakeを使うことをautoconfに伝える...
この時の引数はGNU準拠のprojectとして作るわけではないので...
AC_PROG_CCは,使用するCコンパイラの設定で,configureが環...
AC_CONFIG_FILES([Makefile])は,Makefile.inを雛形にしてMak...
これが終わったら,ファイル名を''configure.ac''にリネーム...
*** autoreconfでconfugureを作成する
普通は,この後autoconf/automakeを使用してconfigureを作成...
$ autoreconf -i
これで,configureが作成される。
AM_INIT_AUTOMAKE([foreign 1.11.1])の効果で,必要なファイ...
*** autoconf/automakeでconfigureを作成する場合
autoreconfを使わないで,autoconf/automakeでconfigureを作...
$ aclocal
これで,aclocal.m4が作成される。~
aclocal.m4は,configure.acやMakefile.amを解析して,autoto...
$ autoconf
autoconfを使って,configure.acを解析してconfigureを作成す...
$ autoheader
autoheaderを使って,configure.acを解析してconfig.h.inを作...
config.h.inは,configureがconfig.hを作成する時に使用する。
$ automake --add-missing
automakeを使って,Makefile.amとconfigure.ac,config.h.in...
Makefile.inは,configureがMakefileを作成する時に使用する。
*** configureを実行してMakefileを作成
$ ./configure
を実行すると,Makefileがめでたく作成される。
*** コンパイルと実行
$ make
$ sample
Hello Yuji!
makeコマンドでコンパイルされ,sample.exeが出来ます。実行...
*** make distしてみる
$ make dist
を実行すると,sample-1.0.0.tar.gzが作成される。~
他の人にソースコード類を渡すのにはこのファイルを渡せばOK...
この時作られるファイル名は,configure.acに記述した
AC_INIT([sample], [1.0.0], [y-ueno@nalux.co.jp])
から作られます。
$ make distcheck
でパッケージを作成して,正しくプログラムが作成できるかど...
%%中身が空のMakefile.amでもMakefileが出来るとは%%,さすが...
* Autotools(autoconfとautomake)による作業の流れ
#ref(autotools.png)
終了行:
#topicpath
#contents
* autotoolsのすすめ
Makefileを手を抜いて作成したい。~
そんな時に,Makefileを簡単に作成するためのツールがautotoo...
通常,Makefileにはコンパイルする際の諸設定,リンクする際...
そこで,Makefileよりももっと簡単な設定ファイルMakefile.am...
** makeとMakefile
makeは,そのディレクトリ内にあるMakefileを参照して,書か...
簡単なMakefileの例だと,
sample.o : sample.c
gcc sample.c -o sample.exe
単に1つのソースファイルをコンパイルするだけならmakeをする...
この時はMakefileを一度作っておけば,その後はmakeと打てば...
** configureってなに?
他人にソースを配布するときは,手軽にコンパイルができるよ...
しかし,相手の環境によってコンパイルの仕方が変わってしま...
そこで登場するのが,''configure''((configureは,Bourne Sh...
''configure''は,実行すると,その実行した環境に合った''Ma...
$ ./configure
$ make
$ make install
という手順でコンパイル,インストール,が可能になったりし...
configureを手作業で一から書くのはめんどうです。なので,co...
これらのことにより,Makefileを手を抜いて作成することも,...
** autotoolsを使えるようにする
[[MinGW>/開発/toolchain/MinGW]]をインストールして使えるよ...
[[MinGW>/開発/toolchain/MinGW]]をインストールしていない場...
** とりあえず使ってみる
*** サンプルの用意
まずは試しに,こんなソースのファイルsample.cを用意してみる
#include <stdio.h>
int main(void)
{
printf("Hello Yuji!\n");
return 0;
}
''Makefile.amを作成''~
移植性の高いMakefileを作るためのMakefile.acの雛形(Makefi...
noinst_PROGRAMS = sample
sample_SOURCES = sample.c
これは,sample.exeはsample.cから作られる場合です。
noinst_PROGRAMSは,noinstで「make installしてもインストー...
ちなみに,make installしたときにインストールする実行ファ...
sample_SOURCESは,noinst_PROGRAMSに設定したsampleに関する...
%%しかし今回は,何も記述していない空のファイルでも大丈夫...
$ touch Makefile.am
%%Editorでも右クリックで新規ファイル作成でもとにかくファ...
つまり,''必要なファイルとしては,ソースコード以外にはMak...
*** autoscanでconfigure.acを生成する
$ autoscan
$ 好きなEditorでconfigure.scanを編集する
$ mv configure.scan configure.ac
autoscanを使ってconfigure.scanを作成した後,ファイルを以...
# -*- Auto...
# Process this file with autoconf to produce a configure...
AC_PREREQ([2.68])
AC_INIT([sample], [1.0.0], [y-ueno@nalux.co.jp]) <-- ...
AC_CONFIG_SRCDIR([sample.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign]) <-- ...
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characte...
# Checks for library functions.
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
AC_INITマクロにプログラムの情報を入れることと,AM_INIT_AU...
AM_INIT_AUTOMAKEは,automakeを使うことをautoconfに伝える...
この時の引数はGNU準拠のprojectとして作るわけではないので...
AC_PROG_CCは,使用するCコンパイラの設定で,configureが環...
AC_CONFIG_FILES([Makefile])は,Makefile.inを雛形にしてMak...
これが終わったら,ファイル名を''configure.ac''にリネーム...
*** autoreconfでconfugureを作成する
普通は,この後autoconf/automakeを使用してconfigureを作成...
$ autoreconf -i
これで,configureが作成される。
AM_INIT_AUTOMAKE([foreign 1.11.1])の効果で,必要なファイ...
*** autoconf/automakeでconfigureを作成する場合
autoreconfを使わないで,autoconf/automakeでconfigureを作...
$ aclocal
これで,aclocal.m4が作成される。~
aclocal.m4は,configure.acやMakefile.amを解析して,autoto...
$ autoconf
autoconfを使って,configure.acを解析してconfigureを作成す...
$ autoheader
autoheaderを使って,configure.acを解析してconfig.h.inを作...
config.h.inは,configureがconfig.hを作成する時に使用する。
$ automake --add-missing
automakeを使って,Makefile.amとconfigure.ac,config.h.in...
Makefile.inは,configureがMakefileを作成する時に使用する。
*** configureを実行してMakefileを作成
$ ./configure
を実行すると,Makefileがめでたく作成される。
*** コンパイルと実行
$ make
$ sample
Hello Yuji!
makeコマンドでコンパイルされ,sample.exeが出来ます。実行...
*** make distしてみる
$ make dist
を実行すると,sample-1.0.0.tar.gzが作成される。~
他の人にソースコード類を渡すのにはこのファイルを渡せばOK...
この時作られるファイル名は,configure.acに記述した
AC_INIT([sample], [1.0.0], [y-ueno@nalux.co.jp])
から作られます。
$ make distcheck
でパッケージを作成して,正しくプログラムが作成できるかど...
%%中身が空のMakefile.amでもMakefileが出来るとは%%,さすが...
* Autotools(autoconfとautomake)による作業の流れ
#ref(autotools.png)
ページ名:
Counter: 0, today: 0, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
フォーラム
お問い合わせ