amath/configure

1293 lines
29 KiB
Plaintext
Raw Permalink Normal View History

2015-03-08 22:14:50 +00:00
#!/bin/sh
#
2017-02-27 22:23:06 +00:00
# Copyright {c} 2014-2017 Carsten Sonne Larsen <cs@innolan.net>
2015-03-08 22:14:50 +00:00
# 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
2017-02-27 22:23:06 +00:00
# DAMAGES {INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION}
2015-03-08 22:14:50 +00:00
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2017-02-27 22:23:06 +00:00
# LIABILITY, OR TORT {INCLUDING NEGLIGENCE OR OTHERWISE} ARISING IN ANY WAY
2015-03-08 22:14:50 +00:00
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
set -e
2017-07-14 10:10:13 +00:00
version="1.8.2"
2017-03-11 22:37:45 +00:00
2017-02-27 22:23:06 +00:00
clang=false
debugsym=false
regtest=true
2017-04-12 22:50:51 +00:00
openlibm=false
stdlibm=false
stdlibc=false
useldconfig=false
2017-04-21 22:53:41 +00:00
fpic=false
2017-02-27 22:23:06 +00:00
prefix="/usr"
2017-03-11 22:37:45 +00:00
pkgconfigdir="lib/pkgconfig"
2017-04-12 22:50:51 +00:00
mandir="share/man"
2017-02-27 22:23:06 +00:00
cflags=""
cxxflags=""
ldflags=""
gcclib="-lstdc++"
2017-04-12 22:50:51 +00:00
libm=""
2017-04-21 22:53:41 +00:00
libc=""
2017-02-27 22:23:06 +00:00
for arg in "$@"; do
2017-04-12 22:50:51 +00:00
unknown=true
2017-03-11 22:37:45 +00:00
case "$arg" in
--prefix=*)
prefix=`echo $arg | sed 's/--prefix=//'`
2017-04-12 22:50:51 +00:00
unknown=false
2017-03-11 22:37:45 +00:00
;;
--pkgconfig=*)
pkgconfigdir=`echo $arg | sed 's/--pkgconfig=//'`
2017-04-12 22:50:51 +00:00
unknown=false
;;
--mandir=*)
mandir=`echo $arg | sed 's/--mandir=//'`
unknown=false
2017-03-11 22:37:45 +00:00
;;
2017-02-27 22:23:06 +00:00
--man-dir=*)
mandir=`echo $arg | sed 's/--mandir=//'`
unknown=false
;;
--doc-dir=*)
unknown=false
;;
2017-03-11 22:37:45 +00:00
--cross-compile=*)
crosscompile=`echo $arg | sed 's/--cross-compile=//'`
2017-02-27 22:23:06 +00:00
crosscompile="${crosscompile}-"
2017-04-12 22:50:51 +00:00
unknown=false
2017-03-11 22:37:45 +00:00
;;
2017-02-27 22:23:06 +00:00
2017-03-11 22:37:45 +00:00
CFLAGS=*)
cflags=`echo $arg | sed 's/CFLAGS=//'`
2017-02-27 22:23:06 +00:00
cflags="${cflags} "
2017-04-12 22:50:51 +00:00
unknown=false
2017-03-11 22:37:45 +00:00
;;
2017-02-27 22:23:06 +00:00
2017-03-11 22:37:45 +00:00
CXXFLAGS=*)
cxxflags=`echo $arg | sed 's/CXXFLAGS=//'`
2017-02-27 22:23:06 +00:00
cxxflags="${cxxflags} "
2017-04-12 22:50:51 +00:00
unknown=false
2017-03-11 22:37:45 +00:00
;;
2017-02-27 22:23:06 +00:00
2017-03-11 22:37:45 +00:00
LDFLAGS=*)
ldflags=`echo $arg | sed 's/LDFLAGS=//'`
2017-02-27 22:23:06 +00:00
ldflags="${ldflags} "
2017-04-12 22:50:51 +00:00
unknown=false
2017-03-11 22:37:45 +00:00
;;
2017-02-27 22:23:06 +00:00
--enable-clang)
2017-04-12 22:50:51 +00:00
clang=true
unknown=false
;;
2017-03-11 22:37:45 +00:00
--disable-clang)
2017-04-12 22:50:51 +00:00
clang=false
unknown=false
;;
--enable-ldconfig)
useldconfig=true
unknown=false
;;
2017-03-11 22:37:45 +00:00
2017-04-12 22:50:51 +00:00
--disable-ldconfig)
useldconfig=false
unknown=false
;;
2017-04-21 22:53:41 +00:00
--enable-pic)
fpic=true
unknown=false
;;
--disable-pic)
fpic=false
unknown=false
;;
2017-03-11 22:37:45 +00:00
--enable-debug)
2017-04-12 22:50:51 +00:00
debugsym=true
unknown=false
;;
2017-03-11 22:37:45 +00:00
--disable-debug)
2017-04-12 22:50:51 +00:00
debugsym=false
unknown=false
;;
2017-03-11 22:37:45 +00:00
--enable-test)
2017-04-12 22:50:51 +00:00
regtest=true
unknown=false
;;
2017-03-11 22:37:45 +00:00
--disable-test)
2017-04-12 22:50:51 +00:00
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
;;
2017-03-11 22:37:45 +00:00
2017-03-24 19:09:05 +00:00
--with-stdc++)
2017-04-12 22:50:51 +00:00
gcclib="-lstdc++"
unknown=false
;;
2017-03-24 19:09:05 +00:00
--without-stdc++)
2017-04-12 22:50:51 +00:00
gcclib=""
unknown=false
;;
--with-libc)
stdlibc=true
unknown=false
;;
--without-libc)
stdlibc=false
unknown=false
;;
2017-03-11 22:37:45 +00:00
--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)'
2017-04-12 22:50:51 +00:00
echo ' --mandir=<path>: manpage path (without prefix)'
2017-03-11 22:37:45 +00:00
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'
2017-04-12 22:50:51 +00:00
echo ' --enable-ldconfig: use ldconfig to registre libraries'
echo ' --disable-ldconfig: do not use ldconfig to registre libraries'
2017-04-15 20:32:42 +00:00
echo ' --enable-pic: build with Position Independent Code (-fPIC)'
echo ' --disable-pic: do not build static libraries with Position Independent Code'
2017-04-12 22:50:51 +00:00
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++)'
2017-03-24 19:09:05 +00:00
echo ' --without-stdc++: do not link with stdc++ library'
2017-04-12 22:50:51 +00:00
echo ' --with-libc: explicit link with libc library (-lc)'
echo ' --without-libc: do not link with libc library'
2017-03-11 22:37:45 +00:00
echo
echo ' CFLAGS=<flags>: additional compiler flags'
echo ' CXXFLAGS=<flags>: additional compiler flags'
echo ' LDFLAGS=<flags>: additional linker flags'
echo
exit 0
;;
esac
2017-04-12 22:50:51 +00:00
if $unknown; then
echo "Invalid option $arg"
exit 1
fi
2017-02-27 22:23:06 +00:00
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=""
2017-04-12 22:50:51 +00:00
debugflag="-DDEBUG "
2017-02-27 22:23:06 +00:00
else
appop="-O2"
libop="-O3"
exestrip="-s"
2017-04-12 22:50:51 +00:00
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"
2017-04-21 22:53:41 +00:00
libc="-lc"
2017-02-27 22:23:06 +00:00
fi
2017-04-15 20:32:42 +00:00
if $fpic; then
fPIC=" -fPIC"
else
fPIC=""
fi
2017-04-12 22:50:51 +00:00
cflags="${cflags}${debugflag}${mflags}"
2017-02-27 22:23:06 +00:00
cxxflags="${cflags} ${cxxflags}"
2015-04-01 12:43:50 +00:00
APPSRCS='
2017-02-27 22:23:06 +00:00
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
2017-04-15 18:36:40 +00:00
console_termios.cpp
2017-03-24 19:09:05 +00:00
console_windows.cpp
2017-02-27 22:23:06 +00:00
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
2017-03-24 19:09:05 +00:00
program_haiku.cpp
2017-02-27 22:23:06 +00:00
program_stdc.cpp
program_test.cpp
window_amiga.cpp
2017-03-24 19:09:05 +00:00
window_haiku.cpp
2017-02-27 22:23:06 +00:00
'
FUNCTIONSRC='
absolute.cpp
aexcosecant.cpp
aexsecant.cpp
2017-04-12 22:50:51 +00:00
arcchord.cpp
2017-02-27 22:23:06 +00:00
arccos.cpp
arcsin.cpp
arctan.cpp
arccosecant.cpp
arccotangent.cpp
arcsecant.cpp
2017-03-11 22:37:45 +00:00
arccovercosine.cpp
arccoversine.cpp
archacovercosine.cpp
archacoversine.cpp
archavercosine.cpp
archaversine.cpp
arcvercosine.cpp
arcversine.cpp
2017-02-27 22:23:06 +00:00
ceil.cpp
2017-04-12 22:50:51 +00:00
chord.cpp
2017-02-27 22:23:06 +00:00
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
2017-03-11 22:37:45 +00:00
hyparccosecant.cpp
hyparccosine.cpp
hyparccotangent.cpp
hyparcsecant.cpp
hyparcsine.cpp
hyparctangent.cpp
hypcosecant.cpp
hypcosine.cpp
hypcotangent.cpp
hypsecant.cpp
hypsine.cpp
hyptangent.cpp
2017-02-27 22:23:06 +00:00
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
2015-04-01 12:43:50 +00:00
'
LIBAPPSRCS='
2017-02-27 22:23:06 +00:00
aengine.cpp
2017-04-12 22:50:51 +00:00
bigint.cpp
2017-02-27 22:23:06 +00:00
charbuf.cpp
cplex.cpp
nnumb.cpp
ntext.cpp
2017-04-12 22:50:51 +00:00
ntextd.cpp
ntextp.cpp
2017-02-27 22:23:06 +00:00
real.cpp
2015-04-01 12:43:50 +00:00
'
LIBREALSRCS='
2017-02-27 22:23:06 +00:00
acos.c
acosh.c
asin.c
asinh.c
atan.c
atan2.c
atanh.c
cbrt.c
ceil.c
2017-04-12 22:50:51 +00:00
csign.c
2017-02-27 22:23:06 +00:00
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
2015-04-01 12:43:50 +00:00
'
2017-04-12 22:50:51 +00:00
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
'
2015-04-01 12:43:50 +00:00
LIBCPLEXSRCS='
2017-02-27 22:23:06 +00:00
cacos.c
cacosh.c
2017-04-12 22:50:51 +00:00
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='
2017-02-27 22:23:06 +00:00
cacot.c
cacoth.c
cacsc.c
cacsch.c
casec.c
casech.c
ccbrt.c
ccot.c
ccoth.c
ccsc.c
ccsch.c
clogb.c
2017-04-12 22:50:51 +00:00
clog10.c
2017-02-27 22:23:06 +00:00
csec.c
csech.c
csgn.c
prim.c
2015-04-01 12:43:50 +00:00
'
LIBC1SRCS='
2017-02-27 22:23:06 +00:00
alloccpy.c
mem.c
memcpy.c
memset.c
strcmp.c
strlen.c
untag.c
2015-03-08 22:14:50 +00:00
'
2017-03-11 22:37:45 +00:00
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
'
2015-03-08 22:14:50 +00:00
2017-04-12 22:50:51 +00:00
if $dlibm; then
LIBREALSRCS="${LIBREAL2SRCS}"
else
LIBREALSRCS="${LIBREALSRCS}${LIBREAL2SRCS}"
fi
if $dlibm; then
LIBCPLEXSRCS="${LIBCPLEX2SRCS}"
else
LIBCPLEXSRCS="${LIBCPLEXSRCS}${LIBCPLEX2SRCS}"
fi
2017-02-27 22:23:06 +00:00
amathc="amathc"
amath="amath"
amathcplex="amathcplex"
amathapp="amathapp"
2015-04-07 19:51:26 +00:00
2017-02-27 22:23:06 +00:00
appmain="appmain"
appfunction="functions"
appstatement="statement"
appsystem="appsystem"
program="src/main"
2015-03-08 22:14:50 +00:00
2017-04-12 22:50:51 +00:00
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}"
2017-02-27 22:23:06 +00:00
############################ Main Application ###########################
{
echo "CXX = ${crosscompile}${cxxcompiler}"
2017-04-15 20:32:42 +00:00
echo "CXXFLAGS = ${appop}${options} ${cxxflags}${fPIC} -I. -I.. -Wall"
2017-02-27 22:23:06 +00:00
echo "AR = ${crosscompile}ar"
echo "RANLIB = ${crosscompile}ranlib"
echo "DEL = rm -f"
echo
echo "all: lib"
echo "static: lib"
echo
2017-01-09 20:30:46 +00:00
2017-02-27 22:23:06 +00:00
files=""
for f in ${APPSRCS}
do
b=`basename $f .cpp`
echo "${b}.o: ${f}"
echo " \${CXX} \${CXXFLAGS} -c ${f}"
2015-04-14 12:00:01 +00:00
echo
2017-02-27 22:23:06 +00:00
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}"
2017-04-15 20:32:42 +00:00
echo "CXXFLAGS = ${appop}${options} ${cxxflags}${fPIC} -I. -I../.. -Wall"
2017-02-27 22:23:06 +00:00
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}"
2017-01-09 20:30:46 +00:00
echo
2017-02-27 22:23:06 +00:00
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}"
2017-04-15 20:32:42 +00:00
echo "CXXFLAGS = ${appop}${options} ${cxxflags}${fPIC} -I. -I../.. -Wall"
2017-02-27 22:23:06 +00:00
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}"
2015-03-08 22:14:50 +00:00
echo
2017-02-27 22:23:06 +00:00
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}"
2017-04-15 20:32:42 +00:00
echo "CXXFLAGS = ${appop}${options} ${cxxflags}${fPIC} -I. -I.. -Wall"
2017-02-27 22:23:06 +00:00
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}"
2015-04-01 12:43:50 +00:00
echo
2017-02-27 22:23:06 +00:00
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 ##########################
{
2017-03-11 22:37:45 +00:00
echo "CXX = ${crosscompile}${cxxcompiler}"
echo "CXXFLAGS = ${libop}${options} ${cxxflags}-I. -I.. -Wall"
echo "AR = ${crosscompile}ar"
echo "RANLIB = ${crosscompile}ranlib"
echo "MKDIR = mkdir -p"
2017-04-12 22:50:51 +00:00
echo "RMDIR = rm -Rf"
2017-03-11 22:37:45 +00:00
echo "DEL = rm -f"
echo "INSTALL = install -m 0644"
echo "LDCONFIG = ldconfig"
2017-04-12 22:50:51 +00:00
echo "DOXYGEN = doxygen"
2017-03-11 22:37:45 +00:00
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"
2017-02-27 22:23:06 +00:00
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}"
2017-04-15 20:32:42 +00:00
echo " \${CXX} \${CXXFLAGS}${fPIC} -c ${f} -o static/${b}.o"
2015-04-01 12:43:50 +00:00
echo
2017-02-27 22:23:06 +00:00
echo "shared/${b}.o: ${f}"
echo " \${CXX} \${CXXFLAGS} -fPIC -c ${f} -o shared/${b}.o"
2015-04-01 12:43:50 +00:00
echo
2017-02-27 22:23:06 +00:00
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}"
2017-04-12 22:50:51 +00:00
echo " \${CXX} \${CXXFLAGS} -shared ${exestrip} -fPIC -Wl,-soname,\${solib}${soverion} -o \${solib} ${files2}"
2017-02-27 22:23:06 +00:00
echo
echo "\${alib}: build ${files}"
echo " \${AR} rcs static/\${alib} ${files}"
echo " \${RANLIB} static/\${alib}"
echo
2017-04-12 22:50:51 +00:00
echo ".PHONY: doc"
echo "doc:"
echo " \${DOXYGEN} amatha.dox"
echo
2017-03-11 22:37:45 +00:00
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"
2017-04-12 22:50:51 +00:00
echo " \${INSTALL} bigint.h \${INSTDIRI}/bigint.h"
2017-03-11 22:37:45 +00:00
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"
2017-04-12 22:50:51 +00:00
echo " \${INSTALL} ntext.h \${INSTDIRI}/ntextd.h"
echo " \${INSTALL} ntext.h \${INSTDIRI}/ntextp.h"
2017-03-11 22:37:45 +00:00
echo " \${INSTALL} numb.h \${INSTDIRI}/numb.h"
echo " \${INSTALL} real.h \${INSTDIRI}/real.h"
2017-04-12 22:50:51 +00:00
if ${useldconfig}; then
2017-03-11 22:37:45 +00:00
echo " \${LDCONFIG} \${INSTDIR}"
2017-04-12 22:50:51 +00:00
fi
2017-02-27 22:23:06 +00:00
echo
echo ".PHONY: uninstall"
echo "uninstall:"
2017-03-11 22:37:45 +00:00
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"
2017-04-12 22:50:51 +00:00
if ${useldconfig}; then
2017-03-11 22:37:45 +00:00
echo " \${LDCONFIG}"
2017-04-12 22:50:51 +00:00
fi
2017-02-27 22:23:06 +00:00
echo
echo "clean:"
echo " \${DEL} static/\${alib} \${solib} ${files} ${files2}"
echo
2017-04-12 22:50:51 +00:00
echo "very-clean: clean"
echo " \${DEL} doxygen.warn"
echo " \${RMDIR} man"
echo " \${RMDIR} static"
echo " \${RMDIR} shared"
echo
2017-02-27 22:23:06 +00:00
} > src/lib/Makefile
#########################################################################
############################### C Library ###############################
{
2017-03-11 22:37:45 +00:00
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"
2017-04-12 22:50:51 +00:00
echo "RMDIR = rm -Rf"
2017-03-11 22:37:45 +00:00
echo "DEL = rm -f"
echo "INSTALL = install -m 0644"
echo "LDCONFIG = ldconfig"
2017-04-12 22:50:51 +00:00
echo "DOXYGEN = doxygen"
2017-03-11 22:37:45 +00:00
echo "PREFIX = ${prefix}"
echo "INSTDIR = \${DESTDIR}\${PREFIX}/lib/amath"
echo "INSTDIRI = \${DESTDIR}\${PREFIX}/include/amath"
echo "INSTDIRPC = \${DESTDIR}\${PREFIX}/${pkgconfigdir}"
2017-04-12 22:50:51 +00:00
echo "INSTDIRM = \${DESTDIR}\${PREFIX}/${mandir}/man3"
2017-03-11 22:37:45 +00:00
echo "alib = lib${amathc}.a"
echo "solib = lib${amathc}.so"
echo "pkgconfig = amathc.pc"
echo "manpage = amathc.3"
2017-02-27 22:23:06 +00:00
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}"
2017-04-15 20:32:42 +00:00
echo " \${CC} \${CFLAGS}${fPIC} -fno-builtin -c ${f} -o static/${b}.o"
2015-03-08 22:14:50 +00:00
echo
2017-02-27 22:23:06 +00:00
echo "shared/${b}.o: ${f}"
echo " \${CC} \${CFLAGS} -fPIC -fno-builtin -c ${f} -o shared/${b}.o"
2015-04-08 14:27:35 +00:00
echo
2017-02-27 22:23:06 +00:00
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}"
2017-07-14 11:54:39 +00:00
echo " \${CC} \${CFLAGS} -shared ${exestrip} -fPIC -Wl,-soname,\${solib}${soverion} -o \${solib} ${libcs}"
2017-02-27 22:23:06 +00:00
echo
echo "\${alib}: build ${libc}"
echo " \${AR} rcs static/\${alib} ${libc}"
echo " \${RANLIB} static/\${alib}"
echo
2017-04-12 22:50:51 +00:00
echo ".PHONY: doc"
echo "doc:"
echo " \${DOXYGEN} amathc.dox"
echo
2017-02-27 22:23:06 +00:00
echo ".PHONY: install"
echo "install: \${alib} \${solib}"
2017-03-11 22:37:45 +00:00
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}"
2017-04-12 22:50:51 +00:00
if ${useldconfig}; then
2017-03-11 22:37:45 +00:00
echo " \${LDCONFIG} \${INSTDIR}"
2017-04-12 22:50:51 +00:00
fi
2017-02-27 22:23:06 +00:00
echo
echo ".PHONY: uninstall"
echo "uninstall:"
2017-03-11 22:37:45 +00:00
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"
2017-04-12 22:50:51 +00:00
if ${useldconfig}; then
2017-03-11 22:37:45 +00:00
echo " \${LDCONFIG}"
2017-04-12 22:50:51 +00:00
fi
2017-02-27 22:23:06 +00:00
echo
echo "clean:"
echo " \${DEL} static/\${alib} \${solib} ${libc} ${libcs}"
echo
2017-04-12 22:50:51 +00:00
echo "very-clean: clean"
echo " \${DEL} doxygen.warn"
echo " \${RMDIR} man"
echo " \${RMDIR} static"
echo " \${RMDIR} shared"
echo
2017-02-27 22:23:06 +00:00
} > src/clib/Makefile
#########################################################################
############################# Real Numbers ##############################
{
2017-03-11 22:37:45 +00:00
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"
2017-04-12 22:50:51 +00:00
echo "RMDIR = rm -Rf"
2017-03-11 22:37:45 +00:00
echo "DEL = rm -f"
echo "INSTALL = install -m 0644"
echo "LDCONFIG = ldconfig"
2017-04-12 22:50:51 +00:00
echo "DOXYGEN = doxygen"
2017-03-11 22:37:45 +00:00
echo "PREFIX = ${prefix}"
echo "INSTDIR = \${DESTDIR}\${PREFIX}/lib/amath"
echo "INSTDIRI = \${DESTDIR}\${PREFIX}/include/amath"
echo "INSTDIRPC = \${DESTDIR}\${PREFIX}/${pkgconfigdir}"
2017-04-12 22:50:51 +00:00
echo "INSTDIRM = \${DESTDIR}\${PREFIX}/${mandir}/man3"
2017-03-11 22:37:45 +00:00
echo "alib = lib${amath}.a"
echo "solib = lib${amath}.so"
echo "pkgconfig = amathr.pc"
echo "manpage = amathr.3"
2017-02-27 22:23:06 +00:00
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}"
2017-04-15 20:32:42 +00:00
echo " \${CC} \${CFLAGS}${fPIC} -fno-builtin -c ${f} -o static/${b}.o"
2017-02-10 21:49:49 +00:00
echo
2017-02-27 22:23:06 +00:00
echo "shared/${b}.o: ${f}"
echo " \${CC} \${CFLAGS} -fPIC -fno-builtin -c ${f} -o shared/${b}.o"
2017-02-10 21:49:49 +00:00
echo
2017-02-27 22:23:06 +00:00
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}"
2017-04-12 22:50:51 +00:00
echo " \${CC} \${CFLAGS} -shared ${exestrip} -fPIC -Wl,-soname,\${solib}${soverion} -o \${solib} ${libamaths}"
2017-02-27 22:23:06 +00:00
echo
echo "\${alib}: build ${libamath}"
echo " \${AR} rcs static/\${alib} ${libamath}"
echo " \${RANLIB} static/\${alib}"
echo
2017-04-12 22:50:51 +00:00
echo ".PHONY: doc"
echo "doc:"
echo " \${DOXYGEN} amathr.dox"
echo
2017-02-27 22:23:06 +00:00
echo ".PHONY: install"
echo "install: \${alib} \${solib}"
2017-03-11 22:37:45 +00:00
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}"
2017-04-12 22:50:51 +00:00
echo " \${INSTALL} ../mathr.h \${INSTDIRI}/mathr.h"
if ${useldconfig}; then
2017-03-11 22:37:45 +00:00
echo " \${LDCONFIG} \${INSTDIR}"
2017-04-12 22:50:51 +00:00
fi
2017-02-27 22:23:06 +00:00
echo
echo ".PHONY: uninstall"
echo "uninstall:"
2017-03-11 22:37:45 +00:00
echo " \${DEL} \${INSTDIR}/\${alib}"
echo " \${DEL} \${INSTDIR}/\${solib}"
echo " \${DEL} \${INSTDIRPC}/\${pkgconfig}"
echo " \${DEL} \${INSTDIRM}/\${manpage}"
2017-04-12 22:50:51 +00:00
echo " \${DEL} \${INSTDIRI}/mathr.h"
if ${useldconfig}; then
2017-03-11 22:37:45 +00:00
echo " \${LDCONFIG}"
2017-04-12 22:50:51 +00:00
fi
2017-02-27 22:23:06 +00:00
echo
echo "clean:"
echo " \${DEL} static/\${alib} \${solib} ${libamath} ${libamaths}"
echo
2017-04-12 22:50:51 +00:00
echo "very-clean: clean"
echo " \${DEL} doxygen.warn"
echo " \${RMDIR} man"
echo " \${RMDIR} static"
echo " \${RMDIR} shared"
echo
2017-02-27 22:23:06 +00:00
} > src/real/Makefile
#########################################################################
############################ Complex Numbers ############################
{
2017-03-11 22:37:45 +00:00
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"
2017-04-12 22:50:51 +00:00
echo "RMDIR = rm -Rf"
2017-03-11 22:37:45 +00:00
echo "DEL = rm -f"
echo "INSTALL = install -m 0644"
echo "LDCONFIG = ldconfig"
2017-04-12 22:50:51 +00:00
echo "DOXYGEN = doxygen"
2017-03-11 22:37:45 +00:00
echo "PREFIX = ${prefix}"
echo "INSTDIR = \${DESTDIR}\${PREFIX}/lib/amath"
echo "INSTDIRI = \${DESTDIR}\${PREFIX}/include/amath"
echo "INSTDIRPC = \${DESTDIR}\${PREFIX}/${pkgconfigdir}"
2017-04-12 22:50:51 +00:00
echo "INSTDIRM = \${DESTDIR}\${PREFIX}/${mandir}/man3"
2017-03-11 22:37:45 +00:00
echo "alib = lib${amathcplex}.a"
echo "solib = lib${amathcplex}.so"
echo "pkgconfig = amathi.pc"
echo "manpage = amathi.3"
2017-02-27 22:23:06 +00:00
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}"
2017-04-15 20:32:42 +00:00
echo " \${CC} \${CFLAGS}${fPIC} -fno-builtin -c ${f} -o static/${b}.o"
2016-04-03 09:56:10 +00:00
echo
2017-02-27 22:23:06 +00:00
echo "shared/${b}.o: ${f}"
echo " \${CC} \${CFLAGS} -fPIC -fno-builtin -c ${f} -o shared/${b}.o"
2017-01-09 20:30:46 +00:00
echo
2017-02-27 22:23:06 +00:00
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}"
2017-04-12 22:50:51 +00:00
echo " \${CC} \${CFLAGS} -shared ${exestrip} -fPIC -Wl,-soname,\${solib}${soverion} -o \${solib} ${libcomplexs}"
2017-02-27 22:23:06 +00:00
echo
echo "\${alib}: build ${libcomplex}"
echo " \${AR} rcs static/\${alib} ${libcomplex}"
echo " \${RANLIB} static/\${alib}"
echo
2017-04-12 22:50:51 +00:00
echo ".PHONY: doc"
echo "doc:"
echo " \${DOXYGEN} amathi.dox"
echo
2017-02-27 22:23:06 +00:00
echo ".PHONY: install"
echo "install: \${alib} \${solib}"
2017-03-11 22:37:45 +00:00
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}"
2017-04-12 22:50:51 +00:00
echo " \${INSTALL} ../mathi.h \${INSTDIRI}/mathi.h"
if ${useldconfig}; then
2017-03-11 22:37:45 +00:00
echo " \${LDCONFIG} \${INSTDIR}"
2017-04-12 22:50:51 +00:00
fi
2017-02-27 22:23:06 +00:00
echo
echo ".PHONY: uninstall"
echo "uninstall:"
2017-03-11 22:37:45 +00:00
echo " \${DEL} \${INSTDIR}/\${alib}"
echo " \${DEL} \${INSTDIR}/\${solib}"
echo " \${DEL} \${INSTDIRPC}/\${pkgconfig}"
echo " \${DEL} \${INSTDIRM}/\${manpage}"
echo " \${DEL} \${INSTDIRPC}/amathi.pc"
2017-04-12 22:50:51 +00:00
echo " \${DEL} \${INSTDIRI}/mathi.h"
if ${useldconfig}; then
2017-03-11 22:37:45 +00:00
echo " \${LDCONFIG}"
2017-04-12 22:50:51 +00:00
fi
2017-02-27 22:23:06 +00:00
echo
echo "clean:"
echo " \${DEL} static/\${alib} \${solib} ${libcomplex} ${libcomplexs}"
echo
2017-04-12 22:50:51 +00:00
echo "very-clean: clean"
echo " \${DEL} doxygen.warn"
echo " \${RMDIR} man"
echo " \${RMDIR} static"
echo " \${RMDIR} shared"
echo
2017-02-27 22:23:06 +00:00
} > 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"
2017-04-12 22:50:51 +00:00
echo "LFLAGS = ${ldflags}${ldsysflags}${ldlibflags}"
2017-02-27 22:23:06 +00:00
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"
2017-03-11 22:37:45 +00:00
echo "INSTALLP = install -m 0755"
echo "INSTALLM = install -m 0644"
2017-02-27 22:23:06 +00:00
echo "PREFIX = ${prefix}"
2017-03-11 22:37:45 +00:00
echo "INSTDIRP = \${DESTDIR}\${PREFIX}/bin"
2017-04-12 22:50:51 +00:00
echo "INSTDIRM = \${DESTDIR}\${PREFIX}/${mandir}/man1"
2017-02-27 22:23:06 +00:00
echo
2017-04-12 22:50:51 +00:00
echo "all: shared-libs static-libs static-app"
echo "amath: shared-libs static-libs shared-app"
echo "static: static-app"
2017-02-27 22:23:06 +00:00
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}"
2017-03-24 19:09:05 +00:00
echo
2017-02-27 22:23:06 +00:00
echo "${amathc}:"
echo " cd src/clib && \${MAKE}"
2017-03-24 19:09:05 +00:00
echo
2017-02-27 22:23:06 +00:00
echo "${amathcplex}:"
echo " cd src/cplex && \${MAKE}"
2017-03-24 19:09:05 +00:00
echo
2017-04-12 22:50:51 +00:00
echo "locale:"
2017-03-11 22:37:45 +00:00
echo " cd build/flexcat && \${MAKE}"
2017-04-12 22:50:51 +00:00
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"
2017-02-27 22:23:06 +00:00
echo
2017-03-11 22:37:45 +00:00
echo "catalogs:"
echo " cd build/flexcat && \${MAKE}"
2017-02-27 22:23:06 +00:00
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
2017-04-12 22:50:51 +00:00
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"
2017-02-27 22:23:06 +00:00
echo
2017-04-12 22:50:51 +00:00
echo "static-libs:"
2017-02-27 22:23:06 +00:00
echo " cd src/lib && \${MAKE} static"
echo " cd src/clib && \${MAKE} static"
echo " cd src/real && \${MAKE} static"
echo " cd src/cplex && \${MAKE} static"
2017-04-12 22:50:51 +00:00
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"
2017-02-27 22:23:06 +00:00
echo " \${CC} \${CFLAGS} ${exestrip} ${program}.o -o amath \${LPATHS} \${LFLAGS}"
echo
echo ".PHONY: test"
2017-03-11 22:37:45 +00:00
echo "test: amath"
echo " LD_LIBRARY_PATH=src/clib/:src/lib:src/cplex:scr/real"
2017-02-27 22:23:06 +00:00
echo " ./amath test"
echo
echo ".PHONY: install"
2017-04-12 22:50:51 +00:00
echo "install:"
2017-02-27 22:23:06 +00:00
echo " cd src/lib && \${MAKE} install"
echo " cd src/clib && \${MAKE} install"
echo " cd src/real && \${MAKE} install"
echo " cd src/cplex && \${MAKE} install"
2017-03-11 22:37:45 +00:00
echo " \${INSTALLP} amath \${INSTDIRP}/amath"
echo " \${INSTALLM} amath.1 \${INSTDIRM}/amath.1"
2017-02-27 22:23:06 +00:00
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"
2017-03-11 22:37:45 +00:00
echo " \${DEL} \${INSTDIRP}/amath"
echo " \${DEL} \${INSTDIRM}/amath.1"
2017-02-27 22:23:06 +00:00
echo
2017-03-11 22:37:45 +00:00
echo ".PHONY: clean"
2017-02-27 22:23:06 +00:00
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"
2017-03-11 22:37:45 +00:00
echo " cd build/flexcat && \${MAKE} clean"
2017-02-27 22:23:06 +00:00
echo " \${DEL} ${program}.o amath"
echo
2017-04-12 22:50:51 +00:00
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
2017-02-27 22:23:06 +00:00
} > Makefile
#########################################################################
2017-03-11 22:37:45 +00:00
################################ 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
#########################################################################
2017-02-27 22:23:06 +00:00
echo "Makefile generated"