c ++项目中的Rakefile规则

时间:2010-11-25 00:20:51

标签: c++ rakefile

我正在将Makefile转换为Rakefile以用于小型C ++项目。我有* .h和* .cpp文件和obj目录的src目录,其中所有* .o都是(我不希望它们在src中)。如何使用Rake规则?

这样可以正常工作,但我希望有一个通用规则。

rule("#{OBJ_DIR}hello.o" => "#{SRC_DIR}hello.cpp") do |target|

返回“不知道如何处理依赖规则:/ src \ /(\ w +)。cpp /”

rule(/obj\/(\w+).o/ => /src\/(\w+).cpp/) do |target|
    sh "#{COMPILER} #{FLAGS} -c -o #{target.name} #{target.source}"
end

1 个答案:

答案 0 :(得分:2)

here

无耻地复制
rule '.o' => '.cpp' do |target|
  sh "#{COMPILER} #{FLAGS} -c -o #{target.name} #{target.source}"
end

问题可能在于,您的示例尝试混合某些文件所在的位置,并且需要处理任何具有某种扩展名的文件所需的规则,无论其位置如何。