android - 如何设置 Android Makefile 来复制/重命名文件?

标签 android build-process makefile gnu-make

根据 Android 在线文档,目前无法在 Android makefile 中为 gcc 编译器指定多个/混合文件扩展名。我正在使用的源代码是一个公共(public)项目,有多个扩展名,为了让它能够编译,我需要在构建之前用其他扩展名 .cpp 重命名文件。

我设置了一个项目子文件夹,我可以将这些文件复制到其中并重命名它们,然后从那里链接到它们,但我想让这一步成为构建过程的一部分,以便在修改这些文件时我可以确定此构建将反射(reflect)这些更改。

我不确定如何告诉 Android.mk 文件复制文件并重命名它们。我试过这个但它不起作用:

cp '$(LOCAL_PATH)/$(SOURCE_ROOT)/Sprite.mm' '$(LOCAL_PATH)/$(MM_RENAMES)/Sprite.cpp'

我收到以下错误:

Anhdroid.mk:10 * missing separator. Stop.

谢谢,

更新

或者,如果有人知道在 makefile 开头嵌入调用以执行 shell/Perl 脚本的方法,也可以。

最佳答案

好的,知道了,这对复制文件有效:

$(shell cp -fr $(LOCAL_PATH)/$(SOURCE_ROOT)/Sprite.mm $(LOCAL_PATH)/$(MM_RENAMES)/Sprite.cpp)

这也适用于运行外部脚本:

$(perl scripts/foo.pl)

关于android - 如何设置 Android Makefile 来复制/重命名文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5327383/

相关文章:

android - 我的设备未收到 Firebase 云消息传递通知

java - 不要在某些机器上运行 Spring @Scheduled 任务

javascript - VS.NET : Doing a post-build step in a web project

ios - 使用theos开发iOS越狱应用

java - 如何改变字符串的颜色

android - 我想在我的 Android 应用程序中使用 "Parse Notification"

.net - 从 MSBuild 项目中获取输出文件

linux - 在 Makefile 中我们使用 'prefix' 还是 'PREFIX'?

makefile - 旨在重命名所有 .c 文件的 Makefile 规则中使用的百分比

android - 替换正在运行的 roboguice 应用程序中的单例实例