解释下这个编译函数: framework_docs_LOCAL_GENERATED_SOURCES
时间: 2023-08-03 09:05:31 浏览: 41
"framework_docs_LOCAL_GENERATED_SOURCES" 是一个CMake变量,它表示在构建过程中生成的源文件列表。这些源文件是通过处理 "framework_docs" 目录中的输入文件生成的,这些输入文件可能是Markdown、HTML或其他格式的文档。
在CMake构建系统中,可以使用 "add_custom_command" 和 "add_custom_target" 命令来定义如何生成这些源文件。这些命令将在构建过程中执行,以生成必要的源文件,然后将这些源文件添加到 "framework_docs_LOCAL_GENERATED_SOURCES" 变量中。
一旦这些源文件被生成,它们就可以被编译成目标文件或库,并与其他源文件一起链接,构建出最终的可执行文件。
相关问题
请解释下这段Android.mk# ==== the metalava api stubs and current.xml =========================== include $(CLEAR_VARS) LOCAL_SRC_FILES:=$(framework_docs_LOCAL_API_CHECK_SRC_FILES) LOCAL_GENERATED_SOURCES:=$(framework_docs_LOCAL_GENERATED_SOURCES) LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS) LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES) LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS) LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH) LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR) LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES) LOCAL_MODULE := metalava-api-stubs LOCAL_DROIDDOC_USE_METALAVA := true LOCAL_DROIDDOC_METALAVA_PREVIOUS_API := prebuilts/sdk/api/27.txt LOCAL_DROIDDOC_METALAVA_ANNOTATIONS_ENABLED := true LOCAL_DROIDDOC_METALAVA_MERGE_ANNOTATIONS_DIR := tools/metalava/manual LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/metalava_android_stubs_current_intermediates/src INTERNAL_PLATFORM_METALAVA_PUBLIC_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/metalava_public_api.txt INTERNAL_PLATFORM_METALAVA_PUBLIC_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/metalava_removed.txt LOCAL_DROIDDOC_OPTIONS:=\ $(framework_metalava_docs_LOCAL_DROIDDOC_OPTIONS) \ --api $(INTERNAL_PLATFORM_METALAVA_PUBLIC_API_FILE) \ --removed-api $(INTERNAL_PLATFORM_METALAVA_PUBLIC_REMOVED_API_FILE) \ -nodocs LOCAL_UNINSTALLABLE_MODULE := true include $(BUILD_DROIDDOC)
这段 Android.mk 文件是用于构建 Android 操作系统中的 Metalava API Stubs 和当前 API 的文档。下面是对各个变量和选项的解释:
- `CLEAR_VARS`:清空所有变量,以便重新定义新的变量。
- `LOCAL_SRC_FILES`:指定源文件列表,这里是 API 检查工具的源代码文件列表。
- `LOCAL_GENERATED_SOURCES`:指定生成的源文件列表,这里是通过处理 "framework_docs" 目录中的输入文件生成的源文件。
- `LOCAL_SRCJARS`:指定源代码 JAR 文件列表,这里是包含 Android 框架代码的 JAR 文件。
- `LOCAL_JAVA_LIBRARIES`:指定依赖的 Java 库列表,这里是 API 检查工具依赖的 Java 库。
- `LOCAL_MODULE_CLASS`:指定模块类型,这里是 "Java Library"。
- `LOCAL_DROIDDOC_SOURCE_PATH`:指定 Droiddoc 处理的源码路径,这里是 Android 框架代码的路径。
- `LOCAL_ADDITIONAL_JAVA_DIR`:指定需要额外添加的 Java 文件夹,这里是 API 检查工具需要的额外 Java 文件夹。
- `LOCAL_ADDITIONAL_DEPENDENCIES`:指定额外的依赖项,这里是 API 检查工具需要的额外依赖项。
- `LOCAL_MODULE`:指定模块名称,这里是 "metalava-api-stubs"。
- `LOCAL_DROIDDOC_USE_METALAVA`:指定是否使用 Metalava 工具处理文档。
- `LOCAL_DROIDDOC_METALAVA_PREVIOUS_API`:指定前一个版本的 API 文件路径。
- `LOCAL_DROIDDOC_METALAVA_ANNOTATIONS_ENABLED`:指定是否启用注释。
- `LOCAL_DROIDDOC_METALAVA_MERGE_ANNOTATIONS_DIR`:指定合并注释的目录。
- `LOCAL_DROIDDOC_STUB_OUT_DIR`:指定 Metalava API Stubs 的输出目录。
- `INTERNAL_PLATFORM_METALAVA_PUBLIC_API_FILE`:指定生成的公开 API 文件路径。
- `INTERNAL_PLATFORM_METALAVA_PUBLIC_REMOVED_API_FILE`:指定生成的已删除 API 文件路径。
- `LOCAL_DROIDDOC_OPTIONS`:指定 Droiddoc 工具的选项。
- `BUILD_DROIDDOC`:调用 Droiddoc 工具进行文档处理。
此文件的主要目的是生成 API 文档和 API Stubs,以及检查当前 API 是否符合 Android 框架的要求。
Critical Warning (176598): PLL "pll_u0:pll_sdvga|altpll:altpll_component|pll_u0_altpll:auto_generated|pll1" input clock inclk[0] is not fully compensated because it is fed by a remote clock pin "Pin_T21"这是为什么
这个warning是指FPGA中的一个PLL模块存在输入时钟信号的时钟抖动过大的问题。其中,输入时钟信号来自于远离PLL的输入引脚"Pin_T21"。由于信号传输过程中存在不可避免的时钟抖动和时钟偏差,因此在远离PLL的输入引脚处的时钟信号的抖动可能会对PLL的稳定性产生负面影响,从而导致FPGA设计出现问题。为了解决这个问题,可以考虑采用更稳定的时钟源或者在远离PLL的输入引脚处添加合适的时钟缓冲器等电路来减小时钟信号的抖动。