2

是否可以告诉 ASDF 它应该fas(l)为整个系统只生成一个文件?该文件应该是系统所有编译文件的串联(按正确顺序),包括目标系统所依赖的系统的所有文件。

4

3 回答 3

4

是的,使用compile-bundle-op(ASDF 3.1):http ://common-lisp.net/project/asdf/asdf/Predefined-operations-of-ASDF.html

编辑:实际上,monolithic-compile-bundle-op似乎被要求(如其他答案所示)。

于 2014-08-15T18:21:12.280 回答
2

如果您必须预测扩展名,请使用uiop:compile-file-type. 和/或你可以打电话(asdf:output-files 'asdf:monolithic-compile-bundle-op :my-system)来弄清楚实际使用的是什么。

于 2014-08-16T18:17:11.463 回答
1

选项monolithic-compile-bundle-op将创建包含所有依赖项的单个编译文件,同时compile-bundle-op为每个系统创建一个文件。

使用示例:

(asdf:operate 'asdf:monolithic-compile-bundle-op :my-system)

此命令将my-system--all-systems.fas(l)在目标项目的输出目录中创建文件,以及为每个系统“捆绑”文件,命名为my-system--system.fas(l).

于 2014-08-16T05:11:51.773 回答