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) |