获取Makefile规则的文件扩展名

获取Makefile规则的文件扩展名,makefile,Makefile,如果我有以下规则 myfile.ext: ... # `extname $@` or something 如何从规则体中引用扩展名(ext,在本例中为)?该函数执行您想要的操作 $(后缀名…) 提取名称中每个文件名的后缀。如果文件名包含句点,则后缀为从最后一个句点开始的所有内容。否则,后缀为空字符串。这通常意味着,当名称不为空时,结果将为空,如果名称包含多个文件名,则结果可能包含较少的文件名 比如说, $(suffix src/foo.c src-1.0/bar.c hacks

如果我有以下规则

myfile.ext:
    ...
    # `extname $@` or something
如何从规则体中引用扩展名(
ext,在本例中为
)?

该函数执行您想要的操作

$(后缀名…)

提取名称中每个文件名的后缀。如果文件名包含句点,则后缀为从最后一个句点开始的所有内容。否则,后缀为空字符串。这通常意味着,当名称不为空时,结果将为空,如果名称包含多个文件名,则结果可能包含较少的文件名

比如说,

$(suffix src/foo.c src-1.0/bar.c hacks)
生成结果'.c.c'