The function compile-system
compiles all the files in a system necessary to make a consistent set of object files.
A symbol representing the name of the system. The system must have been defined already using the defsystem
macro.
If t
then all the files in the system are compiled regardless. (This argument was formerly called force-p . The old name is currently still accepted for compatibility.)
If nil
or not present then compile-system
works silently. Otherwise a plan of the actions which compile-system intends to carry out is printed. What happens next depends on the value of simulate :
:ask
-- you are asked if you wish the plan to be carried out using y-or-n-p
.
:each
-- compile-system
displays each action in the plan one at a time, and asks you whether you want to carry out this particular action. The answer c
executes the rest of the plan without further prompting, returns from compile-system without further processing, and y
and n
work as expected.
:simulate
may be abbreviated as :sim
.
If t
then load-system
is called after compile-system
has finished. If :no
then no files are loaded at all. The default is nil
.
Arguments to be passed directly to the compiler.
This must be a string representing a valid directory. It defaults to the :default-pathname
option to defsystem
. This is the directory where the object files created are put. If the target-directory is given then dependency information expressed in the system rules is ignored. :target-directory
may be abbreviated as :t-dir
.
(compile-system 'blackboard :simulate :ask)
(compile-system 'tms :load t)
(compile-system 'packages :load :no
:target-directory "/usr/users/386i/")
If the :load
keyword is set to t
then by default load-system
is called after compile-system
. This behavior can be changed to loading any file immediately after it is compiled by setting the variable defsystem::*load-when-compile*
to non- nil
.
C source files, for example foo.c
, can be included in a system. The corresponding object file name is foo.dll.