; -*- Hen -*- (define (dynld-name fn) (make-pathname #f fn ##sys#load-dynamic-extension)) (define nemo-version 4.4) (make ( ("expr.grm.scm" ("expr.grm") (run (csi -s expr.grm))) ((dynld-name "nemo-core") ("nemo-core.scm" "expr.grm.scm") (compile -O -d2 -s nemo-core.scm -j nemo-core)) ((dynld-name "nemo-core.import") ("nemo-core.import.scm") (compile -O2 -s nemo-core.import.scm)) ) (list (dynld-name "nemo-core") (dynld-name "nemo-core.import")) ) (install-extension ; Name of your extension: 'nemo-core ; Files to install for your extension: `(,(dynld-name "nemo-core") ,(dynld-name "nemo-core.import")) ; Assoc list with properties for your extension: `((version ,nemo-version))) (make ( ((dynld-name "nemo-utils") ("nemo-utils.scm") (compile -O -d2 -s nemo-utils.scm -j nemo-utils)) ((dynld-name "nemo-utils.import") ("nemo-utils.import.scm") (compile -O2 -s nemo-utils.import.scm)) ) (list (dynld-name "nemo-utils") (dynld-name "nemo-utils.import")) ) (install-extension ; Name of your extension: 'nemo-utils ; Files to install for your extension: `(,(dynld-name "nemo-utils") ,(dynld-name "nemo-utils.import")) ; Assoc list with properties for your extension: `((version ,nemo-version))) (make ( ((dynld-name "nemo-gate-complex") ("nemo-gate-complex.scm") (compile -O -d2 -s nemo-gate-complex.scm -j nemo-gate-complex)) ((dynld-name "nemo-gate-complex.import") ("nemo-gate-complex.import.scm") (compile -O2 -s nemo-gate-complex.import.scm)) ) (list (dynld-name "nemo-gate-complex") (dynld-name "nemo-gate-complex.import")) ) (install-extension ; Name of your extension: 'nemo-gate-complex ; Files to install for your extension: `(,(dynld-name "nemo-gate-complex") ,(dynld-name "nemo-gate-complex.import") ) ; Assoc list with properties for your extension: `((version ,nemo-version))) (make ( ((dynld-name "nemo-macros") ("nemo-macros.scm") (compile -O -d2 -s nemo-macros.scm -j nemo-macros)) ((dynld-name "nemo-macros.import") ("nemo-macros.import.scm") (compile -O2 -s nemo-macros.import.scm)) ) (list (dynld-name "nemo-macros") (dynld-name "nemo-macros.import")) ) (install-extension ; Name of your extension: 'nemo-macros ; Files to install for your extension: `(,(dynld-name "nemo-macros") ,(dynld-name "nemo-macros.import") ) ; Assoc list with properties for your extension: `((version ,nemo-version))) (make ( ((dynld-name "nemo-nmodl") ("nemo-nmodl.scm") (compile -O -d2 -s nemo-nmodl.scm -j nemo-nmodl)) ((dynld-name "nemo-nmodl.import") ("nemo-nmodl.import.scm") (compile -O2 -s nemo-nmodl.import.scm)) ) (list (dynld-name "nemo-nmodl") (dynld-name "nemo-nmodl.import")) ) (install-extension ; Name of your extension: 'nemo-nmodl ; Files to install for your extension: `(,(dynld-name "nemo-nmodl") ,(dynld-name "nemo-nmodl.import") ) ; Assoc list with properties for your extension: `((version ,nemo-version))) (if (file-exists? "nemo-matlab.scm") (begin (make ( ((dynld-name "nemo-matlab") ("nemo-matlab.scm") (compile -O -d2 -s nemo-matlab.scm -j nemo-matlab)) ((dynld-name "nemo-matlab.import") ("nemo-matlab.import.scm") (compile -O2 -s nemo-matlab.import.scm)) ) (list (dynld-name "nemo-matlab") (dynld-name "nemo-matlab.import")) ))) (if (file-exists? "nemo-matlab.scm") (install-extension ;; Name of your extension: 'nemo-matlab ;; Files to install for your extension: `(,(dynld-name "nemo-matlab") ,(dynld-name "nemo-matlab.import") ) ;; Assoc list with properties for your extension: `((version ,nemo-version)))) (make ( ((dynld-name "nemo-hh") ("extensions/nemo-hh.scm") (compile -O -d2 -s extensions/nemo-hh.scm -j nemo-hh -o ,(dynld-name "nemo-hh")) ) ((dynld-name "nemo-hh.import") ("nemo-hh.import.scm") (compile -O2 -s nemo-hh.import.scm)) ) (list (dynld-name "nemo-hh") (dynld-name "nemo-hh.import")) ) (install-extension ; Name of your extension: 'nemo-hh ; Files to install for your extension: `(,(dynld-name "nemo-hh") ,(dynld-name "nemo-hh.import")) ; Assoc list with properties for your extension: `((version ,nemo-version))) (make ( ((dynld-name "nemo-vclamp") ("extensions/nemo-vclamp.scm") (compile -O -d2 -s extensions/nemo-vclamp.scm -j nemo-vclamp -o ,(dynld-name "nemo-vclamp")) ) ((dynld-name "nemo-vclamp.import") ("nemo-vclamp.import.scm") (compile -O2 -s nemo-vclamp.import.scm)) ) (list (dynld-name "nemo-vclamp") (dynld-name "nemo-vclamp.import")) ) (install-extension ; Name of your extension: 'nemo-vclamp ; Files to install for your extension: `(,(dynld-name "nemo-vclamp") ,(dynld-name "nemo-vclamp.import")) ; Assoc list with properties for your extension: `((version ,nemo-version))) (make ( ("nemo" ("nemo.scm") (compile -d2 nemo.scm)) ) "nemo") (install-program 'nemo `("nemo" ) ; Assoc list with properties for the program: `((version ,nemo-version) (documentation "nemo.html"))) ;; From setup-header.scm by Kon Lovett (define (installation-chicken-home) (if (not (installation-prefix)) (chicken-home) (make-pathname `(,(installation-prefix) "share") "chicken") ) ) ;;; Constants & Procedures (define SHARED-DIR (installation-chicken-home)) (define NEMO-DIR (make-pathname SHARED-DIR "nemo")) ;; File Copy Operations (define (copy-file-to-nemo-dir fn) (let ([fn (->string fn)]) (copy-file fn (make-pathname NEMO-DIR fn)) ) ) ;(copy-file-to-nemo-dir "examples/hh-substrate.nemo") ;(copy-file-to-nemo-dir "examples/hh-superstrate.nemo") ;(copy-file-to-nemo-dir "examples/Khaliq03")