nmake:添加带推理规则的前缀?

时间:2013-06-17 23:14:31

标签: prefix nmake inference

我正在成功使用nmake推理规则进行文件扩展 - 但是添加文件前缀呢?我正在做qt的东西,所以给出了一个文件列表,例如

MOCS = moc_file1.cpp moc_file2.cpp

我想找一个推理规则来获取.h文件名作为moc.exe的输入并创建.cpp文件。

1 个答案:

答案 0 :(得分:1)

NMAKE推理规则允许为规则中引用的扩展指定前缀。 E.g:

{$(SRCDIR)}.cpp{$(INTDIR)}.obj :
  $(CXX) $(CXXFLAGS) /Fo$@  /c $<

这个规则将被触发[推断]目标,如:

"$(INTDIR)\somefile.obj" : "$(SRCDIR)\somefile.cpp"

请注意使用{}大括号括起前缀。

同样,NMAKE推理批量规则(一次处理多个源文件):

{$(SRCDIR)}.cpp{$(INTDIR)}.obj ::
  $(CXX) $(CXXFLAGS) /Fo"$(INTDIR)"\  /c $<

查看官方NMAKE文档 - 它们仍然适用于VS2012。