根据 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/