Updating configure.ac with new version number
[maxima.git] / archive / makefile
blob3fa06fd433003ab6cde56862ed5a1ee866b9671a
1 # edit ./configure to reflect paths at your site. This will insert
2 # things in these directories. Then do './configure'
4 # the lines down to '# end makedefs' are added by ./configure from the gcl dir.
6 # place to put maxima in installation procedure
7 PREFIX_DIR=/usr/local
8 # the above will result in /usr/local/bin/maxima and /usr/local/lib/maxima-x.x
10 # begin makedefs
12 # use=386-linux
14 # for main link of raw_gcl
15 LIBS= -lm
17 #The multi precision library stuff
18 MPFILES=$(MPDIR)/mpi-386_no_under.o $(MPDIR)/libmport.a
21 # root for the installation, eg /usr/local
22 # This would cause make install to create /usr/local/bin/gcl and
23 # /usr/local/lib/gcl-2-??/* with some basic files.
24 prefix=/usr/local
26 # where to place the info files
27 INFO_DIR=/usr/local/info/
29 # where to put emacs lisp files.
30 EMACS_SITE_LISP=/usr/share/emacs/20.7/site-lisp
32 # the default.el file
33 EMACS_DEFAULT_EL=/usr/share/emacs/20.7/site-lisp/default.el
35 # numerous TCL/TK variables culled from the tkConfig.sh and tclConfig.sh
36 # if these are found.
37 TK_CONFIG_PREFIX=/usr/local/lib
38 TK_LIBRARY=/usr/local/lib/tk8.3
39 TCL_LIBRARY=/usr/local/lib/tcl8.3
40 TK_XINCLUDES=-I/usr/X11R6/include
41 TK_INCLUDE=-I/usr/local/lib/../include
42 TCL_INCLUDE=-I/usr/local/lib/../include
43 TK_LIB_SPEC=-L/usr/local/lib -ltk8.3
44 TK_BUILD_LIB_SPEC=-L/home/wfs/src/tk8.3.2/unix -ltk8.3
45 TK_XLIBSW=-L/usr/X11R6/lib -lX11
46 TK_XINCLUDES=-I/usr/X11R6/include
47 TCL_LIB_SPEC=-L/usr/local/lib -ltcl8.3${TCL_DBGX}
48 TCL_DL_LIBS=-ldl
49 TCL_LIBS=-ldl -lm
51 NOTIFY=yes
52 GCC=gcc
58 GCLDIR=/home/wfs/cvs/gcl
59 SHELL=/bin/sh
60 MACHINE=386-linux
62 # notes for redhat 6.0
63 # the configure should select the compiler GCC=/usr/bin/i386-glibc20-linux-gcc
64 # However for the gcl-tk directory, you must use plain 'gcc' since
65 # that must link with the tcl tk libs which have been compiled with it.
66 # so after configure change to GCC=gcc in the gcl-tk/makefile
69 # Machine dependent makefile definitions for intel 386,486 running linux
71 LBINDIR=/usr/local/bin
73 OFLAG = -O
74 LIBS = -lm
76 ODIR_DEBUG= -O4
78 # This CC string will be used for compilation of the system,
79 # and also in the compiler::*cc* variable for later compilation of
80 # lisp files.
81 # (the -pipe is just since our file system is slow..)
82 CC = ${GCC} -pipe -fwritable-strings -DVOL=volatile -I$(GCLDIR)/o -fsigned-char
84 # under redhat 6.1 and slackware 7.0 we needed to have this
85 # link be static, but should be ok with the fix to unixport/rsym_elf.c
86 LDCC=${CC} -static
87 LDCC=${CC}
89 # note for linuxaout on an elf machine add -b i486-linuxaout
90 # CC = gcc -pipe -fwritable-strings -DVOL=volatile -I$(GCLDIR)/o -fsigned-char -b i486-linuxaout
92 # Enable the fastloading mechanism which does not use ld -A
93 # requires c/rel_.. machine dependent code.
95 RSYM = rsym
96 SFASL = $(ODIR)/sfasl.o
99 #MPFILES= $(MPDIR)/mpi-386d.o $(MPDIR)/libmport.a
102 # When using SFASL it is good to have (si::build-symbol-table)
103 INITFORM=(si::build-symbol-table)
105 # Use symbolic links
106 SYMB=-s
108 LIBFILES=bsearch.o
110 # the make to use for saved_kcp the profiler.
111 KCP=kcp-bsd
112 MPFILES=${GMP_DIR}libgmp.a
115 # end makedefs
116 GCLDIR=/home/wfs/cvs/gcl
117 MAXDIR=/home/wfs/cvs/maxima
118 PREFIX_DIR=/usr/local
119 EMACS_SITE_LISP=/usr/local/lib/emacs/site-lisp
120 INFO_DIR=/usr/local/info
121 MAN_DIR=/usr/local/man/man1
122 # end maxmakedefs
125 SRC=./src
127 all:
128 (cd $(SRC) ; make )
131 clean:
132 (cd src ; make clean)
133 (cd info ; make clean)
135 test:
136 make test1 "MAXIMA=`pwd`/src/saved_maxima `pwd`/src/"
138 test-clisp:
139 (cd ../doc ; ${CLISP} -M ../src/maxima-clisp.mem tests.lisp)
141 test1:
142 date
143 (cd doc ; ${MAXIMA} -dir `pwd`/../src/ -load "tests.lisp" < /dev/null )
144 date
146 #just for checking sgc is ok... not really a check on maxima.
147 testsgc:
148 date
149 (cd doc ; ${MAXIMA} -dir `pwd`/../src/ -eval '(progn (si::sgc-on t) (setq si::*notify-gbc* t))' -load "tests.lisp" < /dev/null )
150 date
152 time:
153 @echo "***** FACTOR TEST *****"
154 @date
155 @echo Running on `hostname`
156 cat doc/time.test | ${MAXIMA}
158 install:
159 make install1 PREFIX_DIR=${PREFIX_DIR} INSTALL_LIB_DIR=${PREFIX_DIR}/lib/maxima-`cat majvers`.`cat minvers`
161 PLOTTING_BIN=bin/omplotdata bin/mgnuplot
163 install1: command
164 if [ -f ${INSTALL_LIB_DIR}/makefile ] ; then true; else \
165 tar cvf - doc/manual.demo src/plot.o doc/*.mac doc/tests.lisp src/server.lisp intro.html doc/*.html info/*.html */*.mac sym bin/xmaxima maxima.gif info/*.texi info/*.info* info/makefile ${PLOTTING_BIN} \
166 share/*.lisp */*.mc */*.dem */*.usg src/saved_maxima${EXE} | (cd ${INSTALL_LIB_DIR}/ ; tar xvf - ) ;fi
167 (cd src ; make install "INSTALL_LIB_DIR=${INSTALL_LIB_DIR}")
168 (cd info ; make install)
169 (cd elisp ; make install)
170 cp ./doc/maxima.1 ${MAN_DIR}
171 chmod a+r ${MAN_DIR}/maxima.1
173 command:
174 for v in ${PREFIX_DIR} ${PREFIX_DIR}/lib ${PREFIX_DIR}/bin ${INSTALL_LIB_DIR}/ ; do if test -d $$v ; then true ; else mkdir $$v ; fi ; done
175 echo '#!/bin/sh' > ${PREFIX_DIR}/bin/maxima
176 echo export MAXIMA_DIRECTORY >> ${PREFIX_DIR}/bin/maxima
177 echo MAXIMA_DIRECTORY=${INSTALL_LIB_DIR} >> ${PREFIX_DIR}/bin/maxima
178 echo exec ${INSTALL_LIB_DIR}/src/saved_maxima -dir ${INSTALL_LIB_DIR}/src/ '$$@' \
179 >> ${PREFIX_DIR}/bin/maxima
180 chmod a+x ${PREFIX_DIR}/bin/maxima
181 echo '#!/bin/sh' > ${PREFIX_DIR}/bin/xmaxima
182 echo export MAXIMA_DIRECTORY >> ${PREFIX_DIR}/bin/xmaxima
183 echo MAXIMA_DIRECTORY=${INSTALL_LIB_DIR} >> ${PREFIX_DIR}/bin/xmaxima
184 echo exec ${INSTALL_LIB_DIR}/bin/xmaxima '$$@' >> ${PREFIX_DIR}/bin/xmaxima
185 chmod a+x ${PREFIX_DIR}/bin/xmaxima
188 tar-bin:
189 make tar-bin1 PREFIX_DIR=${PREFIX_DIR} INSTALL_LIB_DIR=${PREFIX_DIR}/lib/maxima-`cat ${MAXDIR}/majvers`.`cat ${MAXDIR}/minvers`
190 tar-bin1:
191 (cd / ; tar cvf - ${PREFIX_DIR}/bin/maxima ${INSTALL_LIB_DIR} | gzip -c > /tmp/maxima-`cat ${GCLDIR}/machine`-`cat ${MAXDIR}/majvers`.`cat ${MAXDIR}/minvers`-bin.tgz)
193 BETA=-beta
194 tar:
195 bin/distribute maxima-`cat majvers`.`cat minvers`$(BETA).tgz
198 maxima.zip: src/saved_maxima${EXE}
199 rm -f maxima.zip
200 OTHERS=`make -s -f src/makefile othernames` ; \
201 zip maxima.zip $${OTHERS} src/server.lisp doc/manual.demo share*/*.mc share*/*.lisp sym/*.lsp */*.dem doc/*.mac src/xmaxima.exe info/*.html src/saved_maxima.exe .exe info/*info* doc/*.html src/*.ico src/winkill.exe src/tclwinkill.dll maxima.gif doc/tests.lisp
204 DL=./deliver/
206 ${DL}zipinfo.tcl ${DL}setup_contents.txt: maxima.zip gcc.zip ${DL}pkginfo.tcl
207 tclsh ${DL}getzipinfo.tcl
209 DELIVER_FILES=${DL}setup.tcl ${DL}unpack.tcl ${DL}install1.gif ${DL}fdlogo3.gif ${DL}pkginfo.tcl ${DL}zipinfo.tcl ./src/maxicon.gif ./COPYING ./readme.xmaxima
211 gcc.zip:
212 zip -r gcc.zip gcc
214 ${DL}setup{$EXE}: gcc.zip maxima.zip ${DL}setup_contents.txt ${DL}zipinfo.tcl ${DELIVER_FILES}
215 freewrap-cross ${DELIVER_FILES} -p ${DL}setup_contents.txt
216 setup: maxima.zip ${DL}setup_contents.txt ${DL}zipinfo.tcl ${DELIVER_FILES}
217 freewrap-cross ${DELIVER_FILES} -p ${DL}setup_contents.txt