Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > mkmfライブラリ > Kernelモジュール > create_makefile (private)
create_makefile(target, srcprefix = nil) -> true
[permalink][rdoc] [added by mkmf]
[TODO]
Kernel#have_library などの各種検査の結果を元に、拡張ライブラリをビルドするための Makefile を生成します。
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
ブロックを与える場合、生成する Makefile の設定部分を文字列の配列として yield します。
create_makefile('foo') {|conf| [ *conf, "MACRO_YOU_NEED = something", ] }
ソースディレクトリに depend ファイルが存在する場合、その内容が Kernel#depend_rules メソッドで整形されて、生成される Makefile に加えられます。