Edit

thodg/cl-unix-cybernetics/build.lisp

Branch :

  • build.lisp
  • ;;
    ;;  adams - system administrator written in Common Lisp
    ;;
    ;;  Copyright 2013,2014,2018 Thomas de Grivel <thoxdg@gmail.com>
    ;;
    ;;  Permission to use, copy, modify, and distribute this software for any
    ;;  purpose with or without fee is hereby granted, provided that the above
    ;;  copyright notice and this permission notice appear in all copies.
    ;;
    ;;  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
    ;;  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
    ;;  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
    ;;  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    ;;  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    ;;  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
    ;;  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    ;;
    
    (in-package :common-lisp-user)
    
    (defun compile-lisp (path)
      (let* ((fasl (make-pathname :type "fasl" :defaults path))
             (fasl (merge-pathnames fasl)))
        (print fasl)
        (unless (and (probe-file fasl)
                     (<= (file-write-date path)
                         (file-write-date fasl)))
          (print path)
          (compile-file path :output-file fasl))
        (load fasl)))
    
    (defun load* (path)
      (format t "~&Loading ~S" path)
      (load path))
    
    (load* "config.lisp")
    (load* "build/systems.lisp")
    (load* "toplevel.lisp")