Changeset 29963 in project


Ignore:
Timestamp:
10/26/13 10:20:11 (8 years ago)
Author:
Ivan Raikov
Message:

9ML-toolkit: using make for generating and compiling network simulation code

Location:
release/4/9ML-toolkit/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • release/4/9ML-toolkit/trunk/network.scm

    r29952 r29963  
    4949(require-extension extras posix utils files data-structures tcp srfi-1 srfi-13 irregex)
    5050(require-extension datatype matchable static-modules miniML miniMLsyntax miniMLvalue miniMLeval)
    51 (require-extension signal-diagram ssax sxml-transforms sxpath sxpath-lolevel object-graph ersatz-lib uri-generic getopt-long )
     51(require-extension make signal-diagram ssax sxml-transforms sxpath sxpath-lolevel object-graph ersatz-lib uri-generic getopt-long )
    5252(require-extension 9ML-parse 9ML-eval 9ML-ivp-lib 9ML-ivp-mlton)
    5353
     
    12241224             (mlb-tmpl      "Sim.mlb.tmpl")
    12251225             (makefile-tmpl "Makefile.tmpl")
    1226              (group-filepath (make-pathname (pathname-directory prefix)
    1227                                             (string-append group-name ".sml")))
    1228              (sim-filepath   (make-pathname (pathname-directory prefix)
    1229                                             (string-append "Sim" group-name ".sml")))
    1230              (mlb-filepath   (make-pathname (pathname-directory prefix)
    1231                                             (string-append "Sim" group-name ".mlb")))
    1232              (makefile-filepath   (make-pathname (pathname-directory prefix)
    1233                                                  (string-append "Makefile." group-name)))
    1234 
     1226             (group-path    (make-pathname (pathname-directory prefix)
     1227                                           (string-append group-name ".sml")))
     1228             (sim-path      (make-pathname (pathname-directory prefix)
     1229                                           (string-append "Sim" group-name ".sml")))
     1230             (mlb-path      (make-pathname (pathname-directory prefix)
     1231                                           (string-append "Sim" group-name ".mlb")))
     1232             (exec-path     (make-pathname (pathname-directory prefix)
     1233                                           (string-append "Sim" group-name)))
     1234             (makefile-path (make-pathname (pathname-directory prefix)
     1235                                           (string-append "Makefile." group-name)))
    12351236             (spikelst      (fold (lambda (node ax)
    12361237                                    (let ((set (alist-ref ($ (sxml:attr node 'set)) sets)))
     
    12491250        (d "group-tenv = ~A~%" (map (lambda (x) (cons (car x) (ersatz:tvalue->sexpr (cdr x)))) group-tenv))
    12501251
    1251         (with-output-to-file group-filepath
    1252           (lambda ()
    1253             (print (ersatz:from-file
    1254                     network-tmpl
    1255                     env: (template-std-env search-path: `(,template-dir))
    1256                     models: group-tenv))))
     1252        (make (
     1253
     1254               (group-path (prefix)
     1255                           (with-output-to-file group-path
     1256                             (lambda ()
     1257                               (print (ersatz:from-file
     1258                                       network-tmpl
     1259                                       env: (template-std-env search-path: `(,template-dir))
     1260                                       models: group-tenv))))
     1261                           )
    12571262       
    1258         (with-output-to-file sim-filepath
    1259           (lambda ()
    1260             (print (ersatz:from-file
    1261                     sim-tmpl
    1262                     env: (template-std-env search-path: `(,template-dir))
    1263                     models: group-tenv))))
    1264        
    1265         (with-output-to-file mlb-filepath
    1266           (lambda ()
    1267             (print (ersatz:from-file
    1268                     mlb-tmpl
    1269                     env: (template-std-env search-path: `(,template-dir))
    1270                     models: group-tenv))))
    1271        
    1272         (with-output-to-file makefile-filepath
    1273           (lambda ()
    1274             (print (ersatz:from-file
    1275                     makefile-tmpl
    1276                     env: (template-std-env search-path: `(,template-dir))
    1277                     models: (append
    1278                              group-tenv
    1279                              `((sml_lib_home . ,(Tstr (make-pathname
    1280                                                        (make-pathname shared-dir "flsim")
    1281                                                        "sml-lib")))))
    1282 
    1283                     ))))
    1284        
    1285 
     1263               (sim-path (prefix)
     1264                         (with-output-to-file sim-path
     1265                           (lambda ()
     1266                             (print (ersatz:from-file
     1267                                     sim-tmpl
     1268                                     env: (template-std-env search-path: `(,template-dir))
     1269                                     models: group-tenv))))
     1270                         )
     1271               
     1272               (mlb-path ()
     1273                         (with-output-to-file mlb-path
     1274                           (lambda ()
     1275                             (print (ersatz:from-file
     1276                                     mlb-tmpl
     1277                                     env: (template-std-env search-path: `(,template-dir))
     1278                                         models: group-tenv))))
     1279                         )
     1280
     1281               (makefile-path ()
     1282                              (with-output-to-file makefile-path
     1283                                (lambda ()
     1284                                  (print (ersatz:from-file
     1285                                          makefile-tmpl
     1286                                          env: (template-std-env search-path: `(,template-dir))
     1287                                          models: (append
     1288                                                   group-tenv
     1289                                                   `((sml_lib_home . ,(Tstr (make-pathname
     1290                                                                             (make-pathname shared-dir "flsim")
     1291                                                                             "sml-lib")))))
     1292                                          ))))
     1293                              )
     1294
     1295               (exec-path (group-path sim-path mlb-path makefile-path)
     1296                          (run (,make)))
     1297
     1298               )
     1299
     1300          (list exec-path) )
    12861301        ))
    1287       ))
    1288    
    1289 
    1290 
    1291 
     1302    ))
    12921303 
    12931304
  • release/4/9ML-toolkit/trunk/templates/Makefile.tmpl

    r29830 r29963  
    11all: Sim{{group.name}}
    22Sim{{group.name}}: Sim{{group.name}}.mlb Sim{{group.name}}.sml {{group.name}}.sml
    3         mlton -cc-opt "-O3" -mlb-path-var "RK_LIB {{sml_lib_home}}/rk" -mlb-path-var "RANDMTZIG_LIB {{sml_lib_home}}/randmtzig" -mlb-path-var "TENSOR_LIB $(HOME)/src/ML/tensor"  $< {{sml_lib_home}}/randmtzig/randmtziglib.c
     3        mlton -cc-opt "-O3" -mlb-path-var "RK_LIB {{sml_lib_home}}/rk" -mlb-path-var "RANDMTZIG_LIB {{sml_lib_home}}/randmtzig" -mlb-path-var "TENSOR_LIB RANDMTZIG_LIB {{sml_lib_home}}/randmtzig"  $< {{sml_lib_home}}/randmtzig/randmtziglib.c
    44
Note: See TracChangeset for help on using the changeset viewer.