ecc: Use 25519 method also for ed25519.
[libgcrypt.git] / cipher / Makefile.am
1 # Makefile for cipher modules
2 # Copyright (C) 1998, 1999, 2000, 2001, 2002,
3 #               2003, 2009 Free Software Foundation, Inc.
4 #
5 # This file is part of Libgcrypt.
6 #
7 # Libgcrypt is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU Lesser General Public License as
9 # published by the Free Software Foundation; either version 2.1 of
10 # the License, or (at your option) any later version.
11 #
12 # Libgcrypt is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU Lesser General Public License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this program; if not, see <http://www.gnu.org/licenses/>.
19
20 # Process this file with automake to produce Makefile.in
21
22 # Need to include ../src in addition to top_srcdir because gcrypt.h is
23 # a built header.
24 AM_CPPFLAGS = -I../src -I$(top_srcdir)/src -I../mpi -I$(top_srcdir)/mpi
25 AM_CFLAGS = $(GPG_ERROR_CFLAGS)
26
27 AM_CCASFLAGS = $(NOEXECSTACK_FLAGS)
28
29 EXTRA_DIST = gost-s-box.c
30
31 CLEANFILES = gost-s-box
32 DISTCLEANFILES = gost-sb.h
33
34 noinst_LTLIBRARIES = libcipher.la
35
36 GCRYPT_MODULES = @GCRYPT_CIPHERS@ @GCRYPT_PUBKEY_CIPHERS@ \
37                  @GCRYPT_DIGESTS@ @GCRYPT_KDFS@
38
39 libcipher_la_DEPENDENCIES = $(GCRYPT_MODULES)
40 libcipher_la_LIBADD = $(GCRYPT_MODULES)
41
42 libcipher_la_SOURCES = \
43 cipher.c cipher-internal.h \
44 cipher-cbc.c cipher-cfb.c cipher-ofb.c cipher-ctr.c cipher-aeswrap.c \
45 cipher-ccm.c cipher-cmac.c cipher-gcm.c cipher-gcm-intel-pclmul.c \
46   cipher-gcm-armv8-aarch32-ce.S cipher-gcm-armv8-aarch64-ce.S \
47 cipher-poly1305.c cipher-ocb.c cipher-xts.c \
48 cipher-selftest.c cipher-selftest.h \
49 pubkey.c pubkey-internal.h pubkey-util.c \
50 md.c \
51 mac.c mac-internal.h \
52 mac-hmac.c mac-cmac.c mac-gmac.c mac-poly1305.c \
53 poly1305.c poly1305-internal.h \
54 kdf.c kdf-internal.h \
55 hmac-tests.c \
56 bithelp.h  \
57 bufhelp.h  \
58 primegen.c  \
59 hash-common.c hash-common.h \
60 dsa-common.c rsa-common.c \
61 sha1.h
62
63 EXTRA_libcipher_la_SOURCES = \
64 arcfour.c arcfour-amd64.S \
65 blowfish.c blowfish-amd64.S blowfish-arm.S \
66 cast5.c cast5-amd64.S cast5-arm.S \
67 chacha20.c chacha20-sse2-amd64.S chacha20-ssse3-amd64.S chacha20-avx2-amd64.S \
68   chacha20-armv7-neon.S \
69 crc.c \
70   crc-intel-pclmul.c \
71 des.c des-amd64.S \
72 dsa.c \
73 elgamal.c \
74 ecc.c ecc-curves.c ecc-misc.c ecc-common.h \
75 ecc-ecdsa.c ecc-eddsa.c ecc-gost.c \
76 idea.c \
77 gost28147.c gost.h \
78 gostr3411-94.c \
79 md4.c \
80 md5.c \
81 poly1305-sse2-amd64.S poly1305-avx2-amd64.S poly1305-armv7-neon.S \
82 rijndael.c rijndael-internal.h rijndael-tables.h rijndael-aesni.c \
83   rijndael-padlock.c rijndael-amd64.S rijndael-arm.S \
84   rijndael-ssse3-amd64.c rijndael-ssse3-amd64-asm.S \
85   rijndael-armv8-ce.c rijndael-armv8-aarch32-ce.S rijndael-armv8-aarch64-ce.S \
86   rijndael-aarch64.S \
87 rmd160.c \
88 rsa.c \
89 salsa20.c salsa20-amd64.S salsa20-armv7-neon.S \
90 scrypt.c \
91 seed.c \
92 serpent.c serpent-sse2-amd64.S serpent-avx2-amd64.S serpent-armv7-neon.S \
93 sha1.c sha1-ssse3-amd64.S sha1-avx-amd64.S sha1-avx-bmi2-amd64.S \
94   sha1-armv7-neon.S sha1-armv8-aarch32-ce.S sha1-armv8-aarch64-ce.S \
95 sha256.c sha256-ssse3-amd64.S sha256-avx-amd64.S sha256-avx2-bmi2-amd64.S \
96   sha256-armv8-aarch32-ce.S sha256-armv8-aarch64-ce.S \
97 sha512.c sha512-ssse3-amd64.S sha512-avx-amd64.S sha512-avx2-bmi2-amd64.S \
98   sha512-armv7-neon.S sha512-arm.S \
99 keccak.c keccak_permute_32.h keccak_permute_64.h keccak-armv7-neon.S \
100 stribog.c \
101 tiger.c \
102 whirlpool.c whirlpool-sse2-amd64.S \
103 twofish.c twofish-amd64.S twofish-arm.S twofish-aarch64.S \
104   twofish-avx2-amd64.S \
105 rfc2268.c \
106 camellia.c camellia.h camellia-glue.c camellia-aesni-avx-amd64.S \
107   camellia-aesni-avx2-amd64.S camellia-arm.S camellia-aarch64.S \
108 blake2.c
109
110 gost28147.lo: gost-sb.h
111 gost-sb.h: gost-s-box
112         ./gost-s-box $@
113
114 gost-s-box: gost-s-box.c
115         $(CC_FOR_BUILD) -o $@ $(srcdir)/gost-s-box.c
116
117
118 if ENABLE_O_FLAG_MUNGING
119 o_flag_munging = sed -e 's/-O\([2-9s][2-9s]*\)/-O1/' -e 's/-Ofast/-O1/g'
120 else
121 o_flag_munging = cat
122 endif
123
124
125 # We need to lower the optimization for this module.
126 tiger.o: $(srcdir)/tiger.c
127         `echo $(COMPILE) -c $(srcdir)/tiger.c | $(o_flag_munging) `
128
129 tiger.lo: $(srcdir)/tiger.c
130         `echo $(LTCOMPILE) -c $(srcdir)/tiger.c | $(o_flag_munging) `