Reputation: 7599
Is it possible to tell ASDF that it should produce only one fas(l)
file for entire system? This file should be concatenation (in right order) of all compiled files of the system, including all files of systems on which target system depends.
Upvotes: 2
Views: 359
Reputation: 51501
Yes, with compile-bundle-op
(ASDF 3.1): http://common-lisp.net/project/asdf/asdf/Predefined-operations-of-ASDF.html
edit: Actually, monolithic-compile-bundle-op
seemes to be asked for (as shown in other answers).
Upvotes: 4
Reputation: 960
If you have to predict the extension, use uiop:compile-file-type
.
And/or you can just call (asdf:output-files 'asdf:monolithic-compile-bundle-op :my-system)
to figure out what is actually used.
Upvotes: 2
Reputation: 7599
Option monolithic-compile-bundle-op
will create single compiled file which includes all dependencies, while compile-bundle-op
creates a file for every system.
Example of use:
(asdf:operate 'asdf:monolithic-compile-bundle-op :my-system)
This command will create file my-system--all-systems.fas(l)
in output directory of target project, as well as "bundle" files for every system, named like my-system--system.fas(l)
.
Upvotes: 1