github.com/aquanetwork/aquachain@v1.7.8/crypto/secp256k1/libsecp256k1/Makefile.am (about)

     1  ACLOCAL_AMFLAGS = -I build-aux/m4
     2  
     3  lib_LTLIBRARIES = libsecp256k1.la
     4  if USE_JNI
     5  JNI_LIB = libsecp256k1_jni.la
     6  noinst_LTLIBRARIES = $(JNI_LIB)
     7  else
     8  JNI_LIB =
     9  endif
    10  include_HEADERS = include/secp256k1.h
    11  noinst_HEADERS =
    12  noinst_HEADERS += src/scalar.h
    13  noinst_HEADERS += src/scalar_4x64.h
    14  noinst_HEADERS += src/scalar_8x32.h
    15  noinst_HEADERS += src/scalar_low.h
    16  noinst_HEADERS += src/scalar_impl.h
    17  noinst_HEADERS += src/scalar_4x64_impl.h
    18  noinst_HEADERS += src/scalar_8x32_impl.h
    19  noinst_HEADERS += src/scalar_low_impl.h
    20  noinst_HEADERS += src/group.h
    21  noinst_HEADERS += src/group_impl.h
    22  noinst_HEADERS += src/num_gmp.h
    23  noinst_HEADERS += src/num_gmp_impl.h
    24  noinst_HEADERS += src/ecdsa.h
    25  noinst_HEADERS += src/ecdsa_impl.h
    26  noinst_HEADERS += src/eckey.h
    27  noinst_HEADERS += src/eckey_impl.h
    28  noinst_HEADERS += src/ecmult.h
    29  noinst_HEADERS += src/ecmult_impl.h
    30  noinst_HEADERS += src/ecmult_const.h
    31  noinst_HEADERS += src/ecmult_const_impl.h
    32  noinst_HEADERS += src/ecmult_gen.h
    33  noinst_HEADERS += src/ecmult_gen_impl.h
    34  noinst_HEADERS += src/num.h
    35  noinst_HEADERS += src/num_impl.h
    36  noinst_HEADERS += src/field_10x26.h
    37  noinst_HEADERS += src/field_10x26_impl.h
    38  noinst_HEADERS += src/field_5x52.h
    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
    42  noinst_HEADERS += src/java/org_bitcoin_NativeSecp256k1.h
    43  noinst_HEADERS += src/java/org_bitcoin_Secp256k1Context.h
    44  noinst_HEADERS += src/util.h
    45  noinst_HEADERS += src/scratch.h
    46  noinst_HEADERS += src/scratch_impl.h
    47  noinst_HEADERS += src/testrand.h
    48  noinst_HEADERS += src/testrand_impl.h
    49  noinst_HEADERS += src/hash.h
    50  noinst_HEADERS += src/hash_impl.h
    51  noinst_HEADERS += src/field.h
    52  noinst_HEADERS += src/field_impl.h
    53  noinst_HEADERS += src/bench.h
    54  noinst_HEADERS += contrib/lax_der_parsing.h
    55  noinst_HEADERS += contrib/lax_der_parsing.c
    56  noinst_HEADERS += contrib/lax_der_privatekey_parsing.h
    57  noinst_HEADERS += contrib/lax_der_privatekey_parsing.c
    58  
    59  if USE_EXTERNAL_ASM
    60  COMMON_LIB = libsecp256k1_common.la
    61  noinst_LTLIBRARIES = $(COMMON_LIB)
    62  else
    63  COMMON_LIB =
    64  endif
    65  
    66  pkgconfigdir = $(libdir)/pkgconfig
    67  pkgconfig_DATA = libsecp256k1.pc
    68  
    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  
    75  libsecp256k1_la_SOURCES = src/secp256k1.c
    76  libsecp256k1_la_CPPFLAGS = -DSECP256K1_BUILD -I$(top_srcdir)/include -I$(top_srcdir)/src $(SECP_INCLUDES)
    77  libsecp256k1_la_LIBADD = $(JNI_LIB) $(SECP_LIBS) $(COMMON_LIB)
    78  
    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)
    81  
    82  noinst_PROGRAMS =
    83  if USE_BENCHMARK
    84  noinst_PROGRAMS += bench_verify bench_sign bench_internal bench_ecmult
    85  bench_verify_SOURCES = src/bench_verify.c
    86  bench_verify_LDADD = libsecp256k1.la $(SECP_LIBS) $(SECP_TEST_LIBS) $(COMMON_LIB)
    87  bench_sign_SOURCES = src/bench_sign.c
    88  bench_sign_LDADD = libsecp256k1.la $(SECP_LIBS) $(SECP_TEST_LIBS) $(COMMON_LIB)
    89  bench_internal_SOURCES = src/bench_internal.c
    90  bench_internal_LDADD = $(SECP_LIBS) $(COMMON_LIB)
    91  bench_internal_CPPFLAGS = -DSECP256K1_BUILD $(SECP_INCLUDES)
    92  bench_ecmult_SOURCES = src/bench_ecmult.c
    93  bench_ecmult_LDADD = $(SECP_LIBS) $(COMMON_LIB)
    94  bench_ecmult_CPPFLAGS = -DSECP256K1_BUILD $(SECP_INCLUDES)
    95  endif
    96  
    97  TESTS =
    98  if USE_TESTS
    99  noinst_PROGRAMS += tests
   100  tests_SOURCES = src/tests.c
   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
   105  tests_LDADD = $(SECP_LIBS) $(SECP_TEST_LIBS) $(COMMON_LIB)
   106  tests_LDFLAGS = -static
   107  TESTS += tests
   108  endif
   109  
   110  if USE_EXHAUSTIVE_TESTS
   111  noinst_PROGRAMS += exhaustive_tests
   112  exhaustive_tests_SOURCES = src/tests_exhaustive.c
   113  exhaustive_tests_CPPFLAGS = -DSECP256K1_BUILD -I$(top_srcdir)/src $(SECP_INCLUDES)
   114  if !ENABLE_COVERAGE
   115  exhaustive_tests_CPPFLAGS += -DVERIFY
   116  endif
   117  exhaustive_tests_LDADD = $(SECP_LIBS)
   118  exhaustive_tests_LDFLAGS = -static
   119  TESTS += exhaustive_tests
   120  endif
   121  
   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  
   152  if USE_ECMULT_STATIC_PRECOMPUTATION
   153  CPPFLAGS_FOR_BUILD +=-I$(top_srcdir)
   154  CFLAGS_FOR_BUILD += -Wall -Wextra -Wno-unused-function
   155  
   156  gen_context_OBJECTS = gen_context.o
   157  gen_context_BIN = gen_context$(BUILD_EXEEXT)
   158  gen_%.o: src/gen_%.c
   159  	$(CC_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $< -o $@
   160  
   161  $(gen_context_BIN): $(gen_context_OBJECTS)
   162  	$(CC_FOR_BUILD) $^ -o $@
   163  
   164  $(libsecp256k1_la_OBJECTS): src/ecmult_static_context.h
   165  $(tests_OBJECTS): src/ecmult_static_context.h
   166  $(bench_internal_OBJECTS): src/ecmult_static_context.h
   167  $(bench_ecmult_OBJECTS): src/ecmult_static_context.h
   168  
   169  src/ecmult_static_context.h: $(gen_context_BIN)
   170  	./$(gen_context_BIN)
   171  
   172  CLEANFILES = $(gen_context_BIN) src/ecmult_static_context.h $(JAVAROOT)/$(JAVAORG)/*.class .stamp-java
   173  endif
   174  
   175  EXTRA_DIST = autogen.sh src/gen_context.c src/basic-config.h $(JAVA_FILES)
   176  
   177  if ENABLE_MODULE_ECDH
   178  include src/modules/ecdh/Makefile.am.include
   179  endif
   180  
   181  if ENABLE_MODULE_RECOVERY
   182  include src/modules/recovery/Makefile.am.include
   183  endif