tomsfastmath/makefile

160 lines
5.2 KiB
Makefile
Raw Normal View History

2004-08-25 04:43:43 +02:00
#makefile for TomsFastMath
#
#
2007-03-14 18:58:46 +01:00
VERSION=0.12
2005-08-01 18:37:35 +02:00
2007-03-14 18:58:46 +01:00
CFLAGS += -Wall -W -Wshadow -Isrc/headers
2005-08-01 18:37:35 +02:00
2005-11-18 06:16:25 +01:00
ifndef MAKE
MAKE=make
endif
2005-08-01 18:37:35 +02:00
ifndef IGNORE_SPEED
2006-04-06 21:49:03 +02:00
CFLAGS += -O3 -funroll-loops
2004-08-25 04:43:43 +02:00
#profiling
#PROF=-pg -g
#CFLAGS += $(PROF)
#speed
CFLAGS += -fomit-frame-pointer
2005-08-01 18:37:35 +02:00
endif
2004-08-25 04:43:43 +02:00
2007-03-14 18:58:46 +01:00
#START_INS
OBJECTS=src/addsub/fp_add.o src/addsub/fp_add_d.o src/addsub/fp_addmod.o src/addsub/fp_cmp.o \
src/addsub/fp_cmp_d.o src/addsub/fp_cmp_mag.o src/addsub/fp_sub.o src/addsub/fp_sub_d.o \
src/addsub/fp_submod.o src/addsub/s_fp_add.o src/addsub/s_fp_sub.o src/bin/fp_radix_size.o \
src/bin/fp_read_radix.o src/bin/fp_read_signed_bin.o src/bin/fp_read_unsigned_bin.o \
2014-06-12 18:16:06 +02:00
src/bin/fp_reverse.o src/bin/fp_signed_bin_size.o src/bin/fp_s_rmap.o src/bin/fp_toradix.o \
src/bin/fp_to_signed_bin.o src/bin/fp_to_unsigned_bin.o src/bin/fp_unsigned_bin_size.o \
src/bit/fp_cnt_lsb.o src/bit/fp_count_bits.o src/bit/fp_div_2.o src/bit/fp_div_2d.o src/bit/fp_lshd.o \
src/bit/fp_mod_2d.o src/bit/fp_rshd.o src/divide/fp_div.o src/divide/fp_div_d.o src/divide/fp_mod.o \
src/divide/fp_mod_d.o src/exptmod/fp_2expt.o src/exptmod/fp_exptmod.o src/misc/fp_ident.o \
src/misc/fp_set.o src/mont/fp_montgomery_calc_normalization.o src/mont/fp_montgomery_reduce.o \
src/mont/fp_montgomery_setup.o src/mul/fp_mul_2.o src/mul/fp_mul_2d.o src/mul/fp_mul.o \
src/mul/fp_mul_comba_12.o src/mul/fp_mul_comba_17.o src/mul/fp_mul_comba_20.o src/mul/fp_mul_comba_24.o \
src/mul/fp_mul_comba_28.o src/mul/fp_mul_comba_32.o src/mul/fp_mul_comba_3.o src/mul/fp_mul_comba_48.o \
src/mul/fp_mul_comba_4.o src/mul/fp_mul_comba_64.o src/mul/fp_mul_comba_6.o src/mul/fp_mul_comba_7.o \
src/mul/fp_mul_comba_8.o src/mul/fp_mul_comba_9.o src/mul/fp_mul_comba.o \
2007-03-14 18:58:46 +01:00
src/mul/fp_mul_comba_small_set.o src/mul/fp_mul_d.o src/mul/fp_mulmod.o src/numtheory/fp_gcd.o \
src/numtheory/fp_invmod.o src/numtheory/fp_isprime.o src/numtheory/fp_lcm.o \
src/numtheory/fp_prime_miller_rabin.o src/numtheory/fp_prime_random_ex.o src/sqr/fp_sqr.o \
2014-06-12 18:16:06 +02:00
src/sqr/fp_sqr_comba_12.o src/sqr/fp_sqr_comba_17.o src/sqr/fp_sqr_comba_20.o src/sqr/fp_sqr_comba_24.o \
src/sqr/fp_sqr_comba_28.o src/sqr/fp_sqr_comba_32.o src/sqr/fp_sqr_comba_3.o src/sqr/fp_sqr_comba_48.o \
src/sqr/fp_sqr_comba_4.o src/sqr/fp_sqr_comba_64.o src/sqr/fp_sqr_comba_6.o src/sqr/fp_sqr_comba_7.o \
src/sqr/fp_sqr_comba_8.o src/sqr/fp_sqr_comba_9.o src/sqr/fp_sqr_comba.o src/sqr/fp_sqr_comba_generic.o \
src/sqr/fp_sqr_comba_small_set.o src/sqr/fp_sqrmod.o
2007-03-14 18:58:46 +01:00
2014-06-12 17:35:54 +02:00
HEADERS=src/headers/tfm.h
2007-03-14 18:58:46 +01:00
#END_INS
2005-07-23 12:43:03 +02:00
ifndef LIBPATH
LIBPATH=/usr/lib
endif
ifndef INCPATH
INCPATH=/usr/include
endif
2005-08-01 18:37:35 +02:00
ifndef INSTALL_GROUP
2005-07-23 12:43:03 +02:00
GROUP=wheel
2005-08-01 18:37:35 +02:00
else
GROUP=$(INSTALL_GROUP)
2005-07-23 12:43:03 +02:00
endif
2005-08-01 18:37:35 +02:00
ifndef INSTALL_USER
2005-07-23 12:43:03 +02:00
USER=root
2005-08-01 18:37:35 +02:00
else
USER=$(INSTALL_USER)
2005-07-23 12:43:03 +02:00
endif
ifndef LIBNAME
LIBNAME=libtfm.a
endif
2005-08-01 18:37:35 +02:00
default: $(LIBNAME)
2005-07-23 12:43:03 +02:00
$(LIBNAME): $(OBJECTS)
2005-08-01 18:37:35 +02:00
$(AR) $(ARFLAGS) $@ $(OBJECTS)
ranlib $@
2005-07-23 12:43:03 +02:00
2005-08-01 18:37:35 +02:00
install: $(LIBNAME)
2005-07-23 12:43:03 +02:00
install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH)
install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH)
install -g $(GROUP) -o $(USER) $(LIBNAME) $(DESTDIR)$(LIBPATH)
install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH)
2004-08-25 04:43:43 +02:00
2006-04-06 21:49:03 +02:00
mtest/mtest: mtest/mtest.o
2005-11-18 06:16:25 +01:00
cd mtest ; CFLAGS="$(CFLAGS) -I../" MAKE=${MAKE} ${MAKE} mtest
2004-08-25 04:43:43 +02:00
test: $(LIBNAME) demo/test.o
2005-08-01 18:37:35 +02:00
$(CC) $(CFLAGS) demo/test.o $(LIBNAME) $(PROF) -o test
2004-08-25 04:43:43 +02:00
2005-08-01 18:37:35 +02:00
timing: $(LIBNAME) demo/test.o
$(CC) $(CFLAGS) demo/test.o $(LIBNAME) $(PROF) -o test
2007-03-14 18:58:46 +01:00
profiled:
CFLAGS="${CFLAGS} -fprofile-generate" MAKE=${MAKE} ${MAKE} timing
./test
rm -f `find . -type f | grep "[.]o" | xargs`
rm -f `find . -type f | grep "[.]a" | xargs`
rm -f test
CFLAGS="${CFLAGS} -fprofile-use" MAKE=${MAKE} ${MAKE} timing
2005-07-23 12:43:03 +02:00
2014-06-12 17:35:54 +02:00
stest: $(LIBNAME) demo/stest.o
2005-08-01 18:37:35 +02:00
$(CC) $(CFLAGS) demo/stest.o $(LIBNAME) -o stest
2005-07-23 12:43:03 +02:00
2005-08-01 18:37:35 +02:00
rsatest: $(LIBNAME) demo/rsa.o
$(CC) $(CFLAGS) demo/rsa.o $(LIBNAME) -o rsatest
2004-08-25 04:43:43 +02:00
docdvi: tfm.tex
touch tfm.ind
latex tfm >/dev/null
latex tfm >/dev/null
makeindex tfm
latex tfm >/dev/null
docs: docdvi
latex tfm >/dev/null
dvipdf tfm
mv -f tfm.pdf doc
2005-08-01 18:37:35 +02:00
#This rule cleans the source tree of all compiled code, not including the pdf
#documentation.
2004-08-25 04:43:43 +02:00
clean:
2005-08-01 18:37:35 +02:00
rm -f `find . -type f | grep "[.]o" | xargs`
rm -f `find . -type f | grep "[.]lo" | xargs`
rm -f `find . -type f | grep "[.]a" | xargs`
rm -f `find . -type f | grep "[.]la" | xargs`
rm -f `find . -type f | grep "[.]obj" | xargs`
rm -f `find . -type f | grep "[.]lib" | xargs`
rm -f `find . -type f | grep "[.]exe" | xargs`
rm -f `find . -type f | grep "[.]gcda" | xargs`
rm -f `find . -type f | grep "[.]gcno" | xargs`
rm -f `find . -type f | grep "[.]il" | xargs`
rm -f `find . -type f | grep "[.]dyn" | xargs`
rm -f `find . -type f | grep "[.]dpi" | xargs`
rm -rf `find . -type d | grep "[.]libs" | xargs`
2006-11-01 08:42:37 +01:00
rm -f tfm.aux tfm.dvi tfm.idx tfm.ilg tfm.ind tfm.lof tfm.log tfm.toc test mtest/mtest
2005-11-18 06:16:25 +01:00
cd mtest ; MAKE=${MAKE} ${MAKE} clean
2004-08-25 04:43:43 +02:00
2005-07-23 12:43:03 +02:00
no_oops: clean
cd .. ; cvs commit
echo Scanning for scratch/dirty files
find . -type f | grep -v CVS | xargs -n 1 bash mess.sh
zipup: no_oops docs clean
2004-08-25 04:43:43 +02:00
perl gen.pl ; mv mpi.c pre_gen/ ; \
cd .. ; rm -rf tfm* tomsfastmath-$(VERSION) ; mkdir tomsfastmath-$(VERSION) ; \
cp -R ./tomsfastmath/* ./tomsfastmath-$(VERSION)/ ; \
tar -c tomsfastmath-$(VERSION)/* | bzip2 -9vvc > tfm-$(VERSION).tar.bz2 ; \
2005-11-18 06:16:25 +01:00
zip -9r tfm-$(VERSION).zip tomsfastmath-$(VERSION)/* ; \
mv -f tfm* ~ ; rm -rf tomsfastmath-$(VERSION)
2005-08-01 18:37:35 +02:00
2014-06-12 17:35:54 +02:00
# $Source$
# $Revision$
# $Date$