home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 5
/
FreshFish_July-August1994.bin
/
bbs
/
gnu
/
gmp-1.3.2-src.lha
/
src
/
amiga
/
gmp-1.3.2
/
Makefile.in
< prev
next >
Wrap
Makefile
|
1994-05-04
|
15KB
|
370 lines
# Makefile for GNU MP (a.k.a. biGNUm)
# Copyright (C) 1991, 1993 Free Software Foundation, Inc.
# This file is part of the GNU MP Library.
# The GNU MP Library is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# The GNU MP Library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with the GNU MP Library; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
#### Start of system configuration section. ####
VPATH = @srcdir@
srcdir = @srcdir@
# Common prefix for machine-independent installed files.
prefix = /gnu
# Common prefix for machine-dependent installed files.
exec_prefix = $(prefix)
# Directory to install executables in.
bindir = $(exec_prefix)/bin
# Directory to install libraries in.
libdir = $(exec_prefix)/lib
# Directory to install the Info files in.
infodir = $(prefix)/info
# Directory to install the man page in.
mandir = $(prefix)/man/man$(manext)
# Number to put on the man page filename.
manext = 1
# Program to install executables.
INSTALL_PROGRAM = @INSTALL_PROGRAM@
# Program to install data like man pages.
INSTALL_DATA = @INSTALL_DATA@
# Generic install program.
INSTALL = @INSTALL@
CC = @CC@
DEFS = @DEFS@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
RANLIB = @RANLIB@
LN = @LN_S@
#### End of system configuration section. ####
.c.o:
$(CC) -c -I. -I$(srcdir) $(DEFS) $(CFLAGS) $< $(OUTPUT_OPTION)
AR = ar
SHELL = /bin/sh
TEX = tex
TEXINDEX = texindex
SRCS = $(MPZ_SRCS) $(MPQ_SRCS) $(BSDMP_SRCS) $(MPN_SRCS) \
$(IMPL_SRCS)
OBJS = $(MPZ_OBJS) $(MPQ_OBJS) $(BSDMP_OBJS) $(MPN_OBJS) \
$(IMPL_OBJS)
MP_OBJS = $(BSDMP_OBJS) $(MPN_OBJS) $(IMPL_OBJS) mp_bases.o \
mpz_sizeinb.o
GMP_OBJS = $(MPZ_OBJS) $(MPQ_OBJS) $(MPN_OBJS) $(IMPL_OBJS) mp_bases.o
IMPL_SRCS = memory.c mp_set_fns.c _mpz_set_str.c _mpz_get_str.c \
mpz_realloc.c mp_clz_tab.c alloca.c
IMPL_OBJS = memory.o mp_set_fns.o _mpz_set_str.o _mpz_get_str.o \
mpz_realloc.o mp_clz_tab.o alloca.o
MPZ_SRCS = mpz_init.c mpz_set.c mpz_set_ui.c mpz_set_si.c \
mpz_set_str.c mpz_iset.c mpz_iset_ui.c mpz_iset_si.c \
mpz_iset_str.c mpz_clear.c mpz_get_ui.c mpz_get_si.c \
mpz_get_str.c mpz_size.c mpz_sizeinb.c mpz_add.c \
mpz_add_ui.c mpz_sub.c mpz_sub_ui.c mpz_mul.c mpz_mul_ui.c \
mpz_div.c mpz_div_ui.c mpz_mod.c mpz_mod_ui.c mpz_dm.c \
mpz_dm_ui.c mpz_mdiv.c mpz_mmod.c mpz_mdm.c mpz_mdiv_ui.c \
mpz_mmod_ui.c mpz_mdm_ui.c mpz_gcd.c mpz_gcdext.c \
mpz_sqrt.c mpz_sqrtrem.c mpz_powm.c mpz_powm_ui.c \
mpz_cmp.c mpz_cmp_ui.c mpz_cmp_si.c mpz_mul_2exp.c \
mpz_div_2exp.c mpz_mod_2exp.c mpz_abs.c mpz_neg.c \
mpz_com.c mpz_and.c mpz_ior.c mpz_inp_raw.c mpz_inp_str.c \
mpz_out_raw.c mpz_out_str.c mpz_perfsqr.c mpz_random.c \
mpz_random2.c mpz_pow_ui.c mpz_clrbit.c mpz_fac_ui.c \
mpz_pprime_p.c
MPZ_OBJS = mpz_init.o mpz_set.o mpz_set_ui.o mpz_set_si.o \
mpz_set_str.o mpz_iset.o mpz_iset_ui.o mpz_iset_si.o \
mpz_iset_str.o mpz_clear.o mpz_get_ui.o mpz_get_si.o \
mpz_get_str.o mpz_size.o mpz_sizeinb.o mpz_add.o \
mpz_add_ui.o mpz_sub.o mpz_sub_ui.o mpz_mul.o mpz_mul_ui.o \
mpz_div.o mpz_div_ui.o mpz_mod.o mpz_mod_ui.o mpz_dm.o \
mpz_dm_ui.o mpz_mdiv.o mpz_mmod.o mpz_mdm.o mpz_mdiv_ui.o \
mpz_mmod_ui.o mpz_mdm_ui.o mpz_gcd.o mpz_gcdext.o \
mpz_sqrt.o mpz_sqrtrem.o mpz_powm.o mpz_powm_ui.o \
mpz_cmp.o mpz_cmp_ui.o mpz_cmp_si.o mpz_mul_2exp.o \
mpz_div_2exp.o mpz_mod_2exp.o mpz_abs.o mpz_neg.o \
mpz_com.o mpz_and.o mpz_ior.o mpz_inp_raw.o mpz_inp_str.o \
mpz_out_raw.o mpz_out_str.o mpz_perfsqr.o mpz_random.o \
mpz_random2.o mpz_pow_ui.o mpz_clrbit.o mpz_fac_ui.o \
mpz_pprime_p.o
MPQ_SRCS = mpq_init.c mpq_set.c mpq_set_ui.c mpq_set_si.c \
mpq_set_num.c mpq_set_den.c mpq_get_num.c mpq_get_den.c \
mpq_add.c mpq_sub.c mpq_mul.c mpq_div.c \
mpq_clear.c mpq_cmp.c mpq_inv.c mpq_neg.c
MPQ_OBJS = mpq_init.o mpq_set.o mpq_set_ui.o mpq_set_si.o \
mpq_set_num.o mpq_set_den.o mpq_get_num.o mpq_get_den.o \
mpq_add.o mpq_sub.o mpq_mul.o mpq_div.o \
mpq_clear.o mpq_cmp.o mpq_inv.o mpq_neg.o
MPN_SRCS = mpn_add.c mpn_sub.c mpn_cmp.c mpn_mul.c mpn_div.c \
mpn_dm_1.c mpn_mod_1.c mpn_lshift.c mpn_rshift.c \
mpn_rshiftci.c mpn_sqrt.c
MPN_OBJS = mpn_add.o mpn_sub.o mpn_cmp.o mpn_mul.o mpn_div.o \
mpn_dm_1.o mpn_mod_1.o mpn_lshift.o mpn_rshift.o \
mpn_rshiftci.o mpn_sqrt.o
# There are fewer members in the BSDMP_SRCS list that in the BSDMP_OBJS
# list because some of the .c files are created by this Makefile.
BSDMP_SRCS = itom.c mdiv.c move.c mtox.c xtom.c sdiv.c mout.c min.c \
mfree.c
BSDMP_OBJS = gcd.o itom.o madd.o mcmp.o mdiv.o move.o msub.o mtox.o \
mult.o pow.o rpow.o xtom.o msqrt.o sdiv.o mout.o min.o \
mfree.o
all: libgmp.a libmp.a
check: libgmp.a
cd tests; $(MAKE) CC="$(CC)" SHELL="$(SHELL)" OPT="$(OPT)"
libgmp.a: stamp-stddefh $(GMP_OBJS)
rm -f $@
$(AR) cr $@ $(GMP_OBJS)
$(RANLIB) $@
# libmp.a depend on libgmp.a, to get around Unix(tm) ar/ranlib concurrency
# bug.
libmp.a: stamp-stddefh $(MP_OBJS) libgmp.a
rm -f $@
$(AR) cr $@ $(MP_OBJS)
$(RANLIB) $@
stamp-stddefh:
rm -f stddef.h
rm -f test-stddefh.c
(echo '#include <stddef.h>' ;\
echo 'main(){size_t foo=sizeof(size_t);exit(0);}' ;\
) > test-stddefh.c
@if $(CC) $(DEFS) $(CFLAGS) test-stddefh.c -c 2> /dev/null;\
then true ;\
else \
echo 'This machine has no "stddef.h". Creating a minimal in ./';\
$(CC) $(DEFS) $(CFLAGS) $(srcdir)/cre-stddefh.c -o cre-stddefh ;\
./cre-stddefh > stddef.h ;\
fi
rm -f test-stddefh.o
touch stamp-stddefh
mp_bases.c: cre-conv-tab
./cre-conv-tab > tmp-$@
mv tmp-$@ $@
cre-conv-tab.o: cre-conv-tab.c gmp.h gmp-impl.h gmp-mparam.h longlong.h
cre-conv-tab: cre-conv-tab.o
$(CC) $(LDFLAGS) cre-conv-tab.o -o $@ -lm
gmp-mparam.h: cre-mparam
./cre-mparam > tmp-$@
mv tmp-$@ $@
cre-mparam: cre-mparam.c stamp-stddefh gmp.h
$(CC) $(DEFS) $(CFLAGS) $(srcdir)/cre-mparam.c -o $@
gcd.c: mpz_gcd.c stamp-stddefh mp.h gmp.h gmp-impl.h gmp-mparam.h \
longlong.h
$(CC) -I. -I$(srcdir) $(DEFS) $(CFLAGS) -E -DBERKELEY_MP \
$(srcdir)/mpz_gcd.c | grep -v '^#' > $@
pow.c: mpz_powm.c stamp-stddefh mp.h gmp.h gmp-impl.h \
gmp-mparam.h longlong.h
$(CC) -I. -I$(srcdir) $(DEFS) $(CFLAGS) -E -DBERKELEY_MP \
$(srcdir)/mpz_powm.c | grep -v '^#' > $@
rpow.c: mpz_pow_ui.c stamp-stddefh mp.h gmp.h gmp-impl.h \
gmp-mparam.h longlong.h
$(CC) -I. -I$(srcdir) $(DEFS) $(CFLAGS) -E -DBERKELEY_MP \
$(srcdir)/mpz_pow_ui.c | grep -v '^#' > $@
madd.c: mpz_add.c stamp-stddefh mp.h gmp.h gmp-impl.h gmp-mparam.h
$(CC) -I. -I$(srcdir) $(DEFS) $(CFLAGS) -E -DBERKELEY_MP \
$(srcdir)/mpz_add.c | grep -v '^#' > $@
msub.c: mpz_sub.c stamp-stddefh mp.h gmp.h gmp-impl.h gmp-mparam.h
$(CC) -I. -I$(srcdir) $(DEFS) $(CFLAGS) -E -DBERKELEY_MP \
$(srcdir)/mpz_sub.c | grep -v '^#' > $@
mult.c: mpz_mul.c stamp-stddefh mp.h gmp.h gmp-impl.h gmp-mparam.h
$(CC) -I. -I$(srcdir) $(DEFS) $(CFLAGS) -E -DBERKELEY_MP \
$(srcdir)/mpz_mul.c | grep -v '^#' > $@
mcmp.c: mpz_cmp.c stamp-stddefh mp.h gmp.h gmp-impl.h gmp-mparam.h
$(CC) -I. -I$(srcdir) $(DEFS) $(CFLAGS) -E -DBERKELEY_MP \
$(srcdir)/mpz_cmp.c | grep -v '^#' > $@
msqrt.c: mpz_sqrtrem.c stamp-stddefh mp.h gmp.h gmp-impl.h \
gmp-mparam.h
$(CC) -I. -I$(srcdir) $(DEFS) $(CFLAGS) -E -DBERKELEY_MP \
$(srcdir)/mpz_sqrtrem.c | grep -v '^#' > $@
doc: gmp.dvi gmp.info
gmp.dvi: $(srcdir)/gmp.texi
rm -f tmp.texi
$(LN) $(srcdir)/gmp.texi tmp.texi
$(TEX) tmp.texi < /dev/null
$(TEXINDEX) tmp.cp tmp.fn
$(TEX) tmp.texi < /dev/null 2> /dev/null
mv tmp.dvi $@
gmp.info: gmp.texi
makeinfo $(srcdir)/gmp.texi
clean:
rm -f *.o libgmp.a libmp.a cre-conv-tab cre-mparam \
cre-stddefh gmp.dvi gmp.info mp_bases.c \
g