Change `.o.d` back to `.d` because `.pi.d` is no longer created
MODIFY
build_config/default.rb
build_config/default.rb
@@ -24,7 +24,7 @@ MRuby::Build.new do |conf|
# cc.defines = %w()
# cc.option_include_path = %q[-I"%s"]
# cc.option_define = '-D%s'
- # cc.compile_options = %Q[%{flags} -MMD -MF "%{outfile}".d -o "%{outfile}" -c "%{infile}"]
+ # cc.compile_options = %Q[%{flags} -MMD -o "%{outfile}" -c "%{infile}"]
# end
# mrbc settings

MODIFY
lib/mruby/build/command.rb
lib/mruby/build/command.rb
@@ -87,7 +87,7 @@ module MRuby
def run(outfile, infile, _defines=[], _include_paths=[], _flags=[])
mkdir_p File.dirname(outfile)
flags = all_flags(_defines, _include_paths, _flags)
- if File.extname(outfile) == build.exts.object
+ if object_ext?(outfile)
label = @label
opts = compile_options
else
@@ -157,8 +157,8 @@ module MRuby
# /src/value_array.h:
#
def get_dependencies(file)
- dep_file = "#{file}.d"
- return [MRUBY_CONFIG] unless File.exist?(dep_file)
+ dep_file = file.ext(".d")
+ return [MRUBY_CONFIG] unless object_ext?(file) && File.exist?(dep_file)
deps = File.read(dep_file).gsub("\\\n ", "").split("\n").map do |dep_line|
# dep_line:
@@ -172,6 +172,10 @@ module MRuby
end.flatten.uniq
deps << MRUBY_CONFIG
end
+
+ def object_ext?(path)
+ File.extname(path) == build.exts.object
+ end
end
class Command::Linker < Command

MODIFY
tasks/toolchains/gcc.rake
tasks/toolchains/gcc.rake
@@ -15,7 +15,7 @@ MRuby::Toolchain.new(:gcc) do |conf, params|
end
compiler.option_include_path = %q[-I"%s"]
compiler.option_define = '-D%s'
- compiler.compile_options = %|-MMD -MF "%{outfile}.d" -c #{compile_opt}|
+ compiler.compile_options = "-MMD -c #{compile_opt}"
compiler.preprocess_options = "-E -P #{compile_opt}"
compiler.cxx_compile_flag = '-x c++ -std=gnu++03'
compiler.cxx_exception_flag = '-fexceptions'

MODIFY
tasks/toolchains/openwrt.rake
tasks/toolchains/openwrt.rake
@@ -11,7 +11,7 @@ MRuby::Toolchain.new(:openwrt) do |conf|
end
cc.option_include_path = %q[-I"%s"]
cc.option_define = '-D%s'
- cc.compile_options = '%{flags} -MMD -MF "%{outfile}.d" -o "%{outfile}" -c "%{infile}"'
+ cc.compile_options = '%{flags} -MMD -o "%{outfile}" -c "%{infile}"'
cc.preprocess_options = '%{flags} -o "%{outfile}" -E -P "%{infile}"'
end

Change `.o.d` back to `.d` because `.pi.d` is no longer created