关于构建过程:如何设置 Android Makefile 来复制/重命名文件?

How can I set an Android Makefile to copy/rename files?

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

我设置了一个项目子文件夹,我可以将这些文件复制到其中并重命名它们,然后从那里链接到它们,但我想将此步骤作为构建过程的一部分,以便随时修改这些文件我可以肯定这个版本会反映这些变化。

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

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

我收到以下错误:

Anhdroid.mk:10 * missing separator. Stop.

谢谢,

更新

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


好的,知道了,这可以复制文件:

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

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

1
$(perl scripts/foo.pl)