Remove the obsolete DEFMTRFUN-EXTERNAL macro
[maxima.git] / share / hompack / hompack-lisp.system
blob72079f337ed0f8f131020e85c77c1269860d01c9
1 ;;; -*- Mode: lisp -*-
2 ;;;
3 ;;; Defsystem for converting the hompack fortran files to lisp.
4 ;;;
5 ;;; From the root the the maxima tree, run the following with maxima:
6 ;;;
7 ;;;  :lisp (load "share/hompack/hompack-lisp.system")
8 ;;;  :lisp (mk:oos "hompack-lisp" :compile :force t)
9 ;;;
10 ;;; This should convert all the Fortran files and place them in the
11 ;;; lisp directory that hompack.system wants.  This is only needed if
12 ;;; the fortran files have changed since the converted lisp files are
13 ;;; checked in.
16 (mk:define-language :f2cl-lisp
17     :compiler #'f2cl:f2cl
18   :loader #'identity
19   :source-extension "f"
20   :binary-extension "lisp")
22 (mk:defsystem blas-package
23   :source-pathname (maxima::maxima-load-pathname-directory)
24   :binary-pathname (maxima::maxima-objdir "share" "hompack")
25   :components
26   ((:module "../lapack/blas"
27     ::components
28     ((:file "blas-package")))))
30 (mk:defsystem blas-hompack
31   :source-pathname (maxima::maxima-load-pathname-directory)
32   :binary-pathname (maxima::maxima-objdir "share" "hompack")
33   :depends-on ("blas-package")
34   :language :f2cl-lisp
35   :components
36   ((:module "../lapack/blas/fortran"
37     :compiler-options (:package "BLAS" :float-format double-float)
38     :compile-only t
39     :source-extension "f"
40     :binary-pathname "."
41     :components
42     ((:file "daxpy")
43      (:file "dcopy")
44      (:file "ddot" )
45      (:file "dnrm2")
46      (:file "dscal")
47      (:file "idamax")))))
49 (mk:defsystem hompack-package
50   :source-pathname (maxima::maxima-load-pathname-directory)
51   :binary-pathname (maxima::maxima-objdir "share" "hompack")
52   :components
53   ((:module "lisp"
54     :source-extension "lisp"
55     :binary-pathname "."
56     :components
57     ((:file "hompack-package")))))
59 ;; System to convert the fortran code to lisp code.
60 (mk:defsystem hompack-lisp
61   :source-pathname (maxima::maxima-load-pathname-directory)
62   :binary-pathname (maxima::maxima-load-pathname-directory)
63   :depends-on ("hompack-package" "blas-hompack")
64   :language :f2cl-lisp
65   :components
66   ((:module "fortran"
67     :compiler-options (:package "HOMPACK" :float-format double-float)
68     :compile-only t
69     :source-extension "f"
70     :binary-pathname "lisp"
71     :components
72     (
73      ;; The following are :compile-only here because HOMPACK only
74      ;; gives skeletons for them.  We make them :compile-only so that
75      ;; f2cl will get the function definitions so it can generate
76      ;; calls to them appropriately.
77      ;;
78      ;; The user is supposed to provide appropriate definitions for
79      ;; them.  Also, rho and rhojac are supposed to be user-defined,
80      ;; but the versions in HOMPACK are used for POLSYS.
81      (:file "f" :compile-only t)
82      (:file "fjac" :compile-only t)
83      (:file "fjacs" :compile-only t)
84      (:file "rhojs"  :compile-only t)
85      (:file "rhoa" :compile-only t)
86      (:file "rho")
87      (:file "rhojac" :depends-on ("hfunp"))
89      (:file "dcpose")
90      (:file "divp")
91      (:file "ffunp" :depends-on ("mulp" "powp"))
92      (:file "fixpdf" :depends-on (#+nil "rhoa" "steps" "sintrp" "root"))
93      (:file "fixpds" :depends-on (#+nil "rhoa" "stepds" "sintrp" "root"))
94      (:file "fixpnf" :depends-on ("stepnf" "rootnf"))
95      (:file "fixpns" :depends-on ("stepns" "rootns"))
96      (:file "fixpqf" :depends-on ("stepqf" "rootqf"))
97      (:file "fixpqs" :depends-on ("stepqs" "rootqs"))
98      (:file "fode" :depends-on ("rhojac" #+nil "fjac"))
99      (:file "fodeds" :depends-on (#+nil "rhojs" "pcgds" #+nil "fjacs"))
100      (:file "gfunp" :depends-on ("powp" "mulp"))
101      (:file "gmfads")
102      (:file "hfun1p" :depends-on ("gfunp" "ffunp"))
103      (:file "hfunp" :depends-on ("hfun1p"))
104      (:file "initp" :depends-on ("sclgnp"))
105      (:file "mfacds" :depends-on ("gmfads"))
106      (:file "mulp")
107      (:file "multds")
108      (:file "otputp")
109      (:file "pcgds" :depends-on ("qimuds" "mfacds" "multds"))
110      (:file "pcgns" :depends-on ("mfacds" "multds" "qimuds"))
111      (:file "pcgqs" :depends-on ("solvds" "gmfads" "multds"))
112      (:file "polsys" :depends-on ("polyp"))
113      (:file "polyp" :depends-on ("initp" "strptp" "otputp" "fixpnf"))
114      (:file "powp")
115      (:file "qimuds" :depends-on ("solvds"))
116      (:file "qrfaqf")
117      (:file "qrslqf")
118      (:file "root")
119      (:file "rootnf" :depends-on ("tangnf"))
120      (:file "rootns" :depends-on ("tangns"))
121      (:file "rootqf" :depends-on ("upqrqf" "rho" "qrslqf" #+nil "fjac"))
122      (:file "rootqs" :depends-on (#+nil "rhojs" "rho" "pcgqs" #+nil "fjacs"))
123      (:file "sclgnp")
124      (:file "sintrp")
125      (:file "solvds")
126      (:file "stepds")
127      (:file "stepnf" :depends-on ("tangnf"))
128      (:file "stepns" :depends-on ("tangns"))
129      (:file "stepqf" :depends-on ("tangqf" "upqrqf" "rho" "rhojac" "qrslqf" #+nil "fjac"))
130      (:file "stepqs" :depends-on ("tangqs" #+nil "rhojs" "pcgqs" #+nil "fjacs"))
131      (:file "steps")
132      (:file "strptp")
133      (:file "otputp")
134      (:file "r1upqf")
135      (:file "tangnf" :depends-on ("rhojac" "rho" #+nil "fjac"))
136      (:file "tangns" :depends-on ("rhojac" "rho" "pcgns" #+nil "rhojs" "pcgds" #+nil "fjac"))
137      (:file "tangqf" :depends-on ("rhojac" "qrfaqf" "qrslqf" "r1upqf" #+nil "fjac"))
138      (:file "tangqs" :depends-on (#+nil "rhojs" "pcgqs" #+nil "fjac"))
139      (:file "upqrqf" :depends-on ("r1upqf"))
140      ))))