spegling av https://gitlab.com/rnger/amath
1284 rader
29 KiB
Bash
Executable File
1284 rader
29 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright {c} 2014-2017 Carsten Sonne Larsen <cs@innolan.net>
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions
|
|
# are met:
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
# ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
# DAMAGES {INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION}
|
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
# LIABILITY, OR TORT {INCLUDING NEGLIGENCE OR OTHERWISE} ARISING IN ANY WAY
|
|
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
# SUCH DAMAGE.
|
|
#
|
|
|
|
set -e
|
|
|
|
version="1.8.1"
|
|
|
|
clang=false
|
|
debugsym=false
|
|
regtest=true
|
|
openlibm=false
|
|
stdlibm=false
|
|
stdlibc=false
|
|
useldconfig=false
|
|
fpic=false
|
|
|
|
prefix="/usr"
|
|
pkgconfigdir="lib/pkgconfig"
|
|
mandir="share/man"
|
|
cflags=""
|
|
cxxflags=""
|
|
ldflags=""
|
|
gcclib="-lstdc++"
|
|
libm=""
|
|
libc=""
|
|
|
|
for arg in "$@"; do
|
|
unknown=true
|
|
case "$arg" in
|
|
--prefix=*)
|
|
prefix=`echo $arg | sed 's/--prefix=//'`
|
|
unknown=false
|
|
;;
|
|
|
|
--pkgconfig=*)
|
|
pkgconfigdir=`echo $arg | sed 's/--pkgconfig=//'`
|
|
unknown=false
|
|
;;
|
|
|
|
--mandir=*)
|
|
mandir=`echo $arg | sed 's/--mandir=//'`
|
|
unknown=false
|
|
;;
|
|
|
|
--cross-compile=*)
|
|
crosscompile=`echo $arg | sed 's/--cross-compile=//'`
|
|
crosscompile="${crosscompile}-"
|
|
unknown=false
|
|
;;
|
|
|
|
CFLAGS=*)
|
|
cflags=`echo $arg | sed 's/CFLAGS=//'`
|
|
cflags="${cflags} "
|
|
unknown=false
|
|
;;
|
|
|
|
CXXFLAGS=*)
|
|
cxxflags=`echo $arg | sed 's/CXXFLAGS=//'`
|
|
cxxflags="${cxxflags} "
|
|
unknown=false
|
|
;;
|
|
|
|
LDFLAGS=*)
|
|
ldflags=`echo $arg | sed 's/LDFLAGS=//'`
|
|
ldflags="${ldflags} "
|
|
unknown=false
|
|
;;
|
|
|
|
--enable-clang)
|
|
clang=true
|
|
unknown=false
|
|
;;
|
|
|
|
--disable-clang)
|
|
clang=false
|
|
unknown=false
|
|
;;
|
|
|
|
--enable-ldconfig)
|
|
useldconfig=true
|
|
unknown=false
|
|
;;
|
|
|
|
--disable-ldconfig)
|
|
useldconfig=false
|
|
unknown=false
|
|
;;
|
|
|
|
--enable-pic)
|
|
fpic=true
|
|
unknown=false
|
|
;;
|
|
|
|
--disable-pic)
|
|
fpic=false
|
|
unknown=false
|
|
;;
|
|
|
|
--enable-debug)
|
|
debugsym=true
|
|
unknown=false
|
|
;;
|
|
|
|
--disable-debug)
|
|
debugsym=false
|
|
unknown=false
|
|
;;
|
|
|
|
--enable-test)
|
|
regtest=true
|
|
unknown=false
|
|
;;
|
|
|
|
--disable-test)
|
|
regtest=false
|
|
unknown=false
|
|
;;
|
|
|
|
--with-libm)
|
|
stdlibm=true
|
|
unknown=false
|
|
;;
|
|
|
|
--without-libm)
|
|
stdlibm=false
|
|
unknown=false
|
|
;;
|
|
|
|
--with-openlibm)
|
|
openlibm=true
|
|
unknown=false
|
|
;;
|
|
|
|
--without-openlibm)
|
|
openlibm=false
|
|
unknown=false
|
|
;;
|
|
|
|
--with-stdc++)
|
|
gcclib="-lstdc++"
|
|
unknown=false
|
|
;;
|
|
|
|
--without-stdc++)
|
|
gcclib=""
|
|
unknown=false
|
|
;;
|
|
|
|
--with-libc)
|
|
stdlibc=true
|
|
unknown=false
|
|
;;
|
|
|
|
--without-libc)
|
|
stdlibc=false
|
|
unknown=false
|
|
;;
|
|
|
|
--help)
|
|
echo "amath configure script ${version}"
|
|
echo
|
|
echo 'usage: ./configure [options]'
|
|
echo 'options:'
|
|
echo ' --prefix=<path>: installation prefix'
|
|
echo ' --pkgconfig=<path>: pkg-config path (without prefix)'
|
|
echo ' --mandir=<path>: manpage path (without prefix)'
|
|
echo ' --cross-compile=<prefix>: cross compiler prefix'
|
|
echo ' --enable-debug: include debug symbols'
|
|
echo ' --disable-debug: do not include debug symbols'
|
|
echo ' --enable-test: build code with regression tests'
|
|
echo ' --disable-test: do not include regression test'
|
|
echo ' --enable-clang: build with clang compiler'
|
|
echo ' --disable-clang: do not build with clang compiler'
|
|
echo ' --enable-ldconfig: use ldconfig to registre libraries'
|
|
echo ' --disable-ldconfig: do not use ldconfig to registre libraries'
|
|
echo ' --enable-pic: build with Position Independent Code (-fPIC)'
|
|
echo ' --disable-pic: do not build static libraries with Position Independent Code'
|
|
echo ' --with-libm: link with libm library (-lm)'
|
|
echo ' --without-libm: do not link with libm library'
|
|
echo ' --with-openlibm: link with openlibm library (-lopenlibm)'
|
|
echo ' --without-openlibm: do not link with openlibm library'
|
|
echo ' --with-stdc++: link with stdc++ library (-lstdc++)'
|
|
echo ' --without-stdc++: do not link with stdc++ library'
|
|
echo ' --with-libc: explicit link with libc library (-lc)'
|
|
echo ' --without-libc: do not link with libc library'
|
|
echo
|
|
echo ' CFLAGS=<flags>: additional compiler flags'
|
|
echo ' CXXFLAGS=<flags>: additional compiler flags'
|
|
echo ' LDFLAGS=<flags>: additional linker flags'
|
|
echo
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
if $unknown; then
|
|
echo "Invalid option $arg"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
if $clang; then
|
|
ccompiler="clang"
|
|
cxxcompiler="clang++"
|
|
else
|
|
ccompiler="gcc"
|
|
cxxcompiler="g++"
|
|
fi
|
|
|
|
if $regtest; then
|
|
options=" -DWITHTEST"
|
|
else
|
|
options=" "
|
|
fi
|
|
|
|
if $debugsym; then
|
|
appop="-O0 -g"
|
|
libop="-O0 -g"
|
|
exestrip=""
|
|
debugflag="-DDEBUG "
|
|
else
|
|
appop="-O2"
|
|
libop="-O3"
|
|
exestrip="-s"
|
|
debugflag=""
|
|
fi
|
|
|
|
dlibm=false
|
|
mflags=""
|
|
if $stdlibm; then
|
|
libm="-lm "
|
|
mflags="-DLIBM "
|
|
dlibm=true
|
|
fi
|
|
|
|
if $openlibm; then
|
|
libm="-lopenlibm "
|
|
mflags="-DLIBM "
|
|
dlibm=true
|
|
fi
|
|
|
|
if $useldconfig; then
|
|
soverion=".${version}"
|
|
else
|
|
soverion=""
|
|
fi
|
|
|
|
if $stdlibc; then
|
|
gcclib="${gcclib} -lc"
|
|
libc="-lc"
|
|
fi
|
|
|
|
if $fpic; then
|
|
fPIC=" -fPIC"
|
|
else
|
|
fPIC=""
|
|
fi
|
|
|
|
cflags="${cflags}${debugflag}${mflags}"
|
|
cxxflags="${cflags} ${cxxflags}"
|
|
|
|
APPSRCS='
|
|
evaluator.cpp
|
|
functionlist.cpp
|
|
fgrid.cpp
|
|
lexer.cpp
|
|
nodes.cpp
|
|
operators.cpp
|
|
optimizer.cpp
|
|
parser.cpp
|
|
token.cpp
|
|
userfunction.cpp
|
|
values.cpp
|
|
viewer.cpp
|
|
'
|
|
SYSSRCS='
|
|
console.cpp
|
|
console_amiga.cpp
|
|
console_stdc.cpp
|
|
console_termios.cpp
|
|
console_windows.cpp
|
|
filesystem_amiga.cpp
|
|
filesystem_stdc.cpp
|
|
language.cpp
|
|
language_amiga.cpp
|
|
language_stdc.cpp
|
|
preferences.cpp
|
|
preferences_amiga.cpp
|
|
preferences_stdc.cpp
|
|
program.cpp
|
|
program_amiga.cpp
|
|
program_haiku.cpp
|
|
program_stdc.cpp
|
|
program_test.cpp
|
|
window_amiga.cpp
|
|
window_haiku.cpp
|
|
'
|
|
FUNCTIONSRC='
|
|
absolute.cpp
|
|
aexcosecant.cpp
|
|
aexsecant.cpp
|
|
arcchord.cpp
|
|
arccos.cpp
|
|
arcsin.cpp
|
|
arctan.cpp
|
|
arccosecant.cpp
|
|
arccotangent.cpp
|
|
arcsecant.cpp
|
|
arccovercosine.cpp
|
|
arccoversine.cpp
|
|
archacovercosine.cpp
|
|
archacoversine.cpp
|
|
archavercosine.cpp
|
|
archaversine.cpp
|
|
arcvercosine.cpp
|
|
arcversine.cpp
|
|
ceil.cpp
|
|
chord.cpp
|
|
cosecant.cpp
|
|
cosine.cpp
|
|
cotangent.cpp
|
|
covercos.cpp
|
|
coversin.cpp
|
|
cube.cpp
|
|
excosecant.cpp
|
|
exsecant.cpp
|
|
floor.cpp
|
|
hacovercos.cpp
|
|
hacoversin.cpp
|
|
havercos.cpp
|
|
haversin.cpp
|
|
hyparccosecant.cpp
|
|
hyparccosine.cpp
|
|
hyparccotangent.cpp
|
|
hyparcsecant.cpp
|
|
hyparcsine.cpp
|
|
hyparctangent.cpp
|
|
hypcosecant.cpp
|
|
hypcosine.cpp
|
|
hypcotangent.cpp
|
|
hypsecant.cpp
|
|
hypsine.cpp
|
|
hyptangent.cpp
|
|
ln.cpp
|
|
log10.cpp
|
|
log2.cpp
|
|
node.cpp
|
|
round.cpp
|
|
secant.cpp
|
|
signum.cpp
|
|
sine.cpp
|
|
square.cpp
|
|
tangent.cpp
|
|
trunc.cpp
|
|
user.cpp
|
|
vercos.cpp
|
|
versin.cpp
|
|
'
|
|
STATEMENTSRCS='
|
|
about.cpp
|
|
clear.cpp
|
|
delete.cpp
|
|
digits.cpp
|
|
draw.cpp
|
|
empty.cpp
|
|
eval.cpp
|
|
execute.cpp
|
|
exit.cpp
|
|
funcdef.cpp
|
|
funclist.cpp
|
|
help.cpp
|
|
input.cpp
|
|
license.cpp
|
|
list.cpp
|
|
load.cpp
|
|
memory.cpp
|
|
node.cpp
|
|
output.cpp
|
|
plot.cpp
|
|
prefs.cpp
|
|
prompt.cpp
|
|
save.cpp
|
|
show.cpp
|
|
silent.cpp
|
|
version.cpp
|
|
'
|
|
LIBAPPSRCS='
|
|
aengine.cpp
|
|
bigint.cpp
|
|
charbuf.cpp
|
|
cplex.cpp
|
|
nnumb.cpp
|
|
ntext.cpp
|
|
ntextd.cpp
|
|
ntextp.cpp
|
|
real.cpp
|
|
'
|
|
LIBREALSRCS='
|
|
acos.c
|
|
acosh.c
|
|
asin.c
|
|
asinh.c
|
|
atan.c
|
|
atan2.c
|
|
atanh.c
|
|
cbrt.c
|
|
ceil.c
|
|
csign.c
|
|
cos.c
|
|
cosh.c
|
|
exp.c
|
|
expm1.c
|
|
fabs.c
|
|
floor.c
|
|
fmod.c
|
|
hypot.c
|
|
kcos.c
|
|
kremp2.c
|
|
ksin.c
|
|
ktan.c
|
|
log.c
|
|
log10.c
|
|
log1p.c
|
|
pow.c
|
|
remp2.c
|
|
round.c
|
|
scalbn.c
|
|
sin.c
|
|
sinh.c
|
|
sqrt.c
|
|
tan.c
|
|
tanh.c
|
|
trunc.c
|
|
'
|
|
LIBREAL2SRCS='
|
|
acot.c
|
|
acoth.c
|
|
acrd.c
|
|
acsc.c
|
|
acsch.c
|
|
acvc.c
|
|
acvs.c
|
|
aexc.c
|
|
aexs.c
|
|
ahcc.c
|
|
ahcv.c
|
|
ahv.c
|
|
ahvc.c
|
|
asec.c
|
|
asech.c
|
|
avcs.c
|
|
aver.c
|
|
cot.c
|
|
coth.c
|
|
crd.c
|
|
csc.c
|
|
csch.c
|
|
cvc.c
|
|
cvs.c
|
|
exc.c
|
|
exs.c
|
|
hcc.c
|
|
hcv.c
|
|
hv.c
|
|
hvc.c
|
|
log2i.c
|
|
log2p.c
|
|
sec.c
|
|
sech.c
|
|
vcs.c
|
|
ver.c
|
|
'
|
|
LIBCPLEXSRCS='
|
|
cacos.c
|
|
cacosh.c
|
|
casin.c
|
|
casinh.c
|
|
catan.c
|
|
catanh.c
|
|
ccos.c
|
|
ccosh.c
|
|
cexp.c
|
|
clog.c
|
|
cpow.c
|
|
csin.c
|
|
csinh.c
|
|
csqrt.c
|
|
ctan.c
|
|
ctanh.c
|
|
'
|
|
LIBCPLEX2SRCS='
|
|
cacot.c
|
|
cacoth.c
|
|
cacsc.c
|
|
cacsch.c
|
|
casec.c
|
|
casech.c
|
|
ccbrt.c
|
|
ccot.c
|
|
ccoth.c
|
|
ccsc.c
|
|
ccsch.c
|
|
clogb.c
|
|
clog10.c
|
|
csec.c
|
|
csech.c
|
|
csgn.c
|
|
prim.c
|
|
'
|
|
LIBC1SRCS='
|
|
alloccpy.c
|
|
mem.c
|
|
memcpy.c
|
|
memset.c
|
|
strcmp.c
|
|
strlen.c
|
|
untag.c
|
|
'
|
|
FLXSRCS='
|
|
asprintf.c
|
|
createcat.c
|
|
createcatsrc.c
|
|
createct.c
|
|
globals.c
|
|
locale_other.c
|
|
main.c
|
|
openlibs.c
|
|
readprefs.c
|
|
scancd.c
|
|
scanct.c
|
|
scanpo.c
|
|
showfuncs.c
|
|
strptime.c
|
|
swapfuncs.c
|
|
utils.c
|
|
vastubs.c
|
|
'
|
|
|
|
if $dlibm; then
|
|
LIBREALSRCS="${LIBREAL2SRCS}"
|
|
else
|
|
LIBREALSRCS="${LIBREALSRCS}${LIBREAL2SRCS}"
|
|
fi
|
|
|
|
if $dlibm; then
|
|
LIBCPLEXSRCS="${LIBCPLEX2SRCS}"
|
|
else
|
|
LIBCPLEXSRCS="${LIBCPLEXSRCS}${LIBCPLEX2SRCS}"
|
|
fi
|
|
|
|
amathc="amathc"
|
|
amath="amath"
|
|
amathcplex="amathcplex"
|
|
amathapp="amathapp"
|
|
|
|
appmain="appmain"
|
|
appfunction="functions"
|
|
appstatement="statement"
|
|
appsystem="appsystem"
|
|
program="src/main"
|
|
|
|
ldsysflags="-l${appsystem} -l${appfunction} -l${appstatement} -l${appmain} -l${appfunction} -l${appstatement} -l${appmain} "
|
|
ldlibflags="-l${amathapp} ${libm}-l${amathcplex} ${libm}-l${amath} -l${amathc} ${gcclib}"
|
|
|
|
############################ Main Application ###########################
|
|
{
|
|
echo "CXX = ${crosscompile}${cxxcompiler}"
|
|
echo "CXXFLAGS = ${appop}${options} ${cxxflags}${fPIC} -I. -I.. -Wall"
|
|
echo "AR = ${crosscompile}ar"
|
|
echo "RANLIB = ${crosscompile}ranlib"
|
|
echo "DEL = rm -f"
|
|
echo
|
|
echo "all: lib"
|
|
echo "static: lib"
|
|
echo
|
|
|
|
files=""
|
|
for f in ${APPSRCS}
|
|
do
|
|
b=`basename $f .cpp`
|
|
echo "${b}.o: ${f}"
|
|
echo " \${CXX} \${CXXFLAGS} -c ${f}"
|
|
echo
|
|
files="${files} ${b}.o"
|
|
done
|
|
|
|
echo "lib: ${files}"
|
|
echo " \${AR} rcs lib${appmain}.a ${files}"
|
|
echo " \${RANLIB} lib${appmain}.a"
|
|
echo
|
|
echo "clean:"
|
|
echo " \${DEL} lib${appmain}.a ${files}"
|
|
echo
|
|
} > src/main/Makefile
|
|
#########################################################################
|
|
|
|
########################### Functions Library ###########################
|
|
{
|
|
echo "CXX = ${crosscompile}${cxxcompiler}"
|
|
echo "CXXFLAGS = ${appop}${options} ${cxxflags}${fPIC} -I. -I../.. -Wall"
|
|
echo "AR = ${crosscompile}ar"
|
|
echo "RANLIB = ${crosscompile}ranlib"
|
|
echo "DEL = rm -f"
|
|
echo
|
|
echo "all: lib"
|
|
echo "static: lib"
|
|
echo
|
|
|
|
files=""
|
|
for f in ${FUNCTIONSRC}
|
|
do
|
|
b=`basename $f .cpp`
|
|
echo "${b}.o: ${f}"
|
|
echo " \${CXX} \${CXXFLAGS} -c ${f}"
|
|
echo
|
|
files="${files} ${b}.o"
|
|
done
|
|
|
|
echo "lib: ${files}"
|
|
echo " \${AR} rcs lib${appfunction}.a ${files}"
|
|
echo " \${RANLIB} lib${appfunction}.a"
|
|
echo
|
|
echo "clean:"
|
|
echo " \${DEL} lib${appfunction}.a ${files}"
|
|
echo
|
|
} > src/main/function/Makefile
|
|
#########################################################################
|
|
|
|
########################### Statement Library ###########################
|
|
{
|
|
echo "CXX = ${crosscompile}${cxxcompiler}"
|
|
echo "CXXFLAGS = ${appop}${options} ${cxxflags}${fPIC} -I. -I../.. -Wall"
|
|
echo "AR = ${crosscompile}ar"
|
|
echo "RANLIB = ${crosscompile}ranlib"
|
|
echo "DEL = rm -f"
|
|
echo
|
|
echo "all: lib"
|
|
echo "static: lib"
|
|
echo
|
|
|
|
files=""
|
|
for f in ${STATEMENTSRCS}
|
|
do
|
|
b=`basename $f .cpp`
|
|
echo "${b}.o: ${f}"
|
|
echo " \${CXX} \${CXXFLAGS} -c ${f}"
|
|
echo
|
|
files="${files} ${b}.o"
|
|
done
|
|
|
|
echo "lib: ${files}"
|
|
echo " \${AR} rcs lib${appstatement}.a ${files}"
|
|
echo " \${RANLIB} lib${appstatement}.a"
|
|
echo
|
|
echo "clean:"
|
|
echo " \${DEL} lib${appstatement}.a ${files}"
|
|
echo
|
|
} > src/main/statement/Makefile
|
|
#########################################################################
|
|
|
|
############################ System Library #############################
|
|
{
|
|
echo "CXX = ${crosscompile}${cxxcompiler}"
|
|
echo "CXXFLAGS = ${appop}${options} ${cxxflags}${fPIC} -I. -I.. -Wall"
|
|
echo "AR = ${crosscompile}ar"
|
|
echo "RANLIB = ${crosscompile}ranlib"
|
|
echo "DEL = rm -f"
|
|
echo
|
|
echo "all: lib"
|
|
echo "static: lib"
|
|
echo
|
|
|
|
files=""
|
|
for f in ${SYSSRCS}
|
|
do
|
|
b=`basename $f .cpp`
|
|
echo "${b}.o: ${f}"
|
|
echo " \${CXX} \${CXXFLAGS} -c ${f}"
|
|
echo
|
|
files="${files} ${b}.o"
|
|
done
|
|
|
|
echo "lib: ${files}"
|
|
echo " \${AR} rcs lib${appsystem}.a ${files}"
|
|
echo " \${RANLIB} lib${appsystem}.a"
|
|
echo
|
|
echo "clean:"
|
|
echo " \${DEL} lib${appsystem}.a ${files}"
|
|
echo
|
|
} > src/system/Makefile
|
|
#########################################################################
|
|
|
|
########################## Application Library ##########################
|
|
{
|
|
echo "CXX = ${crosscompile}${cxxcompiler}"
|
|
echo "CXXFLAGS = ${libop}${options} ${cxxflags}-I. -I.. -Wall"
|
|
echo "AR = ${crosscompile}ar"
|
|
echo "RANLIB = ${crosscompile}ranlib"
|
|
echo "MKDIR = mkdir -p"
|
|
echo "RMDIR = rm -Rf"
|
|
echo "DEL = rm -f"
|
|
echo "INSTALL = install -m 0644"
|
|
echo "LDCONFIG = ldconfig"
|
|
echo "DOXYGEN = doxygen"
|
|
echo "PREFIX = ${prefix}"
|
|
echo "INSTDIR = \${DESTDIR}\${PREFIX}/lib/amath"
|
|
echo "INSTDIRI = \${DESTDIR}\${PREFIX}/include/amath"
|
|
echo "INSTDIRPC = \${DESTDIR}\${PREFIX}/${pkgconfigdir}"
|
|
echo "alib = lib${amathapp}.a"
|
|
echo "solib = lib${amathapp}.so"
|
|
echo "pkgconfig = amatha.pc"
|
|
echo
|
|
echo "all: static shared"
|
|
echo
|
|
echo "static: \${alib}"
|
|
echo
|
|
echo "shared: \${solib}"
|
|
echo
|
|
|
|
files=""
|
|
files2=""
|
|
for f in ${LIBAPPSRCS}
|
|
do
|
|
b=`basename $f .cpp`
|
|
echo "static/${b}.o: ${f}"
|
|
echo " \${CXX} \${CXXFLAGS}${fPIC} -c ${f} -o static/${b}.o"
|
|
echo
|
|
echo "shared/${b}.o: ${f}"
|
|
echo " \${CXX} \${CXXFLAGS} -fPIC -c ${f} -o shared/${b}.o"
|
|
echo
|
|
files="${files} static/${b}.o"
|
|
files2="${files2} shared/${b}.o"
|
|
done
|
|
|
|
echo ".PHONY: build"
|
|
echo "build:"
|
|
echo " \${MKDIR} static"
|
|
echo " \${MKDIR} shared"
|
|
echo
|
|
echo "\${solib}: build ${files2}"
|
|
echo " \${CXX} \${CXXFLAGS} -shared ${exestrip} -fPIC -Wl,-soname,\${solib}${soverion} -o \${solib} ${files2}"
|
|
echo
|
|
echo "\${alib}: build ${files}"
|
|
echo " \${AR} rcs static/\${alib} ${files}"
|
|
echo " \${RANLIB} static/\${alib}"
|
|
echo
|
|
echo ".PHONY: doc"
|
|
echo "doc:"
|
|
echo " \${DOXYGEN} amatha.dox"
|
|
echo
|
|
echo ".PHONY: install"
|
|
echo "install: \${alib} \${solib}"
|
|
echo " \${MKDIR} \${INSTDIR}"
|
|
echo " \${MKDIR} \${INSTDIRPC}"
|
|
echo " \${MKDIR} \${INSTDIRI}"
|
|
echo " \${INSTALL} static/\${alib} \${INSTDIR}/\${alib}"
|
|
echo " \${INSTALL} \${solib} \${INSTDIR}/\${solib}"
|
|
echo " \${INSTALL} \${pkgconfig} \${INSTDIRPC}/\${pkgconfig}"
|
|
echo " \${INSTALL} aengine.h \${INSTDIRI}/aengine.h"
|
|
echo " \${INSTALL} bigint.h \${INSTDIRI}/bigint.h"
|
|
echo " \${INSTALL} charbuf.h \${INSTDIRI}/charbuf.h"
|
|
echo " \${INSTALL} cplex.h \${INSTDIRI}/cplex.h"
|
|
echo " \${INSTALL} nnumb.h \${INSTDIRI}/nnumb.h"
|
|
echo " \${INSTALL} ntext.h \${INSTDIRI}/ntext.h"
|
|
echo " \${INSTALL} ntext.h \${INSTDIRI}/ntextd.h"
|
|
echo " \${INSTALL} ntext.h \${INSTDIRI}/ntextp.h"
|
|
echo " \${INSTALL} numb.h \${INSTDIRI}/numb.h"
|
|
echo " \${INSTALL} real.h \${INSTDIRI}/real.h"
|
|
if ${useldconfig}; then
|
|
echo " \${LDCONFIG} \${INSTDIR}"
|
|
fi
|
|
echo
|
|
echo ".PHONY: uninstall"
|
|
echo "uninstall:"
|
|
echo " \${DEL} \${INSTDIR}/\${alib}"
|
|
echo " \${DEL} \${INSTDIR}/\${solib}"
|
|
echo " \${DEL} \${INSTDIRPC}/\${pkgconfig}"
|
|
echo " \${DEL} \${INSTDIRI}/aengine.h"
|
|
echo " \${DEL} \${INSTDIRI}/charbuf.h"
|
|
echo " \${DEL} \${INSTDIRI}/cplex.h"
|
|
echo " \${DEL} \${INSTDIRI}/integer.h"
|
|
echo " \${DEL} \${INSTDIRI}/nnumb.h"
|
|
echo " \${DEL} \${INSTDIRI}/ntext.h"
|
|
echo " \${DEL} \${INSTDIRI}/numb.h"
|
|
echo " \${DEL} \${INSTDIRI}/real.h"
|
|
if ${useldconfig}; then
|
|
echo " \${LDCONFIG}"
|
|
fi
|
|
echo
|
|
echo "clean:"
|
|
echo " \${DEL} static/\${alib} \${solib} ${files} ${files2}"
|
|
echo
|
|
echo "very-clean: clean"
|
|
echo " \${DEL} doxygen.warn"
|
|
echo " \${RMDIR} man"
|
|
echo " \${RMDIR} static"
|
|
echo " \${RMDIR} shared"
|
|
echo
|
|
} > src/lib/Makefile
|
|
#########################################################################
|
|
|
|
############################### C Library ###############################
|
|
{
|
|
echo "CC = ${crosscompile}${ccompiler}"
|
|
echo "CFLAGS = -std=c9x ${libop}${options} ${cflags}-I. -I.. -Wall"
|
|
echo "AR = ${crosscompile}ar"
|
|
echo "RANLIB = ${crosscompile}ranlib"
|
|
echo "MKDIR = mkdir -p"
|
|
echo "RMDIR = rm -Rf"
|
|
echo "DEL = rm -f"
|
|
echo "INSTALL = install -m 0644"
|
|
echo "LDCONFIG = ldconfig"
|
|
echo "DOXYGEN = doxygen"
|
|
echo "PREFIX = ${prefix}"
|
|
echo "INSTDIR = \${DESTDIR}\${PREFIX}/lib/amath"
|
|
echo "INSTDIRI = \${DESTDIR}\${PREFIX}/include/amath"
|
|
echo "INSTDIRPC = \${DESTDIR}\${PREFIX}/${pkgconfigdir}"
|
|
echo "INSTDIRM = \${DESTDIR}\${PREFIX}/${mandir}/man3"
|
|
echo "alib = lib${amathc}.a"
|
|
echo "solib = lib${amathc}.so"
|
|
echo "pkgconfig = amathc.pc"
|
|
echo "manpage = amathc.3"
|
|
echo
|
|
echo "all: static shared"
|
|
echo
|
|
echo "static: \${alib}"
|
|
echo
|
|
echo "shared: \${solib}"
|
|
echo
|
|
|
|
libc=""
|
|
libcs=""
|
|
for f in ${LIBC1SRCS}
|
|
do
|
|
b=`basename $f .c`
|
|
echo "static/${b}.o: ${f}"
|
|
echo " \${CC} \${CFLAGS}${fPIC} -fno-builtin -c ${f} -o static/${b}.o"
|
|
echo
|
|
echo "shared/${b}.o: ${f}"
|
|
echo " \${CC} \${CFLAGS} -fPIC -fno-builtin -c ${f} -o shared/${b}.o"
|
|
echo
|
|
libc="${libc} static/${b}.o"
|
|
libcs="${libcs} shared/${b}.o"
|
|
done
|
|
|
|
echo ".PHONY: build"
|
|
echo "build:"
|
|
echo " \${MKDIR} static"
|
|
echo " \${MKDIR} shared"
|
|
echo
|
|
echo "\${solib}: build ${libcs}"
|
|
echo " \${CC} \${CFLAGS} -shared ${exestrip} -fPIC -Wl,-soname,\${solib}${soverion} -o \${solib} ${libcs} ${libc}"
|
|
echo
|
|
echo "\${alib}: build ${libc}"
|
|
echo " \${AR} rcs static/\${alib} ${libc}"
|
|
echo " \${RANLIB} static/\${alib}"
|
|
echo
|
|
echo ".PHONY: doc"
|
|
echo "doc:"
|
|
echo " \${DOXYGEN} amathc.dox"
|
|
echo
|
|
echo ".PHONY: install"
|
|
echo "install: \${alib} \${solib}"
|
|
echo " \${MKDIR} \${INSTDIR}"
|
|
echo " \${MKDIR} \${INSTDIRPC}"
|
|
echo " \${MKDIR} \${INSTDIRI}"
|
|
echo " \${INSTALL} static/\${alib} \${INSTDIR}/\${alib}"
|
|
echo " \${INSTALL} \${solib} \${INSTDIR}/\${solib}"
|
|
echo " \${INSTALL} \${pkgconfig} \${INSTDIRPC}/\${pkgconfig}"
|
|
echo " \${INSTALL} \${manpage} \${INSTDIRM}/\${manpage}"
|
|
echo " \${INSTALL} ../amath.h \${INSTDIRI}"
|
|
echo " \${INSTALL} ../amathc.h \${INSTDIRI}"
|
|
if ${useldconfig}; then
|
|
echo " \${LDCONFIG} \${INSTDIR}"
|
|
fi
|
|
echo
|
|
echo ".PHONY: uninstall"
|
|
echo "uninstall:"
|
|
echo " \${DEL} \${INSTDIR}/\${alib}"
|
|
echo " \${DEL} \${INSTDIR}/\${solib}"
|
|
echo " \${DEL} \${INSTDIRPC}/\${pkgconfig}"
|
|
echo " \${DEL} \${INSTDIRM}/\${manpage}"
|
|
echo " \${DEL} \${INSTDIRI}/amath.h"
|
|
echo " \${DEL} \${INSTDIRI}/amathc.h"
|
|
if ${useldconfig}; then
|
|
echo " \${LDCONFIG}"
|
|
fi
|
|
echo
|
|
echo "clean:"
|
|
echo " \${DEL} static/\${alib} \${solib} ${libc} ${libcs}"
|
|
echo
|
|
echo "very-clean: clean"
|
|
echo " \${DEL} doxygen.warn"
|
|
echo " \${RMDIR} man"
|
|
echo " \${RMDIR} static"
|
|
echo " \${RMDIR} shared"
|
|
echo
|
|
} > src/clib/Makefile
|
|
#########################################################################
|
|
|
|
############################# Real Numbers ##############################
|
|
{
|
|
echo "CC = ${crosscompile}${ccompiler}"
|
|
echo "CFLAGS = -std=c9x ${libop}${options} ${cflags}-I. -I.. -Wall"
|
|
echo "AR = ${crosscompile}ar"
|
|
echo "RANLIB = ${crosscompile}ranlib"
|
|
echo "MKDIR = mkdir -p"
|
|
echo "RMDIR = rm -Rf"
|
|
echo "DEL = rm -f"
|
|
echo "INSTALL = install -m 0644"
|
|
echo "LDCONFIG = ldconfig"
|
|
echo "DOXYGEN = doxygen"
|
|
echo "PREFIX = ${prefix}"
|
|
echo "INSTDIR = \${DESTDIR}\${PREFIX}/lib/amath"
|
|
echo "INSTDIRI = \${DESTDIR}\${PREFIX}/include/amath"
|
|
echo "INSTDIRPC = \${DESTDIR}\${PREFIX}/${pkgconfigdir}"
|
|
echo "INSTDIRM = \${DESTDIR}\${PREFIX}/${mandir}/man3"
|
|
echo "alib = lib${amath}.a"
|
|
echo "solib = lib${amath}.so"
|
|
echo "pkgconfig = amathr.pc"
|
|
echo "manpage = amathr.3"
|
|
echo
|
|
echo "all: static shared"
|
|
echo
|
|
echo "static: \${alib}"
|
|
echo
|
|
echo "shared: \${solib}"
|
|
echo
|
|
|
|
libamath=""
|
|
libamaths=""
|
|
for f in ${LIBREALSRCS}
|
|
do
|
|
b=`basename $f .c`
|
|
echo "static/${b}.o: ${f}"
|
|
echo " \${CC} \${CFLAGS}${fPIC} -fno-builtin -c ${f} -o static/${b}.o"
|
|
echo
|
|
echo "shared/${b}.o: ${f}"
|
|
echo " \${CC} \${CFLAGS} -fPIC -fno-builtin -c ${f} -o shared/${b}.o"
|
|
echo
|
|
libamath="${libamath} static/${b}.o"
|
|
libamaths="${libamaths} shared/${b}.o"
|
|
done
|
|
|
|
echo ".PHONY: build"
|
|
echo "build:"
|
|
echo " \${MKDIR} static"
|
|
echo " \${MKDIR} shared"
|
|
echo
|
|
echo "\${solib}: build ${libamaths}"
|
|
echo " \${CC} \${CFLAGS} -shared ${exestrip} -fPIC -Wl,-soname,\${solib}${soverion} -o \${solib} ${libamaths}"
|
|
echo
|
|
echo "\${alib}: build ${libamath}"
|
|
echo " \${AR} rcs static/\${alib} ${libamath}"
|
|
echo " \${RANLIB} static/\${alib}"
|
|
echo
|
|
echo ".PHONY: doc"
|
|
echo "doc:"
|
|
echo " \${DOXYGEN} amathr.dox"
|
|
echo
|
|
echo ".PHONY: install"
|
|
echo "install: \${alib} \${solib}"
|
|
echo " \${MKDIR} \${INSTDIR}"
|
|
echo " \${MKDIR} \${INSTDIRPC}"
|
|
echo " \${MKDIR} \${INSTDIRI}"
|
|
echo " \${INSTALL} static/\${alib} \${INSTDIR}/\${alib}"
|
|
echo " \${INSTALL} \${solib} \${INSTDIR}/\${solib}"
|
|
echo " \${INSTALL} \${pkgconfig} \${INSTDIRPC}/\${pkgconfig}"
|
|
echo " \${INSTALL} \${manpage} \${INSTDIRM}/\${manpage}"
|
|
echo " \${INSTALL} ../mathr.h \${INSTDIRI}/mathr.h"
|
|
if ${useldconfig}; then
|
|
echo " \${LDCONFIG} \${INSTDIR}"
|
|
fi
|
|
echo
|
|
echo ".PHONY: uninstall"
|
|
echo "uninstall:"
|
|
echo " \${DEL} \${INSTDIR}/\${alib}"
|
|
echo " \${DEL} \${INSTDIR}/\${solib}"
|
|
echo " \${DEL} \${INSTDIRPC}/\${pkgconfig}"
|
|
echo " \${DEL} \${INSTDIRM}/\${manpage}"
|
|
echo " \${DEL} \${INSTDIRI}/mathr.h"
|
|
if ${useldconfig}; then
|
|
echo " \${LDCONFIG}"
|
|
fi
|
|
echo
|
|
echo "clean:"
|
|
echo " \${DEL} static/\${alib} \${solib} ${libamath} ${libamaths}"
|
|
echo
|
|
echo "very-clean: clean"
|
|
echo " \${DEL} doxygen.warn"
|
|
echo " \${RMDIR} man"
|
|
echo " \${RMDIR} static"
|
|
echo " \${RMDIR} shared"
|
|
echo
|
|
} > src/real/Makefile
|
|
#########################################################################
|
|
|
|
############################ Complex Numbers ############################
|
|
{
|
|
echo "CC = ${crosscompile}${ccompiler}"
|
|
echo "CFLAGS = -std=c9x ${libop}${options} ${cxxflags}-I. -I.. -Wall"
|
|
echo "AR = ${crosscompile}ar"
|
|
echo "RANLIB = ${crosscompile}ranlib"
|
|
echo "MKDIR = mkdir -p"
|
|
echo "RMDIR = rm -Rf"
|
|
echo "DEL = rm -f"
|
|
echo "INSTALL = install -m 0644"
|
|
echo "LDCONFIG = ldconfig"
|
|
echo "DOXYGEN = doxygen"
|
|
echo "PREFIX = ${prefix}"
|
|
echo "INSTDIR = \${DESTDIR}\${PREFIX}/lib/amath"
|
|
echo "INSTDIRI = \${DESTDIR}\${PREFIX}/include/amath"
|
|
echo "INSTDIRPC = \${DESTDIR}\${PREFIX}/${pkgconfigdir}"
|
|
echo "INSTDIRM = \${DESTDIR}\${PREFIX}/${mandir}/man3"
|
|
echo "alib = lib${amathcplex}.a"
|
|
echo "solib = lib${amathcplex}.so"
|
|
echo "pkgconfig = amathi.pc"
|
|
echo "manpage = amathi.3"
|
|
echo
|
|
echo "all: static shared"
|
|
echo
|
|
echo "static: \${alib}"
|
|
echo
|
|
echo "shared: \${solib}"
|
|
echo
|
|
|
|
libcomplex=""
|
|
libcomplexs=""
|
|
for f in ${LIBCPLEXSRCS}
|
|
do
|
|
b=`basename $f .c`
|
|
echo "static/${b}.o: ${f}"
|
|
echo " \${CC} \${CFLAGS}${fPIC} -fno-builtin -c ${f} -o static/${b}.o"
|
|
echo
|
|
echo "shared/${b}.o: ${f}"
|
|
echo " \${CC} \${CFLAGS} -fPIC -fno-builtin -c ${f} -o shared/${b}.o"
|
|
echo
|
|
libcomplex="${libcomplex} static/${b}.o"
|
|
libcomplexs="${libcomplexs} shared/${b}.o"
|
|
done
|
|
|
|
echo ".PHONY: build"
|
|
echo "build:"
|
|
echo " \${MKDIR} static"
|
|
echo " \${MKDIR} shared"
|
|
echo
|
|
echo "\${solib}: build ${libcomplexs}"
|
|
echo " \${CC} \${CFLAGS} -shared ${exestrip} -fPIC -Wl,-soname,\${solib}${soverion} -o \${solib} ${libcomplexs}"
|
|
echo
|
|
echo "\${alib}: build ${libcomplex}"
|
|
echo " \${AR} rcs static/\${alib} ${libcomplex}"
|
|
echo " \${RANLIB} static/\${alib}"
|
|
echo
|
|
echo ".PHONY: doc"
|
|
echo "doc:"
|
|
echo " \${DOXYGEN} amathi.dox"
|
|
echo
|
|
echo ".PHONY: install"
|
|
echo "install: \${alib} \${solib}"
|
|
echo " \${MKDIR} \${INSTDIR}"
|
|
echo " \${MKDIR} \${INSTDIRPC}"
|
|
echo " \${MKDIR} \${INSTDIRI}"
|
|
echo " \${INSTALL} static/\${alib} \${INSTDIR}/\${alib}"
|
|
echo " \${INSTALL} \${solib} \${INSTDIR}/\${solib}"
|
|
echo " \${INSTALL} \${pkgconfig} \${INSTDIRPC}/\${pkgconfig}"
|
|
echo " \${INSTALL} \${manpage} \${INSTDIRM}/\${manpage}"
|
|
echo " \${INSTALL} ../mathi.h \${INSTDIRI}/mathi.h"
|
|
if ${useldconfig}; then
|
|
echo " \${LDCONFIG} \${INSTDIR}"
|
|
fi
|
|
echo
|
|
echo ".PHONY: uninstall"
|
|
echo "uninstall:"
|
|
echo " \${DEL} \${INSTDIR}/\${alib}"
|
|
echo " \${DEL} \${INSTDIR}/\${solib}"
|
|
echo " \${DEL} \${INSTDIRPC}/\${pkgconfig}"
|
|
echo " \${DEL} \${INSTDIRM}/\${manpage}"
|
|
echo " \${DEL} \${INSTDIRPC}/amathi.pc"
|
|
echo " \${DEL} \${INSTDIRI}/mathi.h"
|
|
if ${useldconfig}; then
|
|
echo " \${LDCONFIG}"
|
|
fi
|
|
echo
|
|
echo "clean:"
|
|
echo " \${DEL} static/\${alib} \${solib} ${libcomplex} ${libcomplexs}"
|
|
echo
|
|
echo "very-clean: clean"
|
|
echo " \${DEL} doxygen.warn"
|
|
echo " \${RMDIR} man"
|
|
echo " \${RMDIR} static"
|
|
echo " \${RMDIR} shared"
|
|
echo
|
|
} > src/cplex/Makefile
|
|
#########################################################################
|
|
|
|
################################# Main ##################################
|
|
{
|
|
echo
|
|
echo "CC = ${crosscompile}${ccompiler}"
|
|
echo "CXX = ${crosscompile}${cxxcompiler}"
|
|
echo "CFLAGS = ${appop}${options} ${cflags}-Wall -Isrc -Isrc/main"
|
|
echo "CXXFLAGS = ${appop}${options} ${cxxflags}-Wall -Isrc -Isrc/main"
|
|
echo "AR = ${crosscompile}ar"
|
|
echo "RANLIB = ${crosscompile}ranlib"
|
|
echo "LFLAGS = ${ldflags}${ldsysflags}${ldlibflags}"
|
|
echo "LPATH = -Lsrc/lib -Lsrc/clib -Lsrc/real -Lsrc/cplex -Lsrc/main/function -Lsrc/main/statement -Lsrc/main -Lsrc/system"
|
|
echo "LPATHS = -Lsrc/lib/static -Lsrc/clib/static -Lsrc/real/static -Lsrc/cplex/static -Lsrc/main/function -Lsrc/main/statement -Lsrc/main -Lsrc/system"
|
|
echo "FLXCAT = build/flexcat/flexcat"
|
|
echo "MKDIR = mkdir -p"
|
|
echo "DEL = rm -f"
|
|
echo "INSTALLP = install -m 0755"
|
|
echo "INSTALLM = install -m 0644"
|
|
echo "PREFIX = ${prefix}"
|
|
echo "INSTDIRP = \${DESTDIR}\${PREFIX}/bin"
|
|
echo "INSTDIRM = \${DESTDIR}\${PREFIX}/${mandir}/man1"
|
|
echo
|
|
echo "all: shared-libs static-libs static-app"
|
|
echo "amath: shared-libs static-libs shared-app"
|
|
echo "static: static-app"
|
|
echo "app: ${appmain} ${appfunction} ${appstatement} ${appsystem}"
|
|
echo "libs: ${amathapp} ${amath} ${amathc} ${amathcplex}"
|
|
echo
|
|
echo "${program}.o: ${program}.cpp"
|
|
echo " \${CXX} \${CXXFLAGS} -c ${program}.cpp -o ${program}.o"
|
|
echo
|
|
echo "${appmain}:"
|
|
echo " cd src/main && \${MAKE}"
|
|
echo
|
|
echo "${appsystem}:"
|
|
echo " cd src/system && \${MAKE}"
|
|
echo
|
|
echo "${appfunction}:"
|
|
echo " cd src/main/function && \${MAKE}"
|
|
echo
|
|
echo "${appstatement}:"
|
|
echo " cd src/main/statement && \${MAKE}"
|
|
echo
|
|
echo "${amathapp}:"
|
|
echo " cd src/lib && \${MAKE}"
|
|
echo
|
|
echo "${amath}:"
|
|
echo " cd src/real && \${MAKE}"
|
|
echo
|
|
echo "${amathc}:"
|
|
echo " cd src/clib && \${MAKE}"
|
|
echo
|
|
echo "${amathcplex}:"
|
|
echo " cd src/cplex && \${MAKE}"
|
|
echo
|
|
echo "locale:"
|
|
echo " cd build/flexcat && \${MAKE}"
|
|
echo " \${FLXCAT} text/keyword.cd src/loc/kword.h=text/keyword.sd"
|
|
echo " \${FLXCAT} text/help.cd src/loc/help.h=text/help.sd"
|
|
echo " \${FLXCAT} text/ident.cd src/loc/ident.h=text/ident.sd"
|
|
echo " \${FLXCAT} text/text.cd src/loc/text.h=text/text.sd"
|
|
echo
|
|
echo "doc:"
|
|
echo " cd src/clib && \${MAKE} doc"
|
|
echo " cd src/real && \${MAKE} doc"
|
|
echo " cd src/cplex && \${MAKE} doc"
|
|
echo
|
|
echo "catalogs:"
|
|
echo " cd build/flexcat && \${MAKE}"
|
|
echo " \${MKDIR} dist/catalog/english"
|
|
echo " \${FLXCAT} text/help.cd catalog/english/amath-help.ct CATALOG dist/catalog/english/amath-help.catalog"
|
|
echo " \${FLXCAT} text/ident.cd catalog/english/amath-ident.ct CATALOG dist/catalog/english/amath-ident.catalog"
|
|
echo " \${FLXCAT} text/text.cd catalog/english/amath-text.ct CATALOG dist/catalog/english/amath-text.catalog"
|
|
echo
|
|
echo "shared-libs:"
|
|
echo " cd src/lib && \${MAKE} shared"
|
|
echo " cd src/clib && \${MAKE} shared"
|
|
echo " cd src/real && \${MAKE} shared"
|
|
echo " cd src/cplex && \${MAKE} shared"
|
|
echo
|
|
echo "static-libs:"
|
|
echo " cd src/lib && \${MAKE} static"
|
|
echo " cd src/clib && \${MAKE} static"
|
|
echo " cd src/real && \${MAKE} static"
|
|
echo " cd src/cplex && \${MAKE} static"
|
|
echo
|
|
echo "shared-app: app shared-libs ${program}.o"
|
|
echo " \${CC} \${CFLAGS} ${exestrip} ${program}.o -o amath \${LPATH} \${LFLAGS}"
|
|
echo
|
|
echo "static-app: app static-libs ${program}.o"
|
|
echo " \${CC} \${CFLAGS} ${exestrip} ${program}.o -o amath \${LPATHS} \${LFLAGS}"
|
|
echo
|
|
echo ".PHONY: test"
|
|
echo "test: amath"
|
|
echo " LD_LIBRARY_PATH=src/clib/:src/lib:src/cplex:scr/real"
|
|
echo " ./amath test"
|
|
echo
|
|
echo ".PHONY: install"
|
|
echo "install:"
|
|
echo " cd src/lib && \${MAKE} install"
|
|
echo " cd src/clib && \${MAKE} install"
|
|
echo " cd src/real && \${MAKE} install"
|
|
echo " cd src/cplex && \${MAKE} install"
|
|
echo " \${INSTALLP} amath \${INSTDIRP}/amath"
|
|
echo " \${INSTALLM} amath.1 \${INSTDIRM}/amath.1"
|
|
echo
|
|
echo ".PHONY: uninstall"
|
|
echo "uninstall:"
|
|
echo " cd src/lib && \${MAKE} uninstall"
|
|
echo " cd src/clib && \${MAKE} uninstall"
|
|
echo " cd src/real && \${MAKE} uninstall"
|
|
echo " cd src/cplex && \${MAKE} uninstall"
|
|
echo " \${DEL} \${INSTDIRP}/amath"
|
|
echo " \${DEL} \${INSTDIRM}/amath.1"
|
|
echo
|
|
echo ".PHONY: clean"
|
|
echo "clean:"
|
|
echo " cd src/lib && \${MAKE} clean"
|
|
echo " cd src/clib && \${MAKE} clean"
|
|
echo " cd src/real && \${MAKE} clean"
|
|
echo " cd src/cplex && \${MAKE} clean"
|
|
echo " cd src/main && \${MAKE} clean"
|
|
echo " cd src/system && \${MAKE} clean"
|
|
echo " cd src/main/function && \${MAKE} clean"
|
|
echo " cd src/main/statement && \${MAKE} clean"
|
|
echo " cd build/flexcat && \${MAKE} clean"
|
|
echo " \${DEL} ${program}.o amath"
|
|
echo
|
|
echo ".PHONY: very-clean"
|
|
echo "very-clean: clean"
|
|
echo " cd src/lib && \${MAKE} very-clean"
|
|
echo " cd src/clib && \${MAKE} very-clean"
|
|
echo " cd src/real && \${MAKE} very-clean"
|
|
echo " cd src/cplex && \${MAKE} very-clean"
|
|
echo
|
|
} > Makefile
|
|
#########################################################################
|
|
|
|
################################ Flexcat ################################
|
|
{
|
|
echo 'all: flexcat'
|
|
echo ''
|
|
echo "CFLAGS += -I. -Wall"
|
|
echo ''
|
|
|
|
l=""
|
|
for f in ${FLXSRCS}
|
|
do
|
|
b=`basename $f .c`
|
|
echo "${b}.o: ${f}"
|
|
echo " \${CC} \${CFLAGS} -c ${f}"
|
|
echo
|
|
l="${l} ${b}.o"
|
|
done
|
|
|
|
echo
|
|
echo "flexcat: ${l}"
|
|
echo " \${CC} \${CFLAGS} -o flexcat ${l} -lm"
|
|
echo
|
|
echo "clean:"
|
|
echo " rm -f ${l} flexcat"
|
|
echo
|
|
} > build/flexcat/Makefile
|
|
#########################################################################
|
|
|
|
echo "Makefile generated"
|