Windows installer: Update README.txt.
[maxima.git] / archive / src / makefile.prev
blobc41bb04307df1e7050953c752c2e0d0cbb3f5669
2 .SUFFIXES: .o .c .lisp
4 SHELL   = sh
5 SRC     = .
6 PORTDIR =$(GCLDIR)/unixport
7 MAXIMA  = ./saved_maxima
8 LISP    = $(PORTDIR)/saved_gcl $(PORTDIR)/
9 #       sloop.o is already in our kcl. otherwise it goes here.
12 # begin makedefs
13 GCLDIR=/usr/local/kcl/gcl-2.2
14 SHELL=/bin/sh
15 MACHINE=alpha-osf1
16 #could not find tk.tcl so using:
17 TK_LIBRARY=unknown
18 X11_INCLUDE_DIR=-I/usr/include
19 #could not find tk.h so using:
20 TK_INCLUDE_DIR=-Iunknown
21 #could not find libtk.* so using:
22 TK_LIBS=-Lunknown -ltk
23 #could not find libtcl.* so using:
24 TCL_LIBS=-Lunknown -ltcl
25 X11_LIBS=-L/usr/lib -lX11
26 EMACS_SITE_LISP=/usr/local/lib/emacs/site-lisp
27 INFO_DIR=/usr/local/info
28 # /* copyright W. Schelter 1990 */
29 # Machine dependent makefile definitions for dec 3100
30 # gcl 505 worked under Ultrix V3.1C-0 (Rev. 42) with speed=0. -ie no -O
31 # for the lisp files.
33 LBINDIR=/usr/local/bin
35 OFLAG   = -O
36 LIBS    = -lm -lbsd
37 ODIR_DEBUG= -g3
38 NULLFILE = ../h/twelve_null
39 SHELL=/bin/sh
41 # .IGNORE:
43 # This CC string will be used for compilation of the system,
44 # and also in the compiler::*cc* variable for later compilation of
45 # lisp files.
47 # also defined in `machine'.h file
48 # The one here must be >= the one in the .h file.
49 # It must be a multiple of 0x400000 greater that 0x400000 the
50 # default text start.
51 TBEGIN= 10000000
52 DBEGIN= 12000000
54 # If you don't plan on linking in a lot of other stuff
55 # like maxima, you can increase the -G 8 to -G 800 or so.
56 # That should be a bit faster..
57 # We have replaced -DVOL=volatile with -DVOL= since in ultrix 4.2
58 # the volatile declaration is not correctly implemented.   Hopefully
59 # it is not required there.
61 CC = cc -DVOL= -I${GCLDIR}/o  
62 LDCC = cc -Wl,-D -Wl,${DBEGIN} -Wl,-T -Wl,${TBEGIN}
65 # Enable the fastloading mechanism which does not use ld -A
66 # requires c/rel_.. machine dependent code.
68 # RSYM  = rsym
69 # SFASL = $(ODIR)/sfasl.o
71 # When using SFASL it is good to have (si::build-symbol-table)
72 # INITFORM=(si::build-symbol-table)
73 # incremental loading with -A requires -G 0
74 # INITFORM=(setq compiler::*cc* "cc -DVOL=volatile -G 0 ")
75 # until volatile works on this machine leave it out.
76 # INITFORM=(setq compiler::*cc* "cc -DVOL= -G 0 ")
78 # Use symbolic links
79 SYMB=-s
82 #MPFILES= ${MPDIR}/mp.o ${MPDIR}/gen2.o ${MPDIR}/alpha.o
83 MPFILES=  ${MPDIR}/alpha.o /usr/local/lib/libpari.a
84 MPFILES= ${MPDIR}/mpi.o ${MPDIR}/libmport.a
86 RANLIB= ar lts
88 # end makedefs
89 GCLDIR=/usr/local/kcl/gcl-2.2
90 MAXDIR=/usr/local/kcl/maxima-5.1
91 # end maxmakedefs
94 MACROS = lmdcls.o letmac.o kclmac.o clmacs.o commac.o mormac.o \
95         compat.o defopt.o defcal.o maxmac.o mopers.o \
96         mforma.o mrgmac.o procs.o rzmac.o strmac.o \
97         displm.o ratmac.o mhayat.o \
98         numerm.o transm.o optimize.o 
100 OBJS   = opers.o utils.o sumcon.o sublis.o runtim.o \
101         serror.o merror.o mformt.o mutils.o \
102         outmis.o ar.o misc.o comm.o comm2.o mlisp.o \
103         mmacro.o buildq.o simp.o float.o csimp.o \
104         csimp2.o zero.o logarc.o rpart.o macsys.o mload.o \
105         suprv1.o dskfn.o lesfac.o \
106         factor.o algfac.o nalgfa.o ufact.o result.o \
107         rat3a.o rat3b.o rat3d.o rat3c.o rat3e.o \
108         nrat4.o ratout.o  transl.o transs.o \
109         trans1.o trans2.o trans3.o trans4.o \
110         trans5.o transf.o troper.o trutil.o trmode.o trdata.o \
111         trpred.o transq.o acall.o \
112         fcall.o evalw.o trprop.o mdefun.o bessel.o ellipt.o \
113         numer.o intpol.o rombrg.o \
114         nparse.o displa.o nforma.o ldisp.o \
115         grind.o spgcd.o ezgcd.o option.o macdes.o \
116         inmis.o db.o compar.o askp.o sinint.o \
117         sin.o risch.o hayat.o defint.o residu.o trigi.o \
118         trigo.o trgred.o specfn.o mat.o matrix.o \
119         sprdet.o newinv.o linnew.o newdet.o \
120         schatc.o matcom.o matrun.o nisimp.o tlimit.o \
121         limit.o solve.o psolve.o algsys.o \
122         polyrz.o cpoly.o mtrace.o scs.o asum.o fortra.o \
123         optim.o marray.o mdot.o irinte.o \
124         series.o numth.o laplac.o pade.o homog.o combin.o \
125         mstuff.o ratpoi.o pois2.o pois3.o 
128 TRANSLATED = nusum.o desoln.o elim.o trgsmp.o ode2.o invert.o plot.o
130 OTHERS  = hypgeo.o hyp.o
132 all:   $(MACROS) $(OBJS)  saved_maxima $(OTHERS)
133         make translated
135 install:
136         cp ${TRANSLATED} ${INSTALL_LIB_DIR}/src
138 sysinit.o maxobjs: sysinit.lsp makefile ../makefile
139         echo '(load "sysdef.lisp")(compile-file "sysinit.lsp" )' | $(LISP)
141 # make an init_maxima.lsp in the PORTDIR
142 init: $(PORTDIR)/init_gcl.lsp
143         cat $(PORTDIR)/init_gcl.lsp | sed -e \
144         "s\a;system-init\a(si::chdir \"`pwd`\")(load \"maxima-package.lisp\")(load \"init_max0.lisp\")(load \"sysinit.o\")(user::user-init)(load \"init_max1.lisp\")(si::save-system \"saved_maxima\")\ag" \
145         > init_maxima.lsp
146         - if cmp init_maxima.lsp $(PORTDIR)/init_maxima.lsp > /dev/null ;\
147         then true; else  cp init_maxima.lsp $(PORTDIR)/init_maxima.lsp ;fi
148         
149 saved_maxima: maxobjs sysinit.o $(OBJS) $(MACROS) version.lisp
150         make init
151         (cd $(PORTDIR) ; make saved_maxima "SYSTEM=maxima" "SYSTEM_OBJS=`cat $(MAXDIR)/src/maxobjs`" "PORTDIR=$(PORTDIR)")
153 version.lisp: ../majvers  ../minvers
154         echo "(setf (get :maxima :version) (quote (" `cat ../majvers` `cat ../minvers` \"`date`\" ")))" > version.lisp
156 PREAMBLE='(load "sysdef.lisp")' \
157         '(load "SYS-PROCLAIM.lisp")' \
158         '(proclaim (quote (optimize (safety 0) (speed 0) (space 0))))' \
159         '(setq compiler::*ifuncall* t)'
162 $(MACROS):  
163         echo $(PREAMBLE)\
164         '(proclaim (quote (optimize (safety 2) (speed 2) (space 2))))' \
165         '(make::make :maxima-macros :compile t)' | $(LISP)
167 $(TRANSLATED) $(OTHERS):
168         ./saved_maxima -compile  $*.lisp  -o-file t
170 translated:     $(TRANSLATED) $(OTHERS)
172 sloop.o make.o:
173          $(SAVEDKCLDIR)/saved_kcl $(SAVEDKCLDIR) $*.lisp $* S1000
175 # This would cause recompiling of all objects if one macro file changed.
176 # $(OBJS):: saved_max_compile
177 #       rm $@
179 .lisp.o:
180         echo $(PREAMBLE)'(make::make :maxima-macros)(compile-file '\"$*.lisp\"' :system-p  t)' | ${LISP}
181         
182 # c files should not get left but they're sometimes there.
184 .c.o:
185         echo $(PREAMBLE)'(make::make :maxima-macros)(compile-file '\"$*.lisp\"' :system-p t)' | ${LISP}
187 all-clean:
188         rm -f $(TRANSLATED) $(OBJS) $(MACROS) core saved_maxima
189         rm -f *.o
191 clean:
192         rm -f  $(OBJS) $(MACROS) core saved_max_compile make.o $(PORTDIR)/raw_maxima
194 eliminate-source:
195         rm -f `echo  $(OBJS) | sed -e "s:[.]o:.lisp"`
196         rm -f $(OBJS) sysdef.lisp make.lisp
197         rm -f info/*.texi
198         rm -f $(PORTDIR)/raw_maxima
200 tags:
201         @echo etags $(OTHERS) $(TRANSLATED) $(OBJS) $(MACROS) | sed -e "s:\.o:.lisp:g" |sh
203 proclaims:
204         echo "(setq user::lisp-dir \"$(KCLDIR)\")" \
205         '(load "makepro.lisp")' | $(KCLDIR)/xbin/kcl
206         cat var-proclaims.lisp >> SYS-PROCLAIM.lisp