3 ;;; This is a simple defsystem for compiling HOMPACK
5 ;; Don't know why defsystem doesn't complain, but you need to load up
6 ;; blas.system and build blas-hompack first. Otherwise, it loads up
7 ;; hompack-package before blas-hompack which causes an error since the
8 ;; BLAS package isn't defined.
10 (mk:defsystem blas-hompack
11 :source-pathname (maxima::maxima-load-pathname-directory)
12 :binary-pathname (maxima::maxima-objdir "share" "hompack")
14 ((:module "../lapack/blas"
15 :source-extension "lisp"
17 ((:file "blas-package")
18 (:file "daxpy" :depends-on ("blas-package"))
19 (:file "dcopy" :depends-on ("blas-package"))
20 (:file "ddot" :depends-on ("blas-package"))
21 (:file "dnrm2" :depends-on ("blas-package"))
22 (:file "dscal" :depends-on ("blas-package"))
23 (:file "idamax" :depends-on ("blas-package"))))))
26 (mk:defsystem hompack-package
27 :source-pathname (maxima::maxima-load-pathname-directory)
28 :binary-pathname (maxima::maxima-objdir "share" "hompack")
29 :depends-on ("blas-hompack")
32 :source-extension "lisp"
35 ((:file "hompack-package")))))
38 :source-pathname (maxima::maxima-load-pathname-directory)
39 :binary-pathname (maxima::maxima-objdir "share" "hompack")
40 :depends-on ("hompack-package" "blas-hompack")
43 :source-extension "lisp"
47 ;; The following are :compile-only here because HOMPACK only
48 ;; gives skeletons for them. We make them :compile-only so that
49 ;; f2cl will get the function definitions so it can generate
50 ;; calls to them appropriately.
52 ;; The user is supposed to provide appropriate definitions for
53 ;; them. Also, rho and rhojac are supposed to be user-defined,
54 ;; but the versions in HOMPACK are used for POLSYS.
55 ;;(:file "f" :compile-only t)
56 ;;(:file "fjac" :compile-only t)
57 ;;(:file "fjacs" :compile-only t)
58 ;;(:file "rhojs" :compile-only t)
59 ;;(:file "rhoa" :compile-only t)
61 (:file "rhojac" :depends-on ("hfunp"))
65 (:file "ffunp" :depends-on ("mulp" "powp"))
66 (:file "fixpdf" :depends-on (#+nil "rhoa" "steps" "sintrp" "root"))
67 (:file "fixpds" :depends-on (#+nil "rhoa" "stepds" "sintrp" "root"))
68 (:file "fixpnf" :depends-on ("stepnf" "rootnf"))
69 (:file "fixpns" :depends-on ("stepns" "rootns"))
70 (:file "fixpqf" :depends-on ("stepqf" "rootqf"))
71 (:file "fixpqs" :depends-on ("stepqs" "rootqs"))
72 (:file "fode" :depends-on ("rhojac" #+nil "fjac"))
73 (:file "fodeds" :depends-on (#+nil "rhojs" "pcgds" #+nil "fjacs"))
74 (:file "gfunp" :depends-on ("powp" "mulp"))
76 (:file "hfun1p" :depends-on ("gfunp" "ffunp"))
77 (:file "hfunp" :depends-on ("hfun1p"))
78 (:file "initp" :depends-on ("sclgnp"))
79 (:file "mfacds" :depends-on ("gmfads"))
83 (:file "pcgds" :depends-on ("qimuds" "mfacds" "multds"))
84 (:file "pcgns" :depends-on ("mfacds" "multds" "qimuds"))
85 (:file "pcgqs" :depends-on ("solvds" "gmfads" "multds"))
86 (:file "polsys" :depends-on ("polyp"))
87 (:file "polyp" :depends-on ("initp" "strptp" "otputp" "fixpnf"))
89 (:file "qimuds" :depends-on ("solvds"))
93 (:file "rootnf" :depends-on ("tangnf"))
94 (:file "rootns" :depends-on ("tangns"))
95 (:file "rootqf" :depends-on ("upqrqf" "rho" "qrslqf" #+nil "fjac"))
96 (:file "rootqs" :depends-on (#+nil "rhojs" "rho" "pcgqs" #+nil "fjacs"))
101 (:file "stepnf" :depends-on ("tangnf"))
102 (:file "stepns" :depends-on ("tangns"))
103 (:file "stepqf" :depends-on ("tangqf" "upqrqf" "rho" "rhojac" "qrslqf" #+nil "fjac"))
104 (:file "stepqs" :depends-on ("tangqs" #+nil "rhojs" "pcgqs" #+nil "fjacs"))
109 (:file "tangnf" :depends-on ("rhojac" "rho" #+nil "fjac"))
110 (:file "tangns" :depends-on ("rhojac" "rho" "pcgns" #+nil "rhojs" "pcgds" #+nil "fjac"))
111 (:file "tangqf" :depends-on ("rhojac" "qrfaqf" "qrslqf" "r1upqf" #+nil "fjac"))
112 (:file "tangqs" :depends-on (#+nil "rhojs" "pcgqs" #+nil "fjac"))
113 (:file "upqrqf" :depends-on ("r1upqf"))
116 (mk:defsystem hompack-interface
117 :source-pathname (maxima::maxima-load-pathname-directory)
118 :binary-pathname (maxima::maxima-objdir "share" "hompack")
119 :source-extension "lisp"
120 :depends-on ("hompack")
122 ((:file "hompack-interface")))