6 PORTDIR
=$(GCLDIR
)/unixport
7 MAXIMA
= .
/saved_maxima
8 LISP
= $(PORTDIR
)/saved_gcl
${EXE} $(PORTDIR
)/
9 # sloop.o is already in our kcl. otherwise it goes here.
16 # for main link of raw_gcl
19 #The multi precision library stuff
20 MPFILES
=$(MPDIR
)/mpi-386_no_under.o
$(MPDIR
)/libmport.a
23 # root for the installation, eg /usr/local
24 # This would cause make install to create /usr/local/bin/gcl and
25 # /usr/local/lib/gcl-2-??/* with some basic files.
28 # where to place the info files
29 INFO_DIR
=/usr
/local
/info/
31 # where to put emacs lisp files.
32 EMACS_SITE_LISP
=/usr
/share
/emacs
/20.7/site-lisp
35 EMACS_DEFAULT_EL
=/usr
/share
/emacs
/20.7/site-lisp
/default.el
37 # numerous TCL/TK variables culled from the tkConfig.sh and tclConfig.sh
39 TK_CONFIG_PREFIX
=/usr
/local
/lib
40 TK_LIBRARY
=/usr
/local
/lib
/tk8.3
41 TCL_LIBRARY
=/usr
/local
/lib
/tcl8.3
42 TK_XINCLUDES
=-I
/usr
/X11R6
/include
43 TK_INCLUDE
=-I
/usr
/local
/lib
/..
/include
44 TCL_INCLUDE
=-I
/usr
/local
/lib
/..
/include
45 TK_LIB_SPEC
=-L
/usr
/local
/lib
-ltk8.3
46 TK_BUILD_LIB_SPEC
=-L
/home
/wfs
/src
/tk8.3
.2/unix
-ltk8.3
47 TK_XLIBSW
=-L
/usr
/X11R6
/lib
-lX11
48 TK_XINCLUDES
=-I
/usr
/X11R6
/include
49 TCL_LIB_SPEC
=-L
/usr
/local
/lib
-ltcl8.3
${TCL_DBGX}
60 GCLDIR
=/home
/wfs
/cvs
/gcl
64 # notes for redhat 6.0
65 # the configure should select the compiler GCC=/usr/bin/i386-glibc20-linux-gcc
66 # However for the gcl-tk directory, you must use plain 'gcc' since
67 # that must link with the tcl tk libs which have been compiled with it.
68 # so after configure change to GCC=gcc in the gcl-tk/makefile
71 # Machine dependent makefile definitions for intel 386,486 running linux
73 LBINDIR
=/usr
/local
/bin
80 # This CC string will be used for compilation of the system,
81 # and also in the compiler::*cc* variable for later compilation of
83 # (the -pipe is just since our file system is slow..)
84 CC
= ${GCC} -pipe
-fwritable-strings
-DVOL
=volatile
-I
$(GCLDIR
)/o
-fsigned-char
86 # under redhat 6.1 and slackware 7.0 we needed to have this
87 # link be static, but should be ok with the fix to unixport/rsym_elf.c
91 # note for linuxaout on an elf machine add -b i486-linuxaout
92 # CC = gcc -pipe -fwritable-strings -DVOL=volatile -I$(GCLDIR)/o -fsigned-char -b i486-linuxaout
94 # Enable the fastloading mechanism which does not use ld -A
95 # requires c/rel_.. machine dependent code.
98 SFASL
= $(ODIR
)/sfasl.o
101 #MPFILES= $(MPDIR)/mpi-386d.o $(MPDIR)/libmport.a
104 # When using SFASL it is good to have (si::build-symbol-table)
105 INITFORM
=(si
::build-symbol-table
)
112 # the make to use for saved_kcp the profiler.
114 MPFILES
=${GMP_DIR}libgmp.a
118 GCLDIR
=/home
/wfs
/cvs
/gcl
119 MAXDIR
=/home
/wfs
/cvs
/maxima
120 PREFIX_DIR
=/usr
/local
121 EMACS_SITE_LISP
=/usr
/local
/lib
/emacs
/site-lisp
122 INFO_DIR
=/usr
/local
/info
123 MAN_DIR
=/usr
/local
/man
/man1
128 MACROS
= lmdcls.o letmac.o kclmac.o clmacs.o commac.o mormac.o \
129 compat.o defopt.o defcal.o maxmac.o mopers.o \
130 mforma.o mrgmac.o procs.o rzmac.o strmac.o \
131 displm.o ratmac.o mhayat.o \
132 numerm.o transm.o optimize.o
134 # serror.o is now in gcl
135 OBJS
= opers.o utils.o sumcon.o sublis.o runtim.o \
136 merror.o mformt.o mutils.o \
137 outmis.o
ar.o misc.o comm.o comm2.o mlisp.o \
138 mmacro.o buildq.o simp.o float.o csimp.o \
139 csimp2.o zero.o logarc.o rpart.o macsys.o mload.o \
140 suprv1.o dskfn.o lesfac.o \
141 factor.o algfac.o nalgfa.o ufact.o result.o \
142 rat3a.o rat3b.o rat3d.o rat3c.o rat3e.o \
143 nrat4.o ratout.o transl.o transs.o \
144 trans1.o trans2.o trans3.o trans4.o \
145 trans5.o transf.o troper.o trutil.o trmode.o trdata.o \
146 trpred.o transq.o acall.o \
147 fcall.o evalw.o trprop.o mdefun.o bessel.o ellipt.o \
148 numer.o intpol.o rombrg.o \
149 nparse.o displa.o nforma.o ldisp.o \
150 grind.o spgcd.o ezgcd.o option.o macdes.o \
151 inmis.o db.o compar.o askp.o sinint.o \
152 sin.o risch.o hayat.o defint.o residu.o trigi.o \
153 trigo.o trgred.o specfn.o mat.o matrix.o \
154 sprdet.o newinv.o linnew.o newdet.o \
155 schatc.o matcom.o matrun.o nisimp.o tlimit.o \
156 limit.o solve.o psolve.o algsys.o \
157 polyrz.o cpoly.o mtrace.o scs.o asum.o fortra.o \
158 optim.o marray.o mdot.o irinte.o \
159 series.o numth.o laplac.o pade.o homog.o combin.o \
160 mstuff.o ratpoi.o pois2.o pois3.o mdebug.o
163 TRANSLATED
= nusum.o desoln.o elim.o trgsmp.o ode2.o invert.o plot.o
165 OTHERS
= hypgeo.o hyp.o todd-coxeter.o mactex.o
167 all: $(MACROS
) $(OBJS
) saved_maxima
$(OTHERS
)
172 cp
${TRANSLATED} ${OTHERS} ${INSTALL_LIB_DIR}/src
174 sysinit.o maxobjs
: sysinit.lsp makefile ..
/makefile
175 echo
'(load "sysdef.lisp")(compile-file "sysinit.lsp" :system-p t :c-file t)' |
$(LISP
)
177 # make an init_maxima.lsp in the PORTDIR
179 init_max0.lisp
: makefile
180 echo
'(si::chdir "${HERE}")' > init_max0.lisp
181 echo
'(load "maxima-package.lisp")' >> init_max0.lisp
182 echo
'(setq maxima::*maxima-directory* (namestring (truename "../")))' >> init_max0.lisp
185 for v in
`echo $OBJS $OTHERS $TRANSLATED | sed -e "s:\.o:.lisp:g"` ; do echo for
$v ; diff
-c
$v /home
/wfs
/cvs
/maxima
/src
/$v ; done
187 init_max2.lisp
: makefile
188 echo
'(si::chdir "'${PORTDIR}'")' > init_max2.lisp
190 saved_maxima
: maxobjs sysinit.o
$(OBJS
) $(MACROS
) version.lisp init_max0.lisp init_max2.lisp
191 cat
$(PORTDIR
)/init_gcl.lsp | sed
-e \
192 "s\a;system-init\a(si::chdir \"${HERE}\")(si::save-system \"saved_maxima\")\ag" \
194 - if cmp init_maxima.lsp
$(PORTDIR
)/init_maxima.lsp
> /dev
/null
;\
195 then true
; else cp init_maxima.lsp
$(PORTDIR
)/init_maxima.lsp
;fi
196 (cd
$(PORTDIR
) ; make saved_maxima
"SYSTEM=maxima" "SYSTEM_OBJS=`cat $(MAXDIR)/src/maxobjs`" "PORTDIR=$(PORTDIR)")
200 version.lisp
: ..
/majvers ..
/minvers
${OBJS} ${MACROS}
201 echo
"(setf (get :maxima :version) (quote (" `cat ../majvers` `cat ../minvers` \"`date`\" ")))" > version.lisp
203 PREAMBLE
='(load "sysdef.lisp")' \
204 '(load "SYS-PROCLAIM.lisp")' \
205 '(proclaim (quote (optimize (safety 0) (speed 0) (space 0))))' \
206 '(setq compiler::*ifuncall* t)'
208 PREAMBLE
='(load "sysdef.lisp")' \
209 '(load "'${GCLDIR}'/lsp/sys-proclaim.lisp")' '(load "sys-proclaim.lisp")' \
210 '(proclaim (quote (optimize (safety 0) (speed 3) (space 0))))' \
211 '(setq *load-verbose* nil)'
216 '(proclaim (quote (optimize (safety 2) (speed 2) (space 2))))' \
217 '(make::make :maxima-macros :compile t)' |
$(LISP
)
219 $(TRANSLATED
) $(OTHERS
):
220 .
/saved_maxima
-compile
$*.lisp
-o-file t
222 translated
: $(TRANSLATED
) $(OTHERS
)
225 $(SAVEDKCLDIR
)/saved_kcl
$(SAVEDKCLDIR
) $*.lisp
$* S1000
227 # This would cause recompiling of all objects if one macro file changed.
228 # $(OBJS):: saved_max_compile
232 echo
$(PREAMBLE
)'(make::make :maxima-macros)(compile-file '\"$*.lisp
\"' :system-p t)' |
${LISP}
234 # c files should not get left but they're sometimes there.
237 echo
$(PREAMBLE
)'(make::make :maxima-macros)(compile-file '\"$*.lisp
\"' :system-p t)' |
${LISP}
240 rm -f
$(TRANSLATED
) $(OBJS
) $(MACROS
) core saved_maxima
244 rm -f
$(OBJS
) $(MACROS
) core saved_max_compile make.o
$(PORTDIR
)/raw_maxima
247 rm -f
`echo $(OBJS) | sed -e "s:[.]o:.lisp:g"`
248 rm -f
$(OBJS
) sysdef.lisp make.lisp
250 rm -f
$(PORTDIR
)/raw_maxima
253 @echo etags
$(OTHERS
) $(TRANSLATED
) $(OBJS
) $(MACROS
) | sed
-e
"s:\.o:.lisp:g" |sh
256 echo
"(setq user::lisp-dir \"$(KCLDIR)\")" \
257 '(load "makepro.lisp")' |
$(KCLDIR
)/xbin
/kcl
258 cat var-proclaims.lisp
>> SYS-PROCLAIM.lisp
262 '(setq maxima::*maxima-directory* (namestring (truename "../")))'\
263 '(proclaim (quote (optimize (safety 2) (speed 2) (space 2))))' \
264 '(in-package "MAXIMA")(make::make :maxima :proclaims t)' |
$(LISP
)
265 cat var-proclaims.lisp
>> sys-proclaim.lisp
270 echo
'(progn (load "compile-clisp.lisp")(compile-maxima))' |
${CLISP}
271 maxima-clisp.mem
: clisp-compile
272 echo
'(progn (load "compile-clisp.lisp")(save-maxima))' |
${CLISP}
273 # invoke clisp maxima on the test suite
274 test-clisp
: maxima-clisp.mem
275 (cd ..
/doc
; ${CLISP} -M ..
/src
/maxima-clisp.mem tests.lisp
)
279 echo
'(progn (load "compile-cmulisp.lisp")(compile-maxima)(quit))' |
${CMULISP}
280 maxima.core
: cmulisp-compile
281 echo
'(progn (load "compile-cmulisp.lisp")(save-maxima)(quit))' |
${CMULISP}
283 test-cmulisp
: maxima.core
284 (cd ..
/doc
; ${CMULISP} -core ..
/src
/maxima.core
-load tests.lisp
)
293 # explicitly state these... necessary for some 'make' s
316 optimize.o
:optimize.lisp
320 @ for v in
${OTHERS} ${TRANSLATED} ; do echo src
/$$v ; done