将ocamldoc与包一起使用
我有一个ocamlbuild项目,它在一个子目录中包含一些文件,其中一个.mlpack文件列出了这些文件 e、 g.我有一个文件将ocamldoc与包一起使用,ocaml,ocamldoc,Ocaml,Ocamldoc,我有一个ocamlbuild项目,它在一个子目录中包含一些文件,其中一个.mlpack文件列出了这些文件 e、 g.我有一个文件support/logging.ml,它定义了模块support.logging。\u标签文件上写着“支持”:用于包装(支持) 这一切都建立和运行良好。但是如何使用ocamldoc生成文档呢 我最近发现的一篇文章是2011年的,它建议使用ocp-pack生成一个大的.ml文件,并将其传递给ocamldoc。但是,这没有考虑构建顺序,因此生成的模块由于正向引用而无法工作
support/logging.ml
,它定义了模块support.logging
。\u标签
文件上写着“支持”:用于包装(支持)
这一切都建立和运行良好。但是如何使用ocamldoc生成文档呢
我最近发现的一篇文章是2011年的,它建议使用ocp-pack
生成一个大的.ml文件,并将其传递给ocamldoc
。但是,这没有考虑构建顺序,因此生成的模块由于正向引用而无法工作
处理此问题的最佳方法是什么?中描述了此问题。在ocamldoc中处理
-pack
,需要维护人员不愿意执行的实施工作,到目前为止,还没有人为该功能提供补丁
同时,您可以轻松地将
foo.mlpack
文件复制到foo.odocl
中,生成单独子模块的文档。这只是一个不完善的解决方案,因为文档将讨论X
而不是Foo.X
,但这是一个最省力的解决方案。以下是我现在在Makefile中使用的解决方案。它确实起作用,并交叉引用到支持模块中:
doc:
ocp-pack -o support.ml.tmp support/logging.ml support/common.ml support/utils.ml support/basedir.ml support/qdom.ml support/system.ml
echo '(** General support code; not 0install-specific *)' > support.ml
cat support.ml.tmp >> support.ml
rm support.ml.tmp
$(OCAMLBUILD) 0install.docdir/index.html
rm support.ml
这是因为:
- 您必须手动按生成顺序列出support.ml文件
- Makefile添加文档注释以获得支持(否则,它将获取第一个子模块的描述,这是您不想要的)