]>
Commit | Line | Data |
---|---|---|
6fac238f | 1 | ACLOCAL_AMFLAGS = -I build-aux/m4 |
f9aac5b0 | 2 | |
78cd96b1 | 3 | lib_LTLIBRARIES = libsecp256k1.la |
3093576a G |
4 | if USE_JNI |
5 | JNI_LIB = libsecp256k1_jni.la | |
6 | noinst_LTLIBRARIES = $(JNI_LIB) | |
7 | else | |
8 | JNI_LIB = | |
9 | endif | |
78cd96b1 CF |
10 | include_HEADERS = include/secp256k1.h |
11 | noinst_HEADERS = | |
a9f5c8b8 | 12 | noinst_HEADERS += src/scalar.h |
1d52a8b1 PW |
13 | noinst_HEADERS += src/scalar_4x64.h |
14 | noinst_HEADERS += src/scalar_8x32.h | |
83836a95 | 15 | noinst_HEADERS += src/scalar_low.h |
a9f5c8b8 | 16 | noinst_HEADERS += src/scalar_impl.h |
1d52a8b1 PW |
17 | noinst_HEADERS += src/scalar_4x64_impl.h |
18 | noinst_HEADERS += src/scalar_8x32_impl.h | |
83836a95 | 19 | noinst_HEADERS += src/scalar_low_impl.h |
78cd96b1 | 20 | noinst_HEADERS += src/group.h |
11ab5622 | 21 | noinst_HEADERS += src/group_impl.h |
78cd96b1 | 22 | noinst_HEADERS += src/num_gmp.h |
11ab5622 | 23 | noinst_HEADERS += src/num_gmp_impl.h |
78cd96b1 | 24 | noinst_HEADERS += src/ecdsa.h |
11ab5622 | 25 | noinst_HEADERS += src/ecdsa_impl.h |
e2f71f1e PW |
26 | noinst_HEADERS += src/eckey.h |
27 | noinst_HEADERS += src/eckey_impl.h | |
78cd96b1 | 28 | noinst_HEADERS += src/ecmult.h |
11ab5622 | 29 | noinst_HEADERS += src/ecmult_impl.h |
44015000 AP |
30 | noinst_HEADERS += src/ecmult_const.h |
31 | noinst_HEADERS += src/ecmult_const_impl.h | |
949c1ebb PW |
32 | noinst_HEADERS += src/ecmult_gen.h |
33 | noinst_HEADERS += src/ecmult_gen_impl.h | |
78cd96b1 | 34 | noinst_HEADERS += src/num.h |
11ab5622 | 35 | noinst_HEADERS += src/num_impl.h |
78cd96b1 | 36 | noinst_HEADERS += src/field_10x26.h |
11ab5622 | 37 | noinst_HEADERS += src/field_10x26_impl.h |
78cd96b1 | 38 | noinst_HEADERS += src/field_5x52.h |
11ab5622 PW |
39 | noinst_HEADERS += src/field_5x52_impl.h |
40 | noinst_HEADERS += src/field_5x52_int128_impl.h | |
41 | noinst_HEADERS += src/field_5x52_asm_impl.h | |
78cd96b1 | 42 | noinst_HEADERS += src/java/org_bitcoin_NativeSecp256k1.h |
3093576a | 43 | noinst_HEADERS += src/java/org_bitcoin_Secp256k1Context.h |
78cd96b1 | 44 | noinst_HEADERS += src/util.h |
548de42e AP |
45 | noinst_HEADERS += src/scratch.h |
46 | noinst_HEADERS += src/scratch_impl.h | |
861f9a59 GM |
47 | noinst_HEADERS += src/testrand.h |
48 | noinst_HEADERS += src/testrand_impl.h | |
bbd5ba7c PW |
49 | noinst_HEADERS += src/hash.h |
50 | noinst_HEADERS += src/hash_impl.h | |
78cd96b1 | 51 | noinst_HEADERS += src/field.h |
11ab5622 | 52 | noinst_HEADERS += src/field_impl.h |
6558a267 | 53 | noinst_HEADERS += src/bench.h |
fea19e7b | 54 | noinst_HEADERS += contrib/lax_der_parsing.h |
eed87af1 | 55 | noinst_HEADERS += contrib/lax_der_parsing.c |
4a243da4 | 56 | noinst_HEADERS += contrib/lax_der_privatekey_parsing.h |
eed87af1 | 57 | noinst_HEADERS += contrib/lax_der_privatekey_parsing.c |
78cd96b1 | 58 | |
001f1763 WL |
59 | if USE_EXTERNAL_ASM |
60 | COMMON_LIB = libsecp256k1_common.la | |
61 | noinst_LTLIBRARIES = $(COMMON_LIB) | |
62 | else | |
63 | COMMON_LIB = | |
64 | endif | |
65 | ||
81b2faeb | 66 | pkgconfigdir = $(libdir)/pkgconfig |
c7ee71f7 AT |
67 | pkgconfig_DATA = libsecp256k1.pc |
68 | ||
001f1763 WL |
69 | if USE_EXTERNAL_ASM |
70 | if USE_ASM_ARM | |
71 | libsecp256k1_common_la_SOURCES = src/asm/field_10x26_arm.s | |
72 | endif | |
73 | endif | |
74 | ||
8881212e | 75 | libsecp256k1_la_SOURCES = src/secp256k1.c |
3093576a | 76 | libsecp256k1_la_CPPFLAGS = -DSECP256K1_BUILD -I$(top_srcdir)/include -I$(top_srcdir)/src $(SECP_INCLUDES) |
001f1763 | 77 | libsecp256k1_la_LIBADD = $(JNI_LIB) $(SECP_LIBS) $(COMMON_LIB) |
e2d66a2c | 78 | |
3093576a G |
79 | libsecp256k1_jni_la_SOURCES = src/java/org_bitcoin_NativeSecp256k1.c src/java/org_bitcoin_Secp256k1Context.c |
80 | libsecp256k1_jni_la_CPPFLAGS = -DSECP256K1_BUILD $(JNI_INCLUDES) | |
8881212e | 81 | |
78cd96b1 CF |
82 | noinst_PROGRAMS = |
83 | if USE_BENCHMARK | |
bc65aa79 | 84 | noinst_PROGRAMS += bench_verify bench_sign bench_internal bench_ecmult |
504c63d7 | 85 | bench_verify_SOURCES = src/bench_verify.c |
001f1763 | 86 | bench_verify_LDADD = libsecp256k1.la $(SECP_LIBS) $(SECP_TEST_LIBS) $(COMMON_LIB) |
fa5c13ff | 87 | bench_sign_SOURCES = src/bench_sign.c |
001f1763 | 88 | bench_sign_LDADD = libsecp256k1.la $(SECP_LIBS) $(SECP_TEST_LIBS) $(COMMON_LIB) |
039723d5 | 89 | bench_internal_SOURCES = src/bench_internal.c |
001f1763 | 90 | bench_internal_LDADD = $(SECP_LIBS) $(COMMON_LIB) |
ac01378c | 91 | bench_internal_CPPFLAGS = -DSECP256K1_BUILD $(SECP_INCLUDES) |
bc65aa79 PW |
92 | bench_ecmult_SOURCES = src/bench_ecmult.c |
93 | bench_ecmult_LDADD = $(SECP_LIBS) $(COMMON_LIB) | |
94 | bench_ecmult_CPPFLAGS = -DSECP256K1_BUILD $(SECP_INCLUDES) | |
78cd96b1 CF |
95 | endif |
96 | ||
20b8877b | 97 | TESTS = |
78cd96b1 CF |
98 | if USE_TESTS |
99 | noinst_PROGRAMS += tests | |
100 | tests_SOURCES = src/tests.c | |
a724d729 AP |
101 | tests_CPPFLAGS = -DSECP256K1_BUILD -I$(top_srcdir)/src -I$(top_srcdir)/include $(SECP_INCLUDES) $(SECP_TEST_INCLUDES) |
102 | if !ENABLE_COVERAGE | |
103 | tests_CPPFLAGS += -DVERIFY | |
104 | endif | |
001f1763 | 105 | tests_LDADD = $(SECP_LIBS) $(SECP_TEST_LIBS) $(COMMON_LIB) |
78cd96b1 | 106 | tests_LDFLAGS = -static |
20b8877b AP |
107 | TESTS += tests |
108 | endif | |
109 | ||
110 | if USE_EXHAUSTIVE_TESTS | |
111 | noinst_PROGRAMS += exhaustive_tests | |
112 | exhaustive_tests_SOURCES = src/tests_exhaustive.c | |
a724d729 AP |
113 | exhaustive_tests_CPPFLAGS = -DSECP256K1_BUILD -I$(top_srcdir)/src $(SECP_INCLUDES) |
114 | if !ENABLE_COVERAGE | |
115 | exhaustive_tests_CPPFLAGS += -DVERIFY | |
116 | endif | |
20b8877b AP |
117 | exhaustive_tests_LDADD = $(SECP_LIBS) |
118 | exhaustive_tests_LDFLAGS = -static | |
119 | TESTS += exhaustive_tests | |
78cd96b1 CF |
120 | endif |
121 | ||
3093576a G |
122 | JAVAROOT=src/java |
123 | JAVAORG=org/bitcoin | |
124 | JAVA_GUAVA=$(srcdir)/$(JAVAROOT)/guava/guava-18.0.jar | |
125 | CLASSPATH_ENV=CLASSPATH=$(JAVA_GUAVA) | |
126 | JAVA_FILES= \ | |
127 | $(JAVAROOT)/$(JAVAORG)/NativeSecp256k1.java \ | |
128 | $(JAVAROOT)/$(JAVAORG)/NativeSecp256k1Test.java \ | |
129 | $(JAVAROOT)/$(JAVAORG)/NativeSecp256k1Util.java \ | |
130 | $(JAVAROOT)/$(JAVAORG)/Secp256k1Context.java | |
131 | ||
132 | if USE_JNI | |
133 | ||
134 | $(JAVA_GUAVA): | |
135 | @echo Guava is missing. Fetch it via: \ | |
136 | wget https://search.maven.org/remotecontent?filepath=com/google/guava/guava/18.0/guava-18.0.jar -O $(@) | |
137 | @false | |
138 | ||
139 | .stamp-java: $(JAVA_FILES) | |
140 | @echo Compiling $^ | |
141 | $(AM_V_at)$(CLASSPATH_ENV) javac $^ | |
142 | @touch $@ | |
143 | ||
144 | if USE_TESTS | |
145 | ||
146 | check-java: libsecp256k1.la $(JAVA_GUAVA) .stamp-java | |
147 | $(AM_V_at)java -Djava.library.path="./:./src:./src/.libs:.libs/" -cp "$(JAVA_GUAVA):$(JAVAROOT)" $(JAVAORG)/NativeSecp256k1Test | |
148 | ||
149 | endif | |
150 | endif | |
151 | ||
fbecc38a | 152 | if USE_ECMULT_STATIC_PRECOMPUTATION |
445f7f10 | 153 | CPPFLAGS_FOR_BUILD +=-I$(top_srcdir) |
fbecc38a TD |
154 | |
155 | gen_context_OBJECTS = gen_context.o | |
e4ce3936 | 156 | gen_context_BIN = gen_context$(BUILD_EXEEXT) |
fbecc38a TD |
157 | gen_%.o: src/gen_%.c |
158 | $(CC_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $< -o $@ | |
159 | ||
e4ce3936 | 160 | $(gen_context_BIN): $(gen_context_OBJECTS) |
a34bcaad | 161 | $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $^ -o $@ |
fbecc38a | 162 | |
b8e39ac5 CF |
163 | $(libsecp256k1_la_OBJECTS): src/ecmult_static_context.h |
164 | $(tests_OBJECTS): src/ecmult_static_context.h | |
6da1446d | 165 | $(bench_internal_OBJECTS): src/ecmult_static_context.h |
bc65aa79 | 166 | $(bench_ecmult_OBJECTS): src/ecmult_static_context.h |
fbecc38a | 167 | |
e4ce3936 CF |
168 | src/ecmult_static_context.h: $(gen_context_BIN) |
169 | ./$(gen_context_BIN) | |
c37812f5 | 170 | |
3093576a | 171 | CLEANFILES = $(gen_context_BIN) src/ecmult_static_context.h $(JAVAROOT)/$(JAVAORG)/*.class .stamp-java |
fbecc38a TD |
172 | endif |
173 | ||
3093576a | 174 | EXTRA_DIST = autogen.sh src/gen_context.c src/basic-config.h $(JAVA_FILES) |
0739bbb6 AP |
175 | |
176 | if ENABLE_MODULE_ECDH | |
177 | include src/modules/ecdh/Makefile.am.include | |
178 | endif | |
a5a66c70 | 179 | |
9f443be0 PW |
180 | if ENABLE_MODULE_RECOVERY |
181 | include src/modules/recovery/Makefile.am.include | |
182 | endif |