如何在makefile中的文件后缀之前插入字符串?

时间:2014-05-18 00:16:17

标签: makefile

我想复制文件,但在文件后缀

之前插入一个字符串
TARGET = executable.exe
VERSION = 1.2.3

myrule:
    cp $(TARGET) SOMEFUNCTION($(TARGET), $(VERSION))

所以在Windows上生成executable1.2.3.exe,在Linux上生成executable1.2.3(目标显然也没有.exe)

我是否需要创建两个规则,一个用于删除扩展并读取它的窗口,一个用于linux的连接,或者是否有更好的方法?

1 个答案:

答案 0 :(得分:1)

您根本不必指定.exe扩展名。 Windows在链接可执行文件时自动添加它。


如果已经创建了可执行文件,这应该可以解决问题:

$(CP) $(TARGET) $(basename $(TARGET))$(VERSION)$(suffix $(TARGET))

如果$(TARGET)没有句号,则$(suffix $(TARGET))将为空字符串。