如何处理构建过程中自动生成的源代码文件

Posted

技术标签:

【中文标题】如何处理构建过程中自动生成的源代码文件【英文标题】:How to deal with source code file auto-generated in the build process 【发布时间】:2010-05-06 21:21:27 【问题描述】:

我正在尝试构建一个使用自动生成的第三方库 源代码文件。 通常情况下,这类文件是由 gnu 构建工具生成的。 我的问题是如何告诉 android NDK 构建工具生成和构建这种 的文件。

提前致谢

【问题讨论】:

【参考方案1】:

ndk-build 工具是一个瘦包装脚本,它使用一些命令行参数调用 GNU Make。您可以将任何构建规则添加到您喜欢用 make 编写的 Android.mk 文件中,包括生成源文件。

如果你在LOCAL_SRC_FILES变量中有生成的文件名以及生成这个文件的规则,make会计算出来。这是一个最小的 Android.mk 示例,它将“generated.in”复制到“generated.c”,然后对其进行编译:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := ndkexample
LOCAL_SRC_FILES := generated.c
$(LOCAL_PATH)/generated.c : $(LOCAL_PATH)/generated.in
    echo "Generate file"
    cp $< $@

【讨论】:

如果生成的源相互依赖(#includes),是否可以在实际编译开始之前强制生成所有源? 这样不会把生成的文件放到源码目录吗?有没有办法让它生成文件到构建目录?

以上是关于如何处理构建过程中自动生成的源代码文件的主要内容,如果未能解决你的问题,请参考以下文章

将复杂项目从 Ant 迁移到 Maven - 如何处理不寻常的文件夹结构?

eclipse 创建web项目时没有自动生成index.jsp 请问如何处理!

接口自动化如何处理 Form 请求?

Matlab 音频格式 - 如何处理?

如何处理 SQL 过程中多个表的输出?

在从 Postgres 9.4 到 Greenplum 的数据迁移过程中,我应该如何处理我的 UNIQUE 约束