Documentation 如何记录makefile模板并包含*.mk文件接口?
我们有许多makefile模板,它们通过设置一些参数makefile变量并通过包含应用makefile模板来实现某些构建操作,如Documentation 如何记录makefile模板并包含*.mk文件接口?,documentation,makefile,doxygen,Documentation,Makefile,Doxygen,我们有许多makefile模板,它们通过设置一些参数makefile变量并通过包含应用makefile模板来实现某些构建操作,如 GENERIC_PARAM1-y := paramA GENERIC_PARAM2-y := paramB include $(MAKE_TOOLS)/doaction.mk 像doaction.mk这样的文件包含make模板,用于生成标准规则定义,这些定义仅在包含action make步骤时应用 现在,我们想使用类似于Doxygen的代码为*.mk代码段记录这些
GENERIC_PARAM1-y := paramA
GENERIC_PARAM2-y := paramB
include $(MAKE_TOOLS)/doaction.mk
像doaction.mk
这样的文件包含make模板,用于生成标准规则定义,这些定义仅在包含action make步骤时应用
现在,我们想使用类似于Doxygen的代码为*.mk
代码段记录这些接口
## @file
## @brief doaction.mk is purposed to ...
##
## Some more detailed descriptions about rules applied ...
## @param GENERIC_PARAM1-y Parameter1 description ...
## @param GENERIC_PARAM2-y Parameter2 description ...
使用任何有效的Doxygen语法/配置是否有一种简单的方法来实现这一点
“是否有一种简单的方法可以使用任何有效的doxygen语法/配置来实现这一点?”
是的,您可以使用doxygen的输入过滤器
,文件模式
和过滤器源文件
配置设置
将这些设置放入doxy文件
配置
FILE_PATTERNS = *.mk
INPUT_FILTER = "sed -e 's|##|//!|'"
FILTER_SOURCE_FILES = YES
INPUT\u FILTER
实际上起到了作用,doxygen使用sed
命令打开一个管道,按照指定的命令过滤输入文件
注意:上面提到的命令没有嵌入到shell中,因此链接了如下命令语句
"grep '##' | sed -e 's|##|//!|'"
不行
将建议的注释放入示例中,
##
将展开以供doxygen查看注释
## @file
## @brief doaction.mk is purposed to ...
##
## Some more detailed descriptions about rules applied ...
## @param GENERIC_PARAM1-y Parameter1 description ...
## @param GENERIC_PARAM2-y Parameter2 description ...
此外,你应该放一个
## @cond
...
## @endcond
围绕makefile规则/模板代码,以避免doxygen解析这些部分
上述示例应在生成的HTML文档中呈现如下内容