如何设置一个Android的Makefile复制/重命名文件? [英] How can I set an Android Makefile to copy/rename files?

查看:721
本文介绍了如何设置一个Android的Makefile复制/重命名文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据Android的在线文档有目前还没有办法在Android生成文件来指定gcc编译多个/混合文件扩展名。我使用的源头,一个公益项目,有多个扩展和为了得到它来编译,我需要与其他扩展构建之前的.cpp重命名这些文件。

According to the Android online docs there's currently no way to specify multiple/mixed file extensions for the gcc compiler in an Android makefile. The source I'm using, a public project, has multiple extensions and in order to get it to compile I need to rename the files with the other extensions .cpp before build.

我成立了一个项目子文件夹,我可以将这些文件复制到将其重新命名,然后只链接到他们从那里,但我想使这个步骤构建过程的一部分,以便任何时候这些文件被修改我可以肯定这个版本将反映这些变化。

I set up a project subfolder I can copy these files into and rename them and then just link to them from there but I'd like to make this step a part of the build process so that any time those files are modified I can be certain this build will reflect those changes.

我不知道如何告诉Android.mk文件复制文件并重新命名。我试过,但它不工作:

I'm not sure how to tell the Android.mk file to copy the files and rename them. I tried this but it doesn't work:

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

我收到以下错误:

I receive the following error:

Anhdroid.mk:10的 * 的丢失分隔符。停止。

Anhdroid.mk:10 * missing separator. Stop.

谢谢,

更新

另外,如果有人知道的方式嵌入一个呼叫在makefile的开始执行shell / Perl脚本,将工作太。

Alternatively, if someone knows a way to embed a call to execute a shell/Perl script in the beginning of the makefile would work too.

推荐答案

好,我知道,这个工作拷贝文件:

Ok, got it, this worked to copy files:

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

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

And this also works to run an outside script:

$(perl scripts/foo.pl)

这篇关于如何设置一个Android的Makefile复制/重命名文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆