-
Notifications
You must be signed in to change notification settings - Fork 0
/
sysdcl.lisp
39 lines (34 loc) · 1.86 KB
/
sysdcl.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
;;; -*- Mode: Lisp; Syntax: Common-lisp; Package: CL-USER; Base: 10 -*-
(in-package :CL-USER)
;; We should use ASDF
(defun make-system (system-name &optional subdir)
(let ((files (get system-name :defsystem-files)))
(loop for file in files do
(progn
(when (consp file) (setq file (car file))) ;ignore dependencies for now
(setq file (merge-pathnames file (make-pathname :type "lisp"
:directory (if subdir
`(:absolute "Users" "tim" "ccl-dev" ,subdir)
'(:absolute "Users" "tim" "ccl-dev"))
#|
:directory (if subdir
`(:relative "ccl-dev" ,subdir)
'(:relative "ccl-dev"))
:defaults ccl::*user-homedir-pathname*
|#
)))
(print file)
(load (compile-file file)))))) ;just compile and load files in order
(defmacro defsystem (system-name &rest files)
`(setf (get ',system-name :defsystem-files) ',files))
(defsystem simulator
"pkgdcl"
"simulator-common"
("simulator-x86" :depends-on "simulator-common")
("simulator-arm32" :depends-on "simulator-common")
("simulator-arm64" :depends-on "simulator-common")
("lap-to-as-translator" :depends-on "simulator-common")
("lap-tests-x86" :depends-on "simulator-x86")
("lap-tests-arm32" :depends-on "simulator-arm32")
("lap-tests-arm64" :depends-on "simulator-arm64")
)