create_makefile(target, srcprefix = nil) -> true
[permalink][rdoc][edit] [added by mkmf]-
[TODO]
Kernel#have_library などの各種検査の結果を元に、拡張ライブラリをビルドするための Makefile を生成します。
extconf.rb は普通このメソッドの呼び出しで終ります。
- [PARAM] target:
- ターゲットとなる拡張ライブラリの名前を指定します。例えば、拡張ライブラリで "Init_foo" という関数を定義している場合は、"foo" を指定します。 '/' を含む場合は、最後のスラッシュ以降のみをターゲット名として使用します。残りはトップレベルのディレクトリ名と見なされ、生成された Makefile はそのディレクトリ構造に従います。例えば、'test/foo' を指定した場合、拡張ライブラリは 'test' ディレクトリにインストールされます。この拡張ライブラリを Ruby スクリプトから使用するときは "require 'test/foo'" とする必要があります。
- [PARAM] srcprefix:
- ソースコードがあるディレクトリ名を指定します。省略した場合は extconf.rb があるディレクトリを使用します。
以下のようなディレクトリ構成の場合:
ext/ extconf.rb test/ foo.c
このようにします。
require 'mkmf' create_makefile('test/foo', 'test')
このようにして作った Makefile で 'make install' すると拡張ライブラリは、以下のパスにインストールされます。
/path/to/ruby/sitearchdir/test/foo.so