💭

extconf.rbでMakefileを編集する

2025/04/10に公開

extconf.rbの中でcreate_makefile(libname)を呼ぶとMakefileが生成される。それを編集したい時、ずっとFile.open("Makefile", "a")でファイルを開いて編集していたけど、実はcreate_makefileにブロックを渡して、その中で編集することができた。

extconf.rb
create_makefile libname do |conf|
  # confはMakefileの内容。戻り値がMakefileの内容として採用される。
  conf << <<~EOS
    # append some code
  EOS
end

るりまにプルリクエストを送ってみた: https://github.com/rurema/doctree/pull/2957

Discussion