1 ACLOCAL_AMFLAGS = -I build-aux/m4
3 lib_LTLIBRARIES = libsecp256k1.la
4 include_HEADERS = include/secp256k1.h
6 noinst_HEADERS += src/scalar.h
7 noinst_HEADERS += src/scalar_4x64.h
8 noinst_HEADERS += src/scalar_8x32.h
9 noinst_HEADERS += src/scalar_impl.h
10 noinst_HEADERS += src/scalar_4x64_impl.h
11 noinst_HEADERS += src/scalar_8x32_impl.h
12 noinst_HEADERS += src/group.h
13 noinst_HEADERS += src/group_impl.h
14 noinst_HEADERS += src/num_gmp.h
15 noinst_HEADERS += src/num_gmp_impl.h
16 noinst_HEADERS += src/ecdsa.h
17 noinst_HEADERS += src/ecdsa_impl.h
18 noinst_HEADERS += src/eckey.h
19 noinst_HEADERS += src/eckey_impl.h
20 noinst_HEADERS += src/ecmult.h
21 noinst_HEADERS += src/ecmult_impl.h
22 noinst_HEADERS += src/ecmult_const.h
23 noinst_HEADERS += src/ecmult_const_impl.h
24 noinst_HEADERS += src/ecmult_gen.h
25 noinst_HEADERS += src/ecmult_gen_impl.h
26 noinst_HEADERS += src/num.h
27 noinst_HEADERS += src/num_impl.h
28 noinst_HEADERS += src/field_10x26.h
29 noinst_HEADERS += src/field_10x26_impl.h
30 noinst_HEADERS += src/field_5x52.h
31 noinst_HEADERS += src/field_5x52_impl.h
32 noinst_HEADERS += src/field_5x52_int128_impl.h
33 noinst_HEADERS += src/field_5x52_asm_impl.h
34 noinst_HEADERS += src/java/org_bitcoin_NativeSecp256k1.h
35 noinst_HEADERS += src/util.h
36 noinst_HEADERS += src/testrand.h
37 noinst_HEADERS += src/testrand_impl.h
38 noinst_HEADERS += src/hash.h
39 noinst_HEADERS += src/hash_impl.h
40 noinst_HEADERS += src/field.h
41 noinst_HEADERS += src/field_impl.h
42 noinst_HEADERS += src/bench.h
44 pkgconfigdir = $(libdir)/pkgconfig
45 pkgconfig_DATA = libsecp256k1.pc
47 libsecp256k1_la_SOURCES = src/secp256k1.c
48 libsecp256k1_la_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src $(SECP_INCLUDES)
49 libsecp256k1_la_LIBADD = $(SECP_LIBS)
54 noinst_PROGRAMS += bench_verify bench_sign bench_internal
55 bench_verify_SOURCES = src/bench_verify.c
56 bench_verify_LDADD = libsecp256k1.la $(SECP_LIBS)
57 bench_sign_SOURCES = src/bench_sign.c
58 bench_sign_LDADD = libsecp256k1.la $(SECP_LIBS)
59 bench_internal_SOURCES = src/bench_internal.c
60 bench_internal_LDADD = $(SECP_LIBS)
61 bench_internal_CPPFLAGS = $(SECP_INCLUDES)
65 noinst_PROGRAMS += tests
66 tests_SOURCES = src/tests.c
67 tests_CPPFLAGS = -DVERIFY -I$(top_srcdir)/src $(SECP_INCLUDES) $(SECP_TEST_INCLUDES)
68 tests_LDADD = $(SECP_LIBS) $(SECP_TEST_LIBS)
69 tests_LDFLAGS = -static
73 if USE_ECMULT_STATIC_PRECOMPUTATION
74 CPPFLAGS_FOR_BUILD +=-I$(top_srcdir)/
75 CFLAGS_FOR_BUILD += -Wall -Wextra -Wno-unused-function
77 gen_context_OBJECTS = gen_context.o
78 gen_context_BIN = gen_context$(BUILD_EXEEXT)
80 $(CC_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $< -o $@
82 $(gen_context_BIN): $(gen_context_OBJECTS)
83 $(CC_FOR_BUILD) $^ -o $@
85 $(libsecp256k1_la_OBJECTS): src/ecmult_static_context.h
86 $(tests_OBJECTS): src/ecmult_static_context.h
87 $(bench_internal_OBJECTS): src/ecmult_static_context.h
89 src/ecmult_static_context.h: $(gen_context_BIN)
92 CLEANFILES = $(gen_context_BIN) src/ecmult_static_context.h
95 EXTRA_DIST = autogen.sh src/gen_context.c src/basic-config.h
98 include src/modules/ecdh/Makefile.am.include
101 if ENABLE_MODULE_SCHNORR
102 include src/modules/schnorr/Makefile.am.include
105 if ENABLE_MODULE_RECOVERY
106 include src/modules/recovery/Makefile.am.include