代码之家  ›  专栏  ›  技术社区  ›  wonton

如何更改makefile变量的文件扩展名?

  •  11
  • wonton  · 技术社区  · 14 年前

    例如,我有一个变量,它包含一个依赖项列表

    BOARDS:=lance.mcm light.mcm sac.mcm
    

    我需要另一个名为NET的变量,以便

    NET:=lance.net light.net sac.net
    

    它应该设置为当我更改BOARDS变量时,NET也应该更改。 例如,如果我将一个新的zor.mcm添加到BOARDS变量中,它应该会自动将zor.net添加到net变量中。

    2 回复  |  直到 14 年前
        1
  •  27
  •   wonton    14 年前

    我找到的最好的解决方案是使用以下语法:

    NET:=$(BOARDS:.mcm=.net)
    

    这将查看BOARDS并将.mcm更改为.net

        2
  •  13
  •   Roman Saveljev    14 年前

    作为替代方案:

    BOARDS:=lance.mcm light.mcm sac.mcm
    NET:= $(addsuffix .net, $(basename $(BOARDS)))
    

    如果文件路径名与模式匹配,这将保留文件路径名中的内容