我们有许多makefile模板,通过设置一些参数makefile变量来实现某些构建操作,并通过包含来应用makefile模板,如
GENERIC_PARAM1-y := paramA
GENERIC_PARAM2-y := paramB
include $(MAKE_TOOLS)/doaction.mk
像doaction.mk
这样的文件包含make模板,用于生成标准规则定义,仅在包含操作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语法/配置来实现这一点?
答案 0 :(得分:5)
“有没有一种简单的方法可以使用任何有效的doxygen语法/配置来实现这一点?”
是的,您可以使用doxygen的INPUT_FILTER
,FILE_PATTERNS
和FILTER_SOURCE_FILES
配置设置as stolen from this blog post
将这些设置放在Doxyfile
配置
FILE_PATTERNS = *.mk
INPUT_FILTER = "sed -e 's|##|//!|'"
FILTER_SOURCE_FILES = YES
INPUT_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
中呈现如下