Project skeleton.
This commit is contained in:
parent
c43eb7eb97
commit
746a6c9d72
|
|
@ -15,3 +15,4 @@
|
||||||
*.sx32fsl
|
*.sx32fsl
|
||||||
*.wx64fsl
|
*.wx64fsl
|
||||||
*.wx32fsl
|
*.wx32fsl
|
||||||
|
/slime.lisp
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
||||||
|
PACKAGE=asteroid
|
||||||
|
PACKAGEUTILS=asteroid.app-utils
|
||||||
|
OUT=asteroid
|
||||||
|
ENTRY=-main
|
||||||
|
|
||||||
|
$(OUT): buildapp *.lisp quicklisp-manifest.txt
|
||||||
|
./buildapp --manifest-file quicklisp-manifest.txt \
|
||||||
|
--load-system asdf \
|
||||||
|
--eval '(push "$(ROOT_DIR)/" asdf:*central-registry*)' \
|
||||||
|
--load-system $(PACKAGE) \
|
||||||
|
--eval '($(PACKAGEUTILS)::internal-disable-debugger)' \
|
||||||
|
--output $(OUT) --entry $(PACKAGE):$(ENTRY)
|
||||||
|
|
||||||
|
quicklisp-manifest.txt: *.asd
|
||||||
|
sbcl --non-interactive \
|
||||||
|
--eval '(push #P"$(ROOT_DIR)/" asdf:*central-registry*)'\
|
||||||
|
--eval '(ql:quickload "$(PACKAGE)")'\
|
||||||
|
--eval '(ql:write-asdf-manifest-file "quicklisp-manifest.txt")'
|
||||||
|
|
||||||
|
buildapp:
|
||||||
|
sbcl --eval '(ql:quickload "buildapp")' --eval '(buildapp:build-buildapp)' --non-interactive
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.fasl $(OUT) buildapp quicklisp-manifest.txt
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
;; -*-lisp-*-
|
||||||
|
|
||||||
|
(defpackage :asteroid.app-utils
|
||||||
|
(:use :cl)
|
||||||
|
(:export :internal-disable-debugger)
|
||||||
|
(:export :internal-quit))
|
||||||
|
|
||||||
|
(in-package :asteroid.app-utils)
|
||||||
|
|
||||||
|
(defun internal-disable-debugger ()
|
||||||
|
(labels
|
||||||
|
((internal-exit (c h)
|
||||||
|
(declare (ignore h))
|
||||||
|
(format t "~a~%" c)
|
||||||
|
(internal-quit)))
|
||||||
|
(setf *debugger-hook* #'internal-exit)))
|
||||||
|
|
||||||
|
(defun internal-quit (&optional code)
|
||||||
|
"Taken from the cliki"
|
||||||
|
;; This group from "clocc-port/ext.lisp"
|
||||||
|
#+allegro (excl:exit code)
|
||||||
|
#+clisp (#+lisp=cl ext:quit #-lisp=cl lisp:quit code)
|
||||||
|
#+cmu (ext:quit code)
|
||||||
|
#+cormanlisp (win32:exitprocess code)
|
||||||
|
#+gcl (lisp:bye code) ; XXX Or is it LISP::QUIT?
|
||||||
|
#+lispworks (lw:quit :status code)
|
||||||
|
#+lucid (lcl:quit code)
|
||||||
|
#+sbcl (sb-ext:exit :code code)
|
||||||
|
;; This group from Maxima
|
||||||
|
#+kcl (lisp::bye) ; XXX Does this take an arg?
|
||||||
|
#+scl (ext:quit code) ; XXX Pretty sure this *does*.
|
||||||
|
#+(or openmcl mcl) (ccl::quit)
|
||||||
|
#+abcl (cl-user::quit)
|
||||||
|
#+ecl (si:quit)
|
||||||
|
;; This group from <hebi...@math.uni.wroc.pl>
|
||||||
|
#+poplog (poplog::bye) ; XXX Does this take an arg?
|
||||||
|
#-(or allegro clisp cmu cormanlisp gcl lispworks lucid sbcl
|
||||||
|
kcl scl openmcl mcl abcl ecl)
|
||||||
|
|
||||||
|
(error 'not-implemented :proc (list 'quit code)))
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
;; -*-lisp-*-
|
||||||
|
;;;; asteroid.asd
|
||||||
|
|
||||||
|
(asdf:defsystem #:asteroid
|
||||||
|
:description "A radio station to stream Asteroid Music"
|
||||||
|
:author "Brian O'Reilly <fade@deepsky.com>"
|
||||||
|
:license "GNU AFFERO GENERAL PUBLIC LICENSE V.3"
|
||||||
|
:serial t
|
||||||
|
:depends-on (:RADIANCE
|
||||||
|
:MITO
|
||||||
|
:MITO-AUTH
|
||||||
|
:STR
|
||||||
|
:PZMQ
|
||||||
|
:SPINNERET
|
||||||
|
)
|
||||||
|
:pathname "./"
|
||||||
|
:components ((:file "app-utils")
|
||||||
|
(:file "asteroid")))
|
||||||
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
;; -*-lisp-*-
|
||||||
|
(defpackage :asteroid
|
||||||
|
(:use :cl)
|
||||||
|
(:use :asteroid.app-utils)
|
||||||
|
(:export :-main))
|
||||||
|
|
||||||
|
(in-package :asteroid)
|
||||||
|
|
||||||
|
(defun -main (&optional args)
|
||||||
|
(format t "~a~%" "I don't do much yet"))
|
||||||
|
|
||||||
Loading…
Reference in New Issue