Mercurial > dropbear
comparison libtommath/makefile.shared @ 1436:60fc6476e044
Update to libtommath v1.0
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sat, 24 Jun 2017 22:37:14 +0800 |
parents | 5ff8218bcee9 |
children | 8bba51a55704 |
comparison
equal
deleted
inserted
replaced
1435:f849a5ca2efc | 1436:60fc6476e044 |
---|---|
1 #Makefile for GCC | 1 #Makefile for GCC |
2 # | 2 # |
3 #Tom St Denis | 3 #Tom St Denis |
4 VERSION=0:40 | |
5 | |
6 CC = libtool --mode=compile --tag=CC gcc | |
7 | |
8 CFLAGS += -I./ -Wall -W -Wshadow -Wsign-compare | |
9 | |
10 ifndef IGNORE_SPEED | |
11 | |
12 #for speed | |
13 CFLAGS += -O3 -funroll-loops | |
14 | |
15 #for size | |
16 #CFLAGS += -Os | |
17 | |
18 #x86 optimizations [should be valid for any GCC install though] | |
19 CFLAGS += -fomit-frame-pointer | |
20 | |
21 endif | |
22 | |
23 #install as this user | |
24 ifndef INSTALL_GROUP | |
25 GROUP=wheel | |
26 else | |
27 GROUP=$(INSTALL_GROUP) | |
28 endif | |
29 | |
30 ifndef INSTALL_USER | |
31 USER=root | |
32 else | |
33 USER=$(INSTALL_USER) | |
34 endif | |
35 | |
36 default: libtommath.la | |
37 | 4 |
38 #default files to install | 5 #default files to install |
39 ifndef LIBNAME | 6 ifndef LIBNAME |
40 LIBNAME=libtommath.la | 7 LIBNAME=libtommath.la |
41 endif | 8 endif |
42 ifndef LIBNAME_S | |
43 LIBNAME_S=libtommath.a | |
44 endif | |
45 HEADERS=tommath.h tommath_class.h tommath_superclass.h | |
46 | 9 |
47 #LIBPATH-The directory for libtommath to be installed to. | 10 include makefile.include |
48 #INCPATH-The directory to install the header files for libtommath. | |
49 #DATAPATH-The directory to install the pdf docs. | |
50 DESTDIR= | |
51 LIBPATH=/usr/lib | |
52 INCPATH=/usr/include | |
53 DATAPATH=/usr/share/doc/libtommath/pdf | |
54 | 11 |
55 OBJECTS=bncore.o bn_mp_init.o bn_mp_clear.o bn_mp_exch.o bn_mp_grow.o bn_mp_shrink.o \ | 12 LT ?= libtool |
56 bn_mp_clamp.o bn_mp_zero.o bn_mp_set.o bn_mp_set_int.o bn_mp_init_size.o bn_mp_copy.o \ | 13 LTCOMPILE = $(LT) --mode=compile --tag=CC $(CC) |
57 bn_mp_init_copy.o bn_mp_abs.o bn_mp_neg.o bn_mp_cmp_mag.o bn_mp_cmp.o bn_mp_cmp_d.o \ | 14 |
58 bn_mp_rshd.o bn_mp_lshd.o bn_mp_mod_2d.o bn_mp_div_2d.o bn_mp_mul_2d.o bn_mp_div_2.o \ | 15 LCOV_ARGS=--directory .libs --directory . |
59 bn_mp_mul_2.o bn_s_mp_add.o bn_s_mp_sub.o bn_fast_s_mp_mul_digs.o bn_s_mp_mul_digs.o \ | 16 |
60 bn_fast_s_mp_mul_high_digs.o bn_s_mp_mul_high_digs.o bn_fast_s_mp_sqr.o bn_s_mp_sqr.o \ | 17 #START_INS |
61 bn_mp_add.o bn_mp_sub.o bn_mp_karatsuba_mul.o bn_mp_mul.o bn_mp_karatsuba_sqr.o \ | 18 OBJECTS=bncore.o bn_error.o bn_fast_mp_invmod.o bn_fast_mp_montgomery_reduce.o bn_fast_s_mp_mul_digs.o \ |
62 bn_mp_sqr.o bn_mp_div.o bn_mp_mod.o bn_mp_add_d.o bn_mp_sub_d.o bn_mp_mul_d.o \ | 19 bn_fast_s_mp_mul_high_digs.o bn_fast_s_mp_sqr.o bn_mp_2expt.o bn_mp_abs.o bn_mp_add.o bn_mp_add_d.o \ |
63 bn_mp_div_d.o bn_mp_mod_d.o bn_mp_expt_d.o bn_mp_addmod.o bn_mp_submod.o \ | 20 bn_mp_addmod.o bn_mp_and.o bn_mp_clamp.o bn_mp_clear.o bn_mp_clear_multi.o bn_mp_cmp.o bn_mp_cmp_d.o \ |
64 bn_mp_mulmod.o bn_mp_sqrmod.o bn_mp_gcd.o bn_mp_lcm.o bn_fast_mp_invmod.o bn_mp_invmod.o \ | 21 bn_mp_cmp_mag.o bn_mp_cnt_lsb.o bn_mp_copy.o bn_mp_count_bits.o bn_mp_div_2.o bn_mp_div_2d.o bn_mp_div_3.o \ |
65 bn_mp_reduce.o bn_mp_montgomery_setup.o bn_fast_mp_montgomery_reduce.o bn_mp_montgomery_reduce.o \ | 22 bn_mp_div.o bn_mp_div_d.o bn_mp_dr_is_modulus.o bn_mp_dr_reduce.o bn_mp_dr_setup.o bn_mp_exch.o \ |
66 bn_mp_exptmod_fast.o bn_mp_exptmod.o bn_mp_2expt.o bn_mp_n_root.o bn_mp_jacobi.o bn_reverse.o \ | 23 bn_mp_export.o bn_mp_expt_d.o bn_mp_expt_d_ex.o bn_mp_exptmod.o bn_mp_exptmod_fast.o bn_mp_exteuclid.o \ |
67 bn_mp_count_bits.o bn_mp_read_unsigned_bin.o bn_mp_read_signed_bin.o bn_mp_to_unsigned_bin.o \ | 24 bn_mp_fread.o bn_mp_fwrite.o bn_mp_gcd.o bn_mp_get_int.o bn_mp_get_long.o bn_mp_get_long_long.o \ |
68 bn_mp_to_signed_bin.o bn_mp_unsigned_bin_size.o bn_mp_signed_bin_size.o \ | 25 bn_mp_grow.o bn_mp_import.o bn_mp_init.o bn_mp_init_copy.o bn_mp_init_multi.o bn_mp_init_set.o \ |
69 bn_mp_xor.o bn_mp_and.o bn_mp_or.o bn_mp_rand.o bn_mp_montgomery_calc_normalization.o \ | 26 bn_mp_init_set_int.o bn_mp_init_size.o bn_mp_invmod.o bn_mp_invmod_slow.o bn_mp_is_square.o \ |
70 bn_mp_prime_is_divisible.o bn_prime_tab.o bn_mp_prime_fermat.o bn_mp_prime_miller_rabin.o \ | 27 bn_mp_jacobi.o bn_mp_karatsuba_mul.o bn_mp_karatsuba_sqr.o bn_mp_lcm.o bn_mp_lshd.o bn_mp_mod_2d.o \ |
71 bn_mp_prime_is_prime.o bn_mp_prime_next_prime.o bn_mp_dr_reduce.o \ | 28 bn_mp_mod.o bn_mp_mod_d.o bn_mp_montgomery_calc_normalization.o bn_mp_montgomery_reduce.o \ |
72 bn_mp_dr_is_modulus.o bn_mp_dr_setup.o bn_mp_reduce_setup.o \ | 29 bn_mp_montgomery_setup.o bn_mp_mul_2.o bn_mp_mul_2d.o bn_mp_mul.o bn_mp_mul_d.o bn_mp_mulmod.o bn_mp_neg.o \ |
73 bn_mp_toom_mul.o bn_mp_toom_sqr.o bn_mp_div_3.o bn_s_mp_exptmod.o \ | 30 bn_mp_n_root.o bn_mp_n_root_ex.o bn_mp_or.o bn_mp_prime_fermat.o bn_mp_prime_is_divisible.o \ |
74 bn_mp_reduce_2k.o bn_mp_reduce_is_2k.o bn_mp_reduce_2k_setup.o \ | 31 bn_mp_prime_is_prime.o bn_mp_prime_miller_rabin.o bn_mp_prime_next_prime.o \ |
75 bn_mp_reduce_2k_l.o bn_mp_reduce_is_2k_l.o bn_mp_reduce_2k_setup_l.o \ | 32 bn_mp_prime_rabin_miller_trials.o bn_mp_prime_random_ex.o bn_mp_radix_size.o bn_mp_radix_smap.o \ |
76 bn_mp_radix_smap.o bn_mp_read_radix.o bn_mp_toradix.o bn_mp_radix_size.o \ | 33 bn_mp_rand.o bn_mp_read_radix.o bn_mp_read_signed_bin.o bn_mp_read_unsigned_bin.o bn_mp_reduce_2k.o \ |
77 bn_mp_fread.o bn_mp_fwrite.o bn_mp_cnt_lsb.o bn_error.o \ | 34 bn_mp_reduce_2k_l.o bn_mp_reduce_2k_setup.o bn_mp_reduce_2k_setup_l.o bn_mp_reduce.o \ |
78 bn_mp_init_multi.o bn_mp_clear_multi.o bn_mp_exteuclid.o bn_mp_toradix_n.o \ | 35 bn_mp_reduce_is_2k.o bn_mp_reduce_is_2k_l.o bn_mp_reduce_setup.o bn_mp_rshd.o bn_mp_set.o bn_mp_set_int.o \ |
79 bn_mp_prime_random_ex.o bn_mp_get_int.o bn_mp_sqrt.o bn_mp_is_square.o bn_mp_init_set.o \ | 36 bn_mp_set_long.o bn_mp_set_long_long.o bn_mp_shrink.o bn_mp_signed_bin_size.o bn_mp_sqr.o bn_mp_sqrmod.o \ |
80 bn_mp_init_set_int.o bn_mp_invmod_slow.o bn_mp_prime_rabin_miller_trials.o \ | 37 bn_mp_sqrt.o bn_mp_sqrtmod_prime.o bn_mp_sub.o bn_mp_sub_d.o bn_mp_submod.o bn_mp_toom_mul.o \ |
81 bn_mp_to_signed_bin_n.o bn_mp_to_unsigned_bin_n.o | 38 bn_mp_toom_sqr.o bn_mp_toradix.o bn_mp_toradix_n.o bn_mp_to_signed_bin.o bn_mp_to_signed_bin_n.o \ |
39 bn_mp_to_unsigned_bin.o bn_mp_to_unsigned_bin_n.o bn_mp_unsigned_bin_size.o bn_mp_xor.o bn_mp_zero.o \ | |
40 bn_prime_tab.o bn_reverse.o bn_s_mp_add.o bn_s_mp_exptmod.o bn_s_mp_mul_digs.o bn_s_mp_mul_high_digs.o \ | |
41 bn_s_mp_sqr.o bn_s_mp_sub.o | |
42 | |
43 #END_INS | |
82 | 44 |
83 objs: $(OBJECTS) | 45 objs: $(OBJECTS) |
84 | 46 |
47 .c.o: | |
48 $(LTCOMPILE) $(CFLAGS) $(LDFLAGS) -o $@ -c $< | |
49 | |
85 $(LIBNAME): $(OBJECTS) | 50 $(LIBNAME): $(OBJECTS) |
86 libtool --mode=link gcc *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION) | 51 $(LT) --mode=link --tag=CC $(CC) $(LDFLAGS) *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION_SO) |
87 | 52 |
88 install: $(LIBNAME) | 53 install: $(LIBNAME) |
89 install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH) | 54 install -d $(DESTDIR)$(LIBPATH) |
90 libtool --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME) | 55 install -d $(DESTDIR)$(INCPATH) |
91 install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH) | 56 $(LT) --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME) |
92 install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH) | 57 install -m 644 $(HEADERS_PUB) $(DESTDIR)$(INCPATH) |
93 | 58 |
94 test: $(LIBNAME) demo/demo.o | 59 test: $(LIBNAME) demo/demo.o |
95 gcc $(CFLAGS) -c demo/demo.c -o demo/demo.o | 60 $(CC) $(CFLAGS) -c demo/demo.c -o demo/demo.o |
96 libtool --mode=link gcc -o test demo/demo.o $(LIBNAME_S) | 61 $(LT) --mode=link $(CC) $(LDFLAGS) -o test demo/demo.o $(LIBNAME) |
97 | 62 |
98 mtest: test | 63 test_standalone: $(LIBNAME) demo/demo.o |
99 cd mtest ; gcc $(CFLAGS) mtest.c -o mtest | 64 $(CC) $(CFLAGS) -c demo/demo.c -o demo/demo.o |
100 | 65 $(LT) --mode=link $(CC) $(LDFLAGS) -o test demo/demo.o $(LIBNAME) |
66 | |
67 mtest: | |
68 cd mtest ; $(CC) $(CFLAGS) $(LDFLAGS) mtest.c -o mtest | |
69 | |
101 timing: $(LIBNAME) | 70 timing: $(LIBNAME) |
102 gcc $(CFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest | 71 $(LT) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME) -o ltmtest |