如何将后缀应用于makefile中的多个文件?

Posted

技术标签:

【中文标题】如何将后缀应用于makefile中的多个文件?【英文标题】:How to apply suffix to multiple files in makefile? 【发布时间】:2020-03-22 11:42:32 【问题描述】:

我想一次将--preload-file 后缀应用于多个文件。

如果我这样做--preload-file file1 --preload-file file2,那么它会起作用。

但如果我这样做--preload-file file1 file2,则会产生以下错误:

file2: 输入文件后缀未知,不知道怎么处理 它!

有没有办法同时将后缀应用于两个文件,这样我就可以执行--preload-file $(MY_FILES) 之类的操作?

【问题讨论】:

【参考方案1】:

正如https://emscripten.org/docs/tools_reference/emcc.html?highlight=preload中所述:

--preload-file <name>

在运行编译后的代码之前指定要预加载的文件 异步。路径是相对于当前目录的 编译时间。如果在此处传递一个目录,则其全部内容将 嵌入。

所以只要 file1 和 file2 在同一个目录下,你应该能够传递它,所以在你的情况下,后缀将应用于两个文件。

【讨论】:

【参考方案2】:

要提供特定问题的答案,如果您有 GNU make,您可以使用:

$(addprefix --preload-file ,$(MY_FILES))

(注意逗号前的空格)。在 POSIX 标准 make 中没有办法做到这一点。

【讨论】:

以上是关于如何将后缀应用于makefile中的多个文件?的主要内容,如果未能解决你的问题,请参考以下文章

MakeFile 文件的使用

如何在目标依赖于多个 linux 构建的地方布局 Makefile

如何根据vs工程构建makefile文件

Makefile-函数patsubst

make--makefile

Makefile - 将多个文件夹中的头文件复制到一个包含依赖项的包含文件夹中