Documentation 如何记录makefile模板并包含*.mk文件接口?

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代码段记录这些

我们有许多makefile模板,它们通过设置一些参数makefile变量并通过包含应用makefile模板来实现某些构建操作,如

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文档中呈现如下内容