[BACK]Return to Makefile.SH CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari / config

File: [local] / OpenXM_contrib / pari / config / Attic / Makefile.SH (download)

Revision 1.1.1.1 (vendor branch), Sun Jan 9 17:35:29 2000 UTC (24 years, 5 months ago) by maekawa
Branch: PARI_GP
CVS Tags: maekawa-ipv6, VERSION_2_0_17_BETA, RELEASE_20000124, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, RELEASE_1_1_3, RELEASE_1_1_2
Changes since 1.1: +0 -0 lines

Import PARI/GP 2.0.17 beta.

file=$objdir/Makefile

if test ! -s $src_dir/kernel/$asmarch/Makefile.SH; then
  echo "No Makefile for asmarch $asmarch !" >&2; fi

echo Extracting $file
rm -f $file

# Path to directories
case "$src_dir"    in /*) src=$src_dir ;;    *) src=../$src_dir ;; esac
case "$data_dir"   in /*) data=$data_dir ;;  *) data=../$data_dir ;; esac
case "$doc_dir"    in /*) doc=$doc_dir ;;    *) doc=../$doc_dir ;; esac
case "$emacs_dir"  in /*) emx=$emacs_dir ;;  *) emx=../$emacs_dir ;; esac
case "$config_dir" in /*) cfg=$config_dir ;; *) cfg=../$config_dir ;; esac

# File lists
kernel="kernel mp"
inline="mpinl"
khlist="pariinl"
. $src_dir/kernel/$asmarch/Makefile.SH

graph="plot plotport"
gp="gp gp_init gp_rl highlvl whatnow"
case "$osname" in
  cygwin*) graphdyn="plot-dyn plotport-dyn";
           gpdyn="gp-dyn gp_init-dyn gp_rl-dyn";;
esac

language=`ls $src_dir/language/*.c | sed 's,.*/\(.*\)\.c,\1,'`
basemath=`ls $src_dir/basemath/*.c | sed 's,.*/\(.*\)\.c,\1,'`
modules=`ls $src_dir/modules/*.c   | sed 's,.*/\(.*\)\.c,\1,'`

if test m68k = "$asmarch"; then hlist=pari68k; else hlist=pariport; fi
hlist="pari paritype paricast paricom parierr parigen paristio parisys $hlist"

HEADERS=''
for f in $khlist; do
  HEADERS="$HEADERS $f.h";
done
for f in $hlist; do
  HEADERS="$HEADERS $src/headers/$f.h";
done

# We don't want to recompile everything when only changing a prototype
hlist="$hlist paridecl"

OBJS=''
for f in $kernel $basemath $modules $language; do
  OBJS="$OBJS $f.o"
done
OBJSGP=''
OBJSDGP=''
for f in $gp $graph; do
  OBJSGP="$OBJSGP $f.o"
  OBJSDGP="$OBJSDGP $f-dyn.o"
done
OINLINE=''
for f in $inline; do
  if test -n "$__gnuc__" -a "$optimization" != debugging; then
    OINLINE="$OINLINE $f.o"
  else
    OBJS="$OBJS $f.o"
  fi
done

case "$which_graphic_lib" in
none)
  PLOTFILE=plotnull.c
  PLOTCFLAGS=
  PLOTLIBS=
  plotrunpath=
  ;;
gnuplot)
  PLOTFILE=plotgnuplot.c
  PLOTCFLAGS=
  GNUPLOT_OBJS="bitmap.o term.o util.o version.o stdfn.o"
  PLOTLIBS="$gnuplot_libs"
  plotrunpath=
  case "$osname" in
    os2) libgnuplot=$gnuplot/gnuplot.a;;
    *) libgnuplot=$gnuplot/libgnuplot.a;;
  esac
  ;;
sunview)
  PLOTFILE=plotsun.c
  PLOTCFLAGS=
  PLOTLIBS='-lsuntool -lsunwindow -lpixrect'
  plotrunpath=
  ;;
X11)
  PLOTFILE=plotX.c
  PLOTCFLAGS=-I$Xincroot
  PLOTLIBS="-L$X11 -lX11 $extralib"
  if test "$osname" = concentrix; then PLOTLIBS="-lX11"; fi
  plotrunpath=$X11
  ;;
esac

case "$runpathprefix" in
  -R) RUNPTH_FINAL="-R$runpath"
      if test -n "$plotrunpath"; then
        RUNPTH_FINAL="$RUNPTH_FINAL -R$plotrunpath"
      fi
      RUNPTH="-R$TOP/$objdir $RUNPTH_FINAL";;
  *-rpath*)
      tmp="$runpath:$plotrunpath"
      RUNPTH_FINAL="$runpathprefix $tmp"
      RUNPTH="$runpathprefix $TOP/$objdir:$tmp";;
esac

if test -z "$DLLD"; then
  exec="gp-sta"; static=y
else
  exec="gp-sta gp-dyn"
fi
doexec="env \"LD_LIBRARY_PATH=.;\$\$LD_LIBRARY_PATH\" $src/test/dotest $sizeof_long"
if test -z "$emacs"; then
  install_emacs_files=
  pari_elc=
else
  install_emacs_files=install_emacs_files
  pari_elc=$emx/pari.elc
fi
case "$static" in
  n) dft=dyn; libdft=lib-dyn;;
  y) dft=sta; libdft= ;;
esac

cat > $file << EOT
# Makefile for Pari/GP -- $pretty
#
#  This file was created by Configure. Any change made to it will be
#  lost when Configure is run.
#
SHELL      = $make_sh

AS         = $AS
ASFLAGS    = $ASFLAGS

CC         = $CC
CPPFLAGS   = -I. -I$src/headers
CFLAGS     = $cflags
LD         = $LD
LDFLAGS    = $LDFLAGS
DLLD       = $DLLD
DLLDFLAGS  = $DLLDFLAGS
EXTRADLLDFLAGS  = $EXTRADLLDFLAGS
CPP        = $CPP

RUNPTH       = $RUNPTH
RUNPTH_FINAL = $RUNPTH_FINAL
LDDYN        = $LDDYN
DLCFLAGS     = $DLCFLAGS
LIBS = -lm $LIBS
DYNLIBS      = $DYNLIBS
DYNFLAGS     = $DYNFLAGS
DYNRELOC     = $DYNRELOC

RM = rm -f
MV = mv -f
LN = $ln_s

# Change these installation directories to suit your needs.

LIBDIR = $libdir
BINDIR = $bindir
DATADIR= $datadir
MANDIR = $mandir
MISCDIR = $miscdir
INCLUDEDIR = $includedir

INSTALL = $cfg/install
INSTALL_PROGRAM = \$(INSTALL)
INSTALL_DATA = \$(INSTALL) -m 644

# Graphic library.
PLOTFILE   = $PLOTFILE
PLOTCFLAGS = $PLOTCFLAGS
PLOTLIBS   = $PLOTLIBS
GNUPLOT_OBJS = $GNUPLOT_OBJS
# Try uncommenting this line if you're using X11 and linking fails:
#  PLOTLIBS=-L$X11 -lX11

EOT
if test -n "$readline"; then
cat >> $file << EOT

RLINCLUDE = $RLINCLUDE
RLLIBS    = $RLLIBS

EOT
fi

case "$ln_s" in
  *cp*) ln_objdir=".";;
  *)    ln_objdir="$objdir"
esac

cat >> $file << EOT
TOPLDDYN     = -L$TOP/$objdir \$(RLLIBS)

OBJS   = $OBJS
OBJSGP = $OBJSGP
OBJSDGP = $OBJSDGP
OINLINE = $OINLINE

dft: gp $pari_elc
	-

gp: gp-$dft ../gp$suffix$exe_suff $libdft
	-

../gp$suffix$exe_suff: gp-$dft
	-\$(RM) \$@
	-\$(LN) $ln_objdir/gp-$dft$exe_suff \$@

all: $exec lib-sta

lib-sta: libpari.a
lib-dyn: libpari.$somake

libpari.a: \$(OBJS) \$(OINLINE)
	-\$(RM) \$@
	ar r \$@  \$(OBJS) \$(OINLINE)
EOT
if test -n "$ranlib"; then
cat >> $file << EOT

EOT
fi
cat >> $file << EOT

gp-sta: \$(OBJS) \$(OBJSGP) \$(GNUPLOT_OBJS)
	\$(RM) \$@
	\$(LD) -o \$@ \$(LDFLAGS) \$(OBJS) \$(OBJSGP) \$(GNUPLOT_OBJS) \$(RUNPTH) \$(RLLIBS) \$(PLOTLIBS) \$(LIBS)
EOT

cat >> $file << EOT

bench: $exec dobench
test-compat: $exec dotest-compat
test-graphic: $exec dotest-graphic

cleantest:
	\$(RM) out.* pari.ps

dobench::
	@$doexec
dotest-compat::
	@$doexec -c
dotest-graphic::
	@$doexec -g

clean: cleantest
	-\$(RM) *.o *.s pariinl.h libpari.* $exec

.headers: $HEADERS
	@touch \$@

install: install-lib-$dft install-include install-bin install-man install-misc install-data install-doc

install-include:
	-mkdir -p \$(INCLUDEDIR)
	\$(INSTALL_DATA) paricfg.h                 \$(INCLUDEDIR)
	-for i in $khlist; do \\
	   \$(INSTALL_DATA) \$\$i.h                \$(INCLUDEDIR); done
	-for i in $hlist; do \\
	   \$(INSTALL_DATA) $src/headers/\$\$i.h   \$(INCLUDEDIR); done
	-\$(RM) \$(INCLUDEDIR)/genpari.h
	-\$(LN) pari.h \$(INCLUDEDIR)/genpari.h

install-bin: install-bin-$dft

install-bin-dyn: gp-dyn
	-mkdir -p \$(BINDIR)
	-\$(RM) \$(BINDIR)/gp-$version \$(BINDIR)/gp$exe_suff
	-\$(LD) -o \$(BINDIR)/gp-$version \$(LDFLAGS) \$(OBJSGP) \$(RUNPTH_FINAL) \$(TOPLDDYN) \$(LDDYN) \$(PLOTLIBS) \$(LIBS)
	strip \$(BINDIR)/gp-$version
	-\$(LN) gp-$version$exe_suff \$(BINDIR)/gp$exe_suff

install-bin-sta: gp-sta
	-mkdir -p \$(BINDIR)
	-\$(RM) \$(BINDIR)/gp-$version \$(BINDIR)/gp$exe_suff
	\$(INSTALL_PROGRAM) gp-sta$exe_suff \$(BINDIR)/gp-$version$exe_suff
	-\$(LN) gp-$version$exe_suff \$(BINDIR)/gp$exe_suff
# Can't strip it if we want install() to work on Linux or OSF.
#	strip \$(BINDIR)/gp-$version

install-man::
	-mkdir -p \$(MANDIR)
	\$(INSTALL_DATA) $doc/gphelp.1 \$(MANDIR)
	\$(INSTALL_DATA) $doc/gp.1 \$(MANDIR)
	-\$(RM) \$(MANDIR)/pari.1
	-\$(LN) \$(MANDIR)/gp.1 \$(MANDIR)/pari.1

install-misc: $install_emacs_files
	-mkdir -p \$(MISCDIR)
	\$(INSTALL_PROGRAM) $doc/gphelp       \$(BINDIR)
	\$(INSTALL_DATA)    $doc/translations \$(MISCDIR)

install-doc:
	-cd $doc; \$(MAKE) all
	-\$(INSTALL_DATA) $doc/paricfg.tex   \$(MISCDIR)
	-\$(INSTALL_DATA) $doc/parimacro.tex \$(MISCDIR)
	-\$(INSTALL_DATA) $doc/usersch1.tex \$(MISCDIR)
	-\$(INSTALL_DATA) $doc/usersch2.tex \$(MISCDIR)
	-\$(INSTALL_DATA) $doc/usersch3.tex \$(MISCDIR)
	-\$(INSTALL_DATA) $doc/usersch4.tex \$(MISCDIR)
	-\$(INSTALL_DATA) $doc/usersch5.tex \$(MISCDIR)
	-\$(INSTALL_DATA) $doc/users.dvi    \$(MISCDIR)
	-\$(INSTALL_DATA) $doc/tutorial.dvi \$(MISCDIR)
	-\$(INSTALL_DATA) $doc/refcard.dvi  \$(MISCDIR)
	-\$(INSTALL_DATA) $doc/refcard.ps   \$(MISCDIR)

install-data:
	-mkdir -p \$(DATADIR)
	@-for f in $data/*; do \$(INSTALL_DATA)  \$\$f \$(DATADIR); done 2>/dev/null

install-lib-sta: libpari.a
	-mkdir -p \$(LIBDIR)
	-\$(RM) \$(LIBDIR)/libpari.a
	\$(INSTALL_DATA) libpari.a \$(LIBDIR)/libpari.a.$version
	-\$(LN) libpari.a.$version \$(LIBDIR)/libpari.a

install-lib-dyn: libpari.$somake
	-mkdir -p \$(LIBDIR)
	-\$(RM) \$(LIBDIR)/libpari.$sodest
	\$(INSTALL_DATA) libpari.$sodest \$(LIBDIR)/libpari.$sodest
EOT
if test "$somake" != "$sodest"; then
  cat >> $file << EOT
	-\$(RM) \$(LIBDIR)/libpari.$somake
	-\$(LN) libpari.$sodest \$(LIBDIR)/libpari.$somake
	-\$(RM) \$(LIBDIR)/libpari.$DLSUFFIX
	-\$(LN) libpari.$sodest \$(LIBDIR)/libpari.$DLSUFFIX

EOT
fi

if test -z "$DLLD"; then
  cat >> $file << EOT

libpari.$somake::
	@echo "Configure could not find a way to build a shared library on this machine."

EOT
else
  if test -z "$DYNLIBS"; then
    cat >> $file << EOT
gp-dyn: \$(OBJSGP) libpari.$somake \$(GNUPLOT_OBJS)
	\$(RM) \$@
	\$(LD) -o \$@ \$(LDFLAGS) \$(OBJSGP) \$(GNUPLOT_OBJS) \$(RUNPTH) \$(TOPLDDYN) \$(LDDYN) \$(PLOTLIBS) \$(LIBS)

libpari.$somake: \$(OBJS) \$(OINLINE)
	-\$(RM) libpari.$somake
	\$(DLLD) -o \$@ \$(DLLDFLAGS) \$(OBJS) \$(OINLINE) \$(EXTRADLLDFLAGS)
EOT
# CYGWIN32 FIXME: somake & sodest make no difference...
    if test "$somake" != "$sodest"; then
      cat >> $file << EOT
	-\$(RM) libpari.$sodest
	-\$(MV) libpari.$somake libpari.$sodest
	-\$(LN) libpari.$sodest libpari.$somake
	-\$(RM) libpari.$DLSUFFIX
	-\$(LN) libpari.$sodest libpari.$DLSUFFIX
EOT
    fi
  else
    cat >> $file << EOT
gp-dyn: \$(OBJSDGP) libpari.$somake
	\$(RM) \$@
	\$(LD) -o \$@ \$(LDFLAGS) \$(OBJSDGP) \$(RUNPTH) \$(TOPLDDYN) \$(LDDYN) \$(PLOTLIBS) \$(LIBS) \$(DYNLIBS)
EOT
  fi
fi

if test -n "$GNUPLOT_OBJS"; then
cat >> $file << EOT
\$(GNUPLOT_OBJS):
	ar x $libgnuplot \$(GNUPLOT_OBJS)

EOT
fi

if test -n "$emacs"; then
  cat >> $file << EOT
$pari_elc: $emx/pari.el
	@echo "Byte-Compiling pari.el..."
	-cd $emx; $emacs -batch -l compile

$install_emacs_files: $pari_elc
	-mkdir -p \$(MISCDIR)
	-\$(INSTALL_DATA)   $pari_elc           \$(MISCDIR)
	\$(INSTALL_DATA)    $emx/pari.el        \$(MISCDIR)
	\$(INSTALL_DATA)    $emx/pariemacs.txt  \$(MISCDIR)
	\$(INSTALL_DATA)    $emx/with-syntax.el     \$(MISCDIR)
	\$(INSTALL_DATA)    $emx/pari-translator.el \$(MISCDIR)
EOT
fi

if test -s $src_dir/kernel/$asmarch/Makefile.SH; then
  . $src_dir/kernel/$asmarch/Makefile.SH rules
else
  echo "No Makefile for asmarch $asmarch !" >&2
fi

HUGELINE=
for dir in basemath modules language gp graph gpdyn graphdyn; do
  eval list='$'$dir
  for f in $list; do

  source="$src/$dir/$f.c"
  depend=
  cflags=
  case "$f" in
  plot)
    source="$src/graph/\$(PLOTFILE)"
    cflags="\$(PLOTCFLAGS)"
    depend="$src/graph/rect.h"
    ;;
  gp|gp_rl)
    cflags="-I$src/language \$(RLINCLUDE)"
    depend="$src/language/anal.h $src/gp/gp.h ./paricfg.h"
    ;;
  gp_init|plotport)
    cflags="-I$src/graph"
    depend="$src/graph/rect.h"
    ;;
  plot-dyn)
    source="$src/graph/\$(PLOTFILE)"
    cflags="\$(DYNFLAGS) \$(PLOTCFLAGS)"
    depend="$src/graph/rect.h libpari.dll libpari_dll.h libpari_globals.h libpari.dll"
    ;;
  gp-dyn|gp_rl-dyn)
    source=$src\/`echo $dir | sed -e "s/dyn//"`\/`echo $f | cut -f1 -d-`.c
    cflags="\$(DYNFLAGS) -I$src/language \$(RLINCLUDE)"
    depend="$src/language/anal.h $src/gp/gp.h ./paricfg.h libpari_dll.h libpari_globals.h libpari.dll"
    ;;
  gp_init-dyn|plotport-dyn)
    source=$src\/`echo $dir | sed -e "s/dyn//"`\/`echo $f | cut -f1 -d-`.c
    cflags="\$(DYNFLAGS) -I$src/graph"
    depend="$src/graph/rect.h libpari_dll.h libpari_globals.h libpari.dll"
    ;;
  init|es|sumiter)
    depend="$src/language/anal.h"
    ;;
  anal)
    depend="$src/language/anal.h $src/headers/parinf.h"
    ;;
  base1|bibli1|buch2)
    depend="$src/headers/parinf.h"
    ;;
  esac

HUGELINE="$HUGELINE
$f.o: .headers $depend $source
	\$(CC) -c \$(CFLAGS) \$(CPPFLAGS) $cflags -o $f.o $source"
  done
done
#to avoid execing too many "cat".
echo "$HUGELINE" >> $file

if test -n "$DYNFLAGS"; then
  echo "include Makefile.DLLs" >> $file
  cp $config_dir/Makefile.DLLs $objdir
fi