2 ;;;; This file can be used to make .fsl files from .lsp files.
7 (:import-from
"XLISP" "*CMP-SETF*" "ADD-METHOD" "CMP-DO-DEFSTRUCT"))
11 (flet ((compile-if-needed (file &optional load
)
12 (let ((lspfile (merge-pathnames file
".lsp"))
13 (fslfile (merge-pathnames file
".fsl")))
14 (unless (and (probe-file lspfile
)
16 (< (file-write-date lspfile
)
17 (file-write-date fslfile
)))
18 (compile-file file
:load load
)))))
19 (let ((stdfiles '("common" "common2" "common3" "pathname" "help" "objects"
20 "conditns" "shlib" "loadfsl"))
21 (otherfiles '("init" "cmpload" "linalg" "stats" "dialogs" "graphics"
22 "graph2" "graph3" "regress" "menus" "oneway" "nonlin"
23 "maximize" "bayes" "stepper" "glim"
25 (cmpfiles '("backquot" "cmpmacro" "convert" "cells" "simplify"
26 "lift" "gencode" "peephole" "assemble" "cmpfront")))
28 (let ((fn (make-pathname :name f
:directory
'(:relative
"compiler"))))
29 (compile-if-needed fn t
)))
30 (dolist (f stdfiles
) (compile-if-needed f t
))
31 (dolist (f otherfiles
) (compile-if-needed f
))))