是否可以告诉ASDF它应该只为整个系统生成一个fas(l)
文件?此文件应该是系统所有已编译文件的串联(按正确顺序),包括目标系统所依赖的系统的所有文件。
答案 0 :(得分:4)
是的,compile-bundle-op
(ASDF 3.1):http://common-lisp.net/project/asdf/asdf/Predefined-operations-of-ASDF.html
编辑:实际上,要求monolithic-compile-bundle-op
个问题(如其他答案所示)。
答案 1 :(得分:2)
如果您必须预测扩展程序,请使用uiop:compile-file-type
。
和/或您可以致电(asdf:output-files 'asdf:monolithic-compile-bundle-op :my-system)
来确定实际使用的内容。
答案 2 :(得分: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)
。