Testing latest pari + WASM + node.js... and it works?! Wow.
License: GPL3
ubuntu2004
file=$objdir/Makefile12echo Extracting $file3rm -f $file45# Path to directories6cfg=../$config_dir7data=../$data_dir8doc=../$doc_dir9desc=../$desc_dir10ex=../$examples_dir11misc=../$misc_dir12src=../$src_dir1314knone=$src/kernel/none15kern0=$src/kernel/$kernlvl016kern1=$src/kernel/$kernlvl11718if test -n "$add_funclist"; then19add_funclist=$src/funclist20fi2122#23# File lists24#25kernel="mpker mpinl"26gp=`ls $src_dir/gp/*.c | sed 's,.*/\(.*\)\.c,\1,'`27language=`ls $src_dir/language/*.c | sed 's,.*/\(.*\)\.c,\1,'`28basemath=`ls $src_dir/basemath/*.c | sed 's,.*/\(.*\)\.c,\1,'`29modules=`ls $src_dir/modules/*.c | sed 's,.*/\(.*\)\.c,\1,'`30mt="mt $thread_engine"3132systems=33if test -d "$src_dir/systems/$osname"; then34systems=`ls $src_dir/systems/$osname/*.c | sed 's,.*/\(.*\)\.c,\1,'`35fi36# remove paridecl: no general recompilation when only changing a prototype37hlist=`ls $src_dir/headers/*.h | grep -v paridecl | grep -v paripriv |\38sed 's,.*/\(.*\)\.h,\1,'`39# for installation put paridecl back. Remove \n otherwise make will choke.40headerlist="paridecl paripriv `echo $hlist| tr '\n' ' '`"4142#Add src/language/parse.c if it is not yet generated43case $language in *parse*);; *) language="$language parse";; esac4445# special systems (OS/2 for now)46shortlib_prefix=lib47lib_prefix=lib48dllib_prefix=lib49case "$osname" in50os2) shortlib_prefix= # 8.3 filenames51dllib_prefix= # != lib_prefix to allow gp-dyn link with DLL52export_lib_create=emximp; export_lib='$(DLLIBPARI)$(_A)'53export_file=pari.def; export_create="emxexp -u"54# Actually, the build will fail until the switch to -Zomf55dlld_ignore=- ;;56mingw)57export_file='$(LIBPARI).def';58export_exe='$(LIBPARI)_exe.def';;59darwin)60ld_install_name="-Wl,-install_name -Wl,\"$libdir\"/\$(LIBPARI_DYN)";;61esac62case "$osname" in63mingw|cygwin)64install_implib="\$(INSTALL_DATA) \$(LIBPARI_SO)\$(_A) \$(LIBDIR)/\$(LIBPARI_SO)\$(_A)";;65*)66install_implib="";;67esac6869PLOTCFLAGS=70PLOTLIBS=71postconfig=:72plotrunpath=73case "$which_graphic_lib" in74ps|svg|none)75graph=plot$which_graphic_lib;;76Qt4)77PLOTCFLAGS="\$(QTINC)"78PLOTLIBS="\$(QTLIB) $QTLIBS"79graph=plotQt4;;80fltk)81PLOTCFLAGS=82PLOTLIBS="$FLTK_LIBS"83postconfig='fltk-config --post '84graph=plotfltk;;85win32)86PLOTLIBS="-lgdi32"87graph=plotWin32;;88X11)89PLOTCFLAGS="$PLOTCFLAGS $X11_INC"90PLOTLIBS="$PLOTLIBS $X11_LIBS"91plotrunpath=$X1192graph=plotX;;93*)94echo >&2 "### Unrecognized graphic library '$which_graphic_lib'."95exit 1;;96esac97libgraph="plotport plottty"9899KERNOBJS=100for f in $kernel; do101KERNOBJS="$KERNOBJS $f\$(_O)"102done103OBJS=$KERNOBJS104for f in $basemath $language $modules $systems $mt $libgraph; do105OBJS="$OBJS $f\$(_O)"106done107OBJSGP=108for f in $gp $graph; do109OBJSGP="$OBJSGP $f\$(_O)"110done111HEADERS="mpinl.h parimt.h"112for f in $hlist; do113HEADERS="$HEADERS $src/headers/$f.h";114done115116graph="$graph $libgraph"117118# runpath119tmp=$runpath120for d in "$plotrunpath" "$gmp" "$readline"; do121case "$d" in122""|yes) ;;123*) case "$tmp" in124$d|*$dir_sep$d|*$dir_sep$d$dir_sep*);;125*) tmp="$tmp$dir_sep$d";;126esac ;;127esac128done129RUNPTH_FINAL=130RUNPTH=131if test -n "$runpathprefix"; then132RUNPTH_FINAL=`$config_dir/ldflags "$LDneedsWl" $runpathprefix"$tmp"`133RUNPTH=`$config_dir/ldflags "$LDneedsWl" $runpathprefix\\\$\(TOPDIR\)/$objdir$dir_sep"$tmp"`134fi135136if test -z "$DLLD"; then137exec="gp-sta$exe_suff"; static=y138else139exec="gp-sta$exe_suff gp-dyn$exe_suff"140fi141case "$sizeof_long" in1424) numbits=32;;1438) numbits=64;;144esac145dotest="env \"RUNTEST=\$(RUNTEST)\" \"LD_LIBRARY_PATH=.$dir_sep\$\$LD_LIBRARY_PATH\" \$(SHELL) ../src/test/dotest $numbits \"$exe_suff\""146case "$static" in147n) dft=dyn; libdft=lib-dyn; dfttarget="gp-dyn gp-sta";;148y) dft=sta; libdft= ; dfttarget="gp-sta";;149esac150151CPPFLAGS="-I. -I$src/headers"152if test "$has_dlopen" = builtin; then153CPPFLAGS="$CPPFLAGS -I$src/systems/$osname"154fi155156case "$ln_s" in157*cp*) ln_objdir=".";;158*) ln_objdir="$objdir"159esac160161cat > $file << EOT162# Makefile for Pari/GP -- $pretty163#164# This file was created by Configure. Any change made to it will be165# lost when Configure is run.166#167TOPDIR="$TOP"168169SHELL = $make_sh170PERL = $perl171BISON = bison172AR = ar173RANLIB = ranlib174175SIZEOF_LONG= $sizeof_long176177CC_FLAVOR =178CC = $CC \$(CC_FLAVOR)179CPPFLAGS = $CPPFLAGS180CFLAGS = $CFLAGS181DLCFLAGS = $DLCFLAGS182KERNELCFLAGS = $KERNELCFLAGS183LD_FLAVOR = \$(CC_FLAVOR)184LD = $LD \$(LD_FLAVOR)185LDFLAGS = $LDFLAGS186DLLD_FLAVOR = \$(LD_FLAVOR)187DLLD = $DLLD \$(DLLD_FLAVOR)188DLLDFLAGS = $DLLDFLAGS189EXTRADLLDFLAGS = $EXTRADLLDFLAGS190RUNTEST = $RUNTEST191192# HIGHLY EXPERIMENTAL (only tested with gmp-4.0 on ix86 and Ultra).193# If you've configured and compiled GMP and would like to tune PARI using194# the nice cycle counting functions in GMP, uncomment the 4 lines below195# (correct the first one to the path to your gmp source tree).196#197#GMP = /some/directory/gmp-4.0/tune198#GMPFLAGS= -DGMP_TIMER199#GMPO1 = \$(GMP)/time.o \$(GMP)/freq.o200#GMPOBJS=\$(GMPO1) \$(GMPO2)201#202#You may need to add a few object files to GMPOBJS. On UltraSparc, uncomment203#the following line204#GMPO2 = \$(GMP)/sparcv9.o205206_O = .o207_A = .a208LIB_PREFIX = $lib_prefix209DLLIB_PREFIX = $dllib_prefix210LIBPARI_BASE = $libpari_base211LIBPARI = \$(LIB_PREFIX)pari212DLLIBPARI = \$(DLLIB_PREFIX)pari213LIBPARI_STA = \$(LIBPARI)\$(_A)214LIBPARI_SO = \$(DLLIBPARI).$DLSUFFIX215SOLIBPARI = \$(DLLIB_PREFIX)\$(LIBPARI_BASE).$DLSUFFIX216LIBPARI_DYN = \$(SOLIBPARI)$sodest217LIBPARI_SONAME= \$(SOLIBPARI)$soname218DL_DFLT_NAME = $DL_DFLT_NAME219220LD_INSTALL_NAME = $ld_install_name221222EXPORT_FILE = $export_file223EXPORT_EXE = $export_exe224EXPORT_CREATE = $export_create225EXPORT_LIB = $export_lib226EXPORT_LIB_CREATE = $export_lib_create227DLLD_IGNORE = $dlld_ignore228DLLTOOL = $DLLTOOL229230RUNPTH = $RUNPTH231RUNPTH_FINAL = $RUNPTH_FINAL232LDDYN = $LDDYN233LIBS = $LIBS234GMPLIBS = $GMPLIBS235MT_LIBS = $MT_LIBS236RT_LIBS = $RT_LIBS237DL_LIBS = $DL_LIBS238DYN_LIBS = \$(GMPLIBS) \$(DL_LIBS) \$(RT_LIBS) \$(MT_LIBS) \$(LIBS)239STA_LIBS = \$(GMPLIBS) \$(DL_LIBS) \$(RT_LIBS) \$(MT_LIBS) \$(LIBS)240241RM = rm -f242MV = mv -f243LN = $ln_s244CP_F = cp -f245STRIP = strip246STRIPFLAGS =247248# Change these installation directories to suit your needs.249# DESTDIR is used to install to a false hierachy (to build a Debian package)250INCLUDEDIR= "\$(DESTDIR)$includedir"251LIBDIR = "\$(DESTDIR)$libdir"252BINDIR = "\$(DESTDIR)$bindir"253MANDIR = "\$(DESTDIR)$mandir"254DATADIR = "\$(DESTDIR)$datadir"255SYSDATADIR= "\$(DESTDIR)$sysdatadir"256257EXDIR = \$(DATADIR)/examples258MISCDIR = \$(DATADIR)/misc259DOCDIR = \$(DATADIR)/doc260261INSTALL = $cfg/install262INSTALL_PROGRAM = \$(INSTALL)263INSTALL_DATA = \$(INSTALL) -m 644264TAR = tar265266# Readline267RLINCLUDE = $RLINCLUDE268RLLIBS = $RLLIBS269# GMP270GMPINCLUDE = $GMPINCLUDE271# Graphic library.272QTMOC = $QTMOC273QTINC = $QTINC274QTLIB = $QTLIB275PLOTCFLAGS = $PLOTCFLAGS276PLOTLIBS = $PLOTLIBS277CXX = g++278279TOPLDDYN = "$TOP/$objdir"280# Description system281DESC = pari.desc282DESC_HELP_GEN = $desc/gen_proto $desc/PARI/822.pm283TMPSUF = $osname-$arch.tmp284285DOTEST=$dotest286287OBJS = $OBJS288OBJSGP = $OBJSGP289290TESTS = $test_extra291292.PHONY: gp dft clean293294dft: $dfttarget ../gp$suffix$exe_suff $libdft295296gp: gp-$dft ../gp$suffix$exe_suff $libdft297298../gp$suffix$exe_suff: gp-$dft$exe_suff299-\$(RM) \$@300-\$(LN) $ln_objdir/gp-$dft$exe_suff \$@301302all: $exec lib-sta303304lib-sta: \$(LIBPARI_STA)305lib-dyn: \$(LIBPARI_DYN)306307\$(LIBPARI_STA): $add_funclist \$(OBJS)308-\$(RM) \$@309\$(AR) r \$@ \$(OBJS)310-\$(RANLIB) \$@311312kerntest\$(_O): $src/test/kerntest.c313\$(CC) -c -I$src/language \$(CPPFLAGS) \$(CFLAGS) -o \$@ $src/test/kerntest.c314315dummy\$(_O): $src/test/dummy.c316\$(CC) -c \$(CPPFLAGS) \$(CFLAGS) -o \$@ $src/test/dummy.c317318kerntest: $KERNOBJS dummy\$(_O) kerntest\$(_O)319\$(CC) \$(CPPFLAGS) \$(CFLAGS) -o \$@ $KERNOBJS dummy\$(_O) kerntest\$(_O) \$(STA_LIBS)320321mpinl\$(_O): .headers parilvl0.h parilvl1.h $knone/mpinl.c322\$(CC) -c \$(CPPFLAGS) \$(CFLAGS) \$(DLCFLAGS) -o mpinl\$(_O) $knone/mpinl.c323324test-kernel:: kerntest325@./kerntest > gp.out;\326diff -c gp.out $src/test/32/kernel > kern.dif;\327if test -s kern.dif; then echo "KERNEL BUG"; else echo OK; fi328329tune\$(_O): .headers $src/test/tune.c330\$(CC) \$(GMPFLAGS) \$(CPPFLAGS) \$(CFLAGS) -o \$@ $src/test/tune.c -c331332tune: mpinl.h tune-sta333-\$(RM) tune ../tune334-\$(LN) tune-sta tune335-\$(LN) $ln_objdir/tune ../tune336337tune-dyn: tune\$(_O) \$(LIBPARI_DYN)338\$(LD) -L. \$(LDFLAGS) \$(RUNPTH) -o \$@ \$< \$(GMPOBJS) \$(LDDYN) \$(STA_LIBS)339tune-sta: tune\$(_O) \$(LIBPARI_STA)340\$(LD) \$(LDFLAGS) \$(RUNPTH) -o \$@ \$< \$(GMPOBJS) ./\$(LIBPARI_STA) \$(STA_LIBS)341342gp-sta$exe_suff: $add_funclist \$(OBJS) \$(OBJSGP) \$(EXPORT_EXE)343\$(RM) \$@344\$(LD) -o \$@ \$(LDFLAGS) \$(OBJS) \$(OBJSGP) \$(RUNPTH) \$(RLLIBS) \$(PLOTLIBS) \$(STA_LIBS) \$(EXPORT_EXE)345$postconfig gp-sta$exe_suff346347clean_pari_ps::348@-\$(RM) pari.ps349cleantest:350\$(RM) *.dif gp.out io-testfile pari.ps351cleanobj:352-\$(RM) *\$(_O) mpker.c *.s parimt.h mpinl.h parilvl0.h parilvl1.h libpari* $exec kerntest353-\$(RM) gmon.out354-\$(RM) *.gcno *.gcda355cleandesc:356-\$(RM) $desc/\$(DESC) *\$(TMPSUF)357cleantune:358-\$(RM) tune tune-sta tune\$(_O)359360cleanall: cleanobj cleantune cleantest cleandesc361362clean: cleanall363364365# Use this version to avoid problems with NFS and slightly out of synch366# fileserver/host. We are recompiling everything anyway. Not on by default:367# 3s is slower than the whole compilation on our development server :-)368# .headers: $HEADERS369# @sleep 3; touch \$@370.headers: $HEADERS371@touch \$@372373install-nodata: install-lib-$dft install-include install-bin install-man install-misc install-examples install-cfg374375install: install-doc install-nodata install-data376377install-include:378-mkdir -p \$(INCLUDEDIR)/pari379-for i in paricfg.h mpinl.h parimt.h; do \\380\$(INSTALL_DATA) \$\$i \$(INCLUDEDIR)/pari; done381-for i in $headerlist; do \\382\$(INSTALL_DATA) $src/headers/\$\$i.h \$(INCLUDEDIR)/pari; done383-\$(RM) \$(INCLUDEDIR)/pari/genpari.h384-\$(LN) pari.h \$(INCLUDEDIR)/pari/genpari.h385386install-bin: install-bin-$dft387388install-bin-dyn: gp-dyn$exe_suff install-lib-dyn389-mkdir -p \$(BINDIR)390-\$(RM) \$(BINDIR)/gp-$version$exe_suff \$(BINDIR)/gp$exe_suff391\$(LD) -o \$(BINDIR)/gp-$version$exe_suff -L\$(LIBDIR) \$(LDFLAGS) \$(OBJSGP) \$(RUNPTH_FINAL) \$(LDDYN) \$(RLLIBS) \$(PLOTLIBS) \$(LIBS)392-\$(STRIP) \$(STRIPFLAGS) \$(BINDIR)/gp-$version$exe_suff393-cd \$(BINDIR); $postconfig gp-$version$exe_suff394-\$(LN) gp-$version$exe_suff \$(BINDIR)/gp$exe_suff395396install-bin-sta: gp-sta$exe_suff397-mkdir -p \$(BINDIR)398-\$(RM) \$(BINDIR)/gp-$version$exe_suff \$(BINDIR)/gp$exe_suff399\$(INSTALL_PROGRAM) gp-sta$exe_suff \$(BINDIR)/gp-$version$exe_suff400-\$(LN) gp-$version$exe_suff \$(BINDIR)/gp$exe_suff401# Can't strip it if we want install() to work on OSF.402# -\$(STRIP) \$(STRIPFLAGS) \$(BINDIR)/gp-$version403-cd \$(BINDIR); $postconfig gp-$version$exe_suff404405install-man::406-mkdir -p \$(MANDIR)407-\$(RM) \$(MANDIR)/pari.1 \$(MANDIR)/gp.1 \$(MANDIR)/gp-$version.1408\$(INSTALL_DATA) $doc/gphelp.1 \$(MANDIR)409\$(INSTALL_DATA) $doc/gp.1 \$(MANDIR)/gp-$version.1410-\$(LN) gp.1 \$(MANDIR)/pari.1411-\$(LN) gp-$version.1 \$(MANDIR)/gp.1412413install-misc:414-mkdir -p \$(MISCDIR) \$(BINDIR)415\$(INSTALL_PROGRAM) $misc/tex2mail \$(BINDIR)416\$(INSTALL_DATA) $doc/tex2mail.1 \$(MANDIR)417\$(INSTALL_DATA) $misc/README \$(MISCDIR)418\$(INSTALL_DATA) $misc/color.dft \$(MISCDIR)419\$(INSTALL_DATA) $misc/gpalias \$(MISCDIR)420\$(INSTALL_PROGRAM) $misc/gpflog \$(MISCDIR)421\$(INSTALL_DATA) $misc/gprc.dft \$(MISCDIR)422\$(INSTALL_PROGRAM) $misc/xgp \$(MISCDIR)423424install-cfg::425-mkdir -p \$(SYSDATADIR)426-\$(INSTALL_DATA) pari.cfg \$(SYSDATADIR)427-if test -n "$add_funclist"; then\428mkdir -p \$(DATADIR)/PARI;\429\$(INSTALL_DATA) $desc/PARI/822.pm \$(DATADIR)/PARI;\430\$(INSTALL_DATA) $desc/\$(DESC) \$(DATADIR); fi431432install-doc: install-docdvi install-doctex433434install-doctex:435-mkdir -p \$(BINDIR) \$(DOCDIR)436-\$(INSTALL_DATA) $doc/translations \$(DOCDIR)437-\$(INSTALL_PROGRAM) $doc/gphelp \$(BINDIR)438-cd $doc; \$(MAKE) usersch3.tex439-\$(INSTALL_DATA) $doc/appa.tex \$(DOCDIR)440-\$(INSTALL_DATA) $doc/appb.tex \$(DOCDIR)441-\$(INSTALL_DATA) $doc/appd.tex \$(DOCDIR)442-\$(INSTALL_DATA) $doc/parimacro.tex \$(DOCDIR)443-\$(INSTALL_DATA) $doc/pdfmacs.tex \$(DOCDIR)444-\$(INSTALL_DATA) $doc/develop.tex \$(DOCDIR)445-\$(INSTALL_DATA) $doc/refcard.tex \$(DOCDIR)446-\$(INSTALL_DATA) $doc/tutorial.tex \$(DOCDIR)447-\$(INSTALL_DATA) $doc/tutorial-mf.tex \$(DOCDIR)448-\$(INSTALL_DATA) $doc/users.tex \$(DOCDIR)449-\$(INSTALL_DATA) $doc/usersch1.tex \$(DOCDIR)450-\$(INSTALL_DATA) $doc/usersch2.tex \$(DOCDIR)451-\$(INSTALL_DATA) $doc/usersch3.tex \$(DOCDIR)452-\$(INSTALL_DATA) $doc/usersch4.tex \$(DOCDIR)453-\$(INSTALL_DATA) $doc/usersch5.tex \$(DOCDIR)454-\$(INSTALL_DATA) $doc/usersch6.tex \$(DOCDIR)455-\$(INSTALL_DATA) $doc/usersch7.tex \$(DOCDIR)456-\$(INSTALL_DATA) $doc/usersch8.tex \$(DOCDIR)457-\$(INSTALL_DATA) $doc/paricfg.tex \$(DOCDIR)458459install-docdvi::460-mkdir -p \$(DOCDIR)461-cd $doc; \$(MAKE) doc; for f in *.dvi; do \462\$(INSTALL_DATA) \$\$f \$(DOCDIR); \463done464465install-docpdf::466-mkdir -p \$(DOCDIR)467-cd $doc; \$(MAKE) docpdf; for f in *.pdf; do \468\$(INSTALL_DATA) \$\$f \$(DOCDIR); \469done470471install-examples:472-mkdir -p \$(EXDIR)473-\$(INSTALL_DATA) $ex/EXPLAIN \$(EXDIR)474-\$(INSTALL_DATA) $ex/Inputrc \$(EXDIR)475-\$(INSTALL_DATA) Makefile.examples \$(EXDIR)/Makefile476-\$(INSTALL_DATA) $ex/bench.gp \$(EXDIR)477-\$(INSTALL_DATA) $ex/cl.gp \$(EXDIR)478-\$(INSTALL_DATA) $ex/classno.gp \$(EXDIR)479-\$(INSTALL_DATA) $ex/contfrac.gp \$(EXDIR)480-\$(INSTALL_DATA) $ex/lucas.gp \$(EXDIR)481-\$(INSTALL_DATA) $ex/extgcd.c \$(EXDIR)482-\$(INSTALL_DATA) $ex/rho.gp \$(EXDIR)483-\$(INSTALL_DATA) $ex/squfof.gp \$(EXDIR)484-\$(INSTALL_DATA) $ex/taylor.gp \$(EXDIR)485486install-data:487mkdir -p \$(DATADIR); \488if test -d $data; then cd $data; \489for d in \`ls\`; do \490test -d "\$\$d" && (\$(TAR) c \$\$d | (cd \$(DATADIR) && \$(TAR) xo )); \491done; \492fi;493494link-data:495mkdir -p \$(DATADIR); \496if test -d $data; then cd $data; \497for d in \`ls\`; do \498\$(LN) \$(TOPDIR)/$data_dir/\$\$d \$(DATADIR)/; \499done; \500fi;501502install-lib-sta: \$(LIBPARI_STA)503-mkdir -p \$(LIBDIR)504-\$(RM) \$(LIBDIR)/\$(LIBPARI_STA)505\$(INSTALL_DATA) \$(LIBPARI_STA) \$(LIBDIR)/\$(LIBPARI_STA)506507install-lib-dyn-base:508-mkdir -p \$(LIBDIR)509-\$(RM) \$(LIBDIR)/\$(LIBPARI_DYN) \$(LIBDIR)/\$(LIBPARI_SONAME) \$(LIBDIR)/\$(LIBPARI_SO)510\$(DLLD_IGNORE)\$(DLLD) -o \$(LIBDIR)/\$(LIBPARI_DYN) \$(DLLDFLAGS) \$(OBJS) \$(EXTRADLLDFLAGS) \$(DYN_LIBS) \$(EXPORT_FILE) \$(LD_INSTALL_NAME)511$install_implib512513install-lib-dyn-link: install-lib-dyn-base514-if test "\$(LIBPARI_DYN)" != "\$(LIBDIR)/\$(LIBPARI_SO)"; then \515\$(LN) \$(LIBPARI_DYN) \$(LIBDIR)/\$(LIBPARI_SO); fi516-if test "\$(LIBPARI_SONAME)" != "\$(LIBPARI_SO)"; then \517\$(LN) \$(LIBPARI_DYN) \$(LIBDIR)/\$(LIBPARI_SONAME); fi518install-lib-dyn: \$(LIBPARI_DYN) install-lib-dyn-link519520nsis: gp521-cd $doc; \$(MAKE) docpdf522makensis pari.nsi523524parimt.h: $src/mt/$thread_engine.h525cat $src/mt/$thread_engine.h > parimt.h526527mpinl.h: parilvl0.h parilvl1.h528cat parilvl0.h parilvl1.h > mpinl.h529530bench: $exec clean_pari_ps531@\$(DOTEST) $test_basic532dobench:: clean_pari_ps533@\$(DOTEST) $test_basic534test-all: $exec clean_pari_ps535@\$(DOTEST) \$(TESTS)536dotest-all:: clean_pari_ps537@\$(DOTEST) \$(TESTS)538dyntest-all: gp-dyn$exe_suff clean_pari_ps539@env dotestSUF=dyn \$(DOTEST) \$(TESTS)540statest-all: gp-sta$exe_suff clean_pari_ps541@env dotestSUF=sta \$(DOTEST) \$(TESTS)542543dotest-env::544@export AAA=XXX BBB=YYY; \$(DOTEST) env545EOT546547for i in $test_extra $test_extra_out $test_extra_OUT; do548echo "test-$i: $exec dotest-$i" >>$file549done550for i in $test_extra $test_extra_out; do551cat >> $file << EOT552dotest-$i::553@\$(DOTEST) $i554EOT555done556557if test "$optimization" = gcov; then558cat >> $file << EOT559560.PHONY: lcov-report lcov-reset561LCOV_TRACE = lcov.info562LCOV_REPORT= lcov-report563LCOV_FLAGS=564GENHTML_FLAGS=565LCOV_TITLE="PARI/GP v$version.$patch lcov report ($status)"566567lcov-report:568\$(RM) \$(LCOV_TRACE)569rm -rf \$(LCOV_REPORT)570lcov -c \$(LCOV_FLAGS) -d . -b . -o \$(LCOV_TRACE)571genhtml \$(GENHTML_FLAGS) --legend -t \$(LCOV_TITLE) -o \$(LCOV_REPORT) \$(LCOV_TRACE)572573lcov-reset:574\$(RM) *.gcda575EOT576fi577578if test -n "$exe_suff"; then579cat >> $file << EOT580gp-sta: gp-sta$exe_suff581gp-dyn: gp-dyn$exe_suff582EOT583fi584585if test -z "$DLLD"; then586cat >> $file << EOT587588\$(LIBPARI_DYN)::589@echo "Configure could not find a way to build a shared library on this machine"590591EOT592else593if test -n "$export_file"; then594case "$osname" in595os2)596cat >> $file << EOT597598EXPORT_FILE_BASE = $src/systems/os2/pari.def.base599VERSION_VERBOSE = $pari_release_verbose600601\$(EXPORT_FILE): \$(OBJS) \$(EXPORT_FILE_BASE)602cat \$(EXPORT_FILE_BASE) | sed 's/<DLL_BASE>/\$(DLLIBPARI)/' | sed 's/<VENDOR>/pari.math.u-bordeaux.fr\//' | sed 's/<VERSION>/\$(VERSION_VERBOSE)/' | sed 's/<DESCR>/GP\/PARI compiled with \$(CFLAGS)/' > \$@603\$(EXPORT_CREATE) \$(OBJS) >> \$@604605\$(DLLIBPARI)\$(_A): \$(EXPORT_FILE)606\$(EXPORT_LIB_CREATE) -o \$@ \$(EXPORT_FILE)607608EOT609;;610mingw)611cat >> $file << EOT612613\$(EXPORT_EXE): \$(OBJS)614\$(DLLTOOL) --export-all-symbols -k -z \[email protected] \$(OBJS)615echo "NAME \$(LIBPARI)_exe" > \$@ && cat \[email protected] >> \$@616rm \[email protected]617618\$(EXPORT_FILE): \$(OBJS)619\$(DLLTOOL) --export-all-symbols -k -z \[email protected] \$(OBJS)620echo "LIBRARY \$(LIBPARI)" > \$@ && cat \[email protected] >> \$@621rm \[email protected]622EOT623;;624esac625fi626cat >> $file << EOT627628gp-dyn$exe_suff: $add_funclist \$(OBJSGP) \$(LIBPARI_DYN) \$(EXPORT_LIB)629\$(RM) \$@630\$(LD) -o \$@ -L\$(TOPLDDYN) \$(LDFLAGS) \$(OBJSGP) \$(RUNPTH) \$(RLLIBS) \$(LDDYN) \$(PLOTLIBS) \$(LIBS)631$postconfig gp-dyn$exe_suff632633\$(LIBPARI_DYN): $add_funclist \$(OBJS) \$(EXPORT_FILE)634-\$(RM) \$(LIBPARI_DYN)635\$(DLLD_IGNORE)\$(DLLD) -o \$(TOPLDDYN)/\$(LIBPARI_DYN) \$(DLLDFLAGS) \$(OBJS) \$(EXTRADLLDFLAGS) \$(DYN_LIBS) \$(EXPORT_FILE)636-if test "\$(LIBPARI_DYN)" != "\$(LIBPARI_SO)"; then \637\$(RM) \$(LIBPARI_SO);\638\$(LN) \$(LIBPARI_DYN) \$(LIBPARI_SO); fi639-if test "\$(LIBPARI_DYN)" != "\$(LIBPARI_SONAME)"; then \640\$(RM) \$(LIBPARI_SONAME);\641\$(LN) \$(LIBPARI_DYN) \$(LIBPARI_SONAME); fi642EOT643fi644645cat >> $file << EOT646$src/language/parse.c $src/language/parse.h: $src/language/parse.y647\$(BISON) -d $src/language/parse.y -o $src/language/parse.c648EOT649650if test -n "$add_funclist"; then651# files generated using external scripts652HUGELINE="653$src/funclist::654@-$cfg/genfunclist $src/funclist $desc"655suffix='$$$$-$(TMPSUF)'656list="funclist init default gp_init"657for name in $list; do658case $name in659funclist)660target="$desc/\$(DESC)"661depend="$src/funclist $desc/merge_822 $desc/PARI/822.pm"662script="merge_822 ../$src/funclist"663;;664init)665target=$src/language/init.h666depend="$desc/\$(DESC) \$(DESC_HELP_GEN)"667script="gen_proto basic \$(DESC)"668;;669default)670target=$src/language/default.h671depend="$desc/\$(DESC) \$(DESC_HELP_GEN)"672script="gen_proto default \$(DESC)"673;;674gp_init)675target=$src/gp/gp_init.h676depend="$desc/\$(DESC) \$(DESC_HELP_GEN)"677script="gen_proto gp \$(DESC)"678;;679esac680HUGELINE="$HUGELINE681$target: $depend682f=$name-$suffix; (cd $desc && \$(PERL) $script > \$\$f) && mv $desc/\$\$f \$@"683done684echo "$HUGELINE" >> $file685686fi687688# Level 0689f=src/kernel/$kernlvl0/MakeLVL0.SH690if test -s $f; then691. $f692else693cat >> $file <<EOT694L0MODS=$kern0/asm0.h $knone/addll.h $knone/mulll.h $knone/bfffo.h $knone/divll.h $knone/divll_pre.h695parilvl0.h: \$(L0MODS)696$cfg/genkernel $src $kern0/asm0.h > parilvl0.h697EOT698fi699700if test -f "$TOP/.git/index"; then701vcfile="../.git/index"702cat >> $file <<EOT703paricfg.h: $vcfile $cfg/version704-sh $cfg/setversion705EOT706fi707708# Level 1709f=src/kernel/$kernlvl1/MakeLVL1.SH710if test -s $f; then . $f; fi711712ANAL_H=$src/language/anal.h713RECT_H=$src/graph/rect.h714HUGELINE=715for dir in basemath modules language gp graph systems mt; do716eval list='$'$dir717case "$dir" in718systems) SRC=$src/$dir/$osname;;719*) SRC=$src/$dir;;720esac721for f in $list; do722723source="$SRC/$f.c"724f=`basename $f`725depend=726cflags="\$(CPPFLAGS)"727compile='$(CC)'728case "$f" in729gp)730cflags="$cflags -I$src/language -DDL_DFLT_NAME=\$(DL_DFLT_NAME)"731depend="$src/gp/gp.h $src/gp/gp_init.h"732;;733gp_rl|texmacs)734cflags="$cflags -I$src/language \$(RLINCLUDE)"735depend="$src/gp/gp.h"736;;737paricfg)738depend="./paricfg.h"739cflags="$cflags \$(DLCFLAGS)"740;;741plotport)742cflags="$cflags \$(DLCFLAGS)"743depend="$RECT_H"744;;745plotsvg|plotps)746;;747plotQt4)748cflags="$cflags \$(PLOTCFLAGS)"749depend="$RECT_H"750compile="\$(QTMOC) \$(PLOTCFLAGS) -o plotQt4.moc.cpp $src/graph/plotQt4.c && \$(CXX)"751;;752plotfltk)753cflags="$cflags \$(PLOTCFLAGS)"754depend="$RECT_H"755compile="\$(CXX)"756;;757plotX)758cflags="$cflags \$(PLOTCFLAGS)"759depend="$RECT_H"760;;761es)762cflags="$cflags \$(DLCFLAGS)"763depend="$ANAL_H"764;;765whatnow)766depend="$src/gp/whatnow.h"767;;768init)769depend="$ANAL_H $src/language/init.h $src/language/default.h"770cflags="$cflags \$(DLCFLAGS)"771;;772anal)773depend="$ANAL_H $src/language/parse.h"774cflags="$cflags \$(DLCFLAGS)"775;;776parse)777depend="$ANAL_H $src/language/parse.h $src/language/parsec.h $src/language/tree.h"778cflags="$cflags \$(DLCFLAGS)"779;;780compile)781depend="$ANAL_H $src/language/tree.h $src/language/opcode.h"782cflags="$cflags \$(DLCFLAGS)"783;;784eval)785depend="$ANAL_H $src/language/opcode.h"786cflags="$cflags \$(DLCFLAGS)"787;;788mpqs)789depend="$src/modules/mpqs.h"790cflags="$cflags \$(DLCFLAGS)"791;;792ratpoints)793cflags="$cflags \$(DLCFLAGS) \$(KERNELCFLAGS)"794;;795F2v)796cflags="$cflags \$(DLCFLAGS) \$(KERNELCFLAGS)"797;;798F3v)799cflags="$cflags \$(DLCFLAGS) \$(KERNELCFLAGS)"800;;801*)802cflags="$cflags \$(DLCFLAGS)"803;;804esac805cflags="$cflags \$(CFLAGS)"806HUGELINE="$HUGELINE807$f\$(_O): .headers $depend $source808$compile -c $cflags -o $f\$(_O) $source"809done810done811# avoid execing too many "cat". MS-DOS can't handle it812echo "$HUGELINE" >> $file813814815