Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / third_party / mbedtls / repo / programs / Makefile
1
2 # To compile on SunOS: add "-lsocket -lnsl" to LDFLAGS
3 # To compile with PKCS11: add "-lpkcs11-helper" to LDFLAGS
4
5 CFLAGS  ?= -O2
6 WARNING_CFLAGS ?= -Wall -W -Wdeclaration-after-statement
7 WARNING_CXXFLAGS ?= -Wall -W
8 LDFLAGS ?=
9
10 LOCAL_CFLAGS = $(WARNING_CFLAGS) -I../include -D_FILE_OFFSET_BITS=64
11 LOCAL_CXXFLAGS = $(WARNING_CXXFLAGS) -I../include -D_FILE_OFFSET_BITS=64
12 LOCAL_LDFLAGS = -L../library                    \
13                 -lmbedtls$(SHARED_SUFFIX)       \
14                 -lmbedx509$(SHARED_SUFFIX)      \
15                 -lmbedcrypto$(SHARED_SUFFIX)
16
17 LOCAL_LDFLAGS += -L../crypto/library
18 LOCAL_CFLAGS += -I../crypto/include
19 LOCAL_CXXFLAGS += -I../crypto/include
20
21 ifndef SHARED
22 DEP=../library/libmbedcrypto.a ../library/libmbedx509.a ../library/libmbedtls.a
23 else
24 DEP=../library/libmbedcrypto.$(DLEXT) ../library/libmbedx509.$(DLEXT) ../library/libmbedtls.$(DLEXT)
25 endif
26
27 ifdef DEBUG
28 LOCAL_CFLAGS += -g3
29 endif
30
31 # if we're running on Windows, build for Windows
32 ifdef WINDOWS
33 WINDOWS_BUILD=1
34 endif
35
36 ifdef WINDOWS_BUILD
37 DLEXT=dll
38 EXEXT=.exe
39 LOCAL_LDFLAGS += -lws2_32
40 ifdef SHARED
41 SHARED_SUFFIX=.$(DLEXT)
42 endif
43 else
44 DLEXT ?= so
45 EXEXT=
46 SHARED_SUFFIX=
47 endif
48
49 # Zlib shared library extensions:
50 ifdef ZLIB
51 LOCAL_LDFLAGS += -lz
52 endif
53
54 APPS =  aes/aescrypt2$(EXEXT)           aes/crypt_and_hash$(EXEXT)      \
55         hash/hello$(EXEXT)              hash/generic_sum$(EXEXT)        \
56                                         pkey/dh_client$(EXEXT)          \
57         pkey/dh_genprime$(EXEXT)        pkey/dh_server$(EXEXT)          \
58         pkey/ecdh_curve25519$(EXEXT)                                    \
59         pkey/ecdsa$(EXEXT)              pkey/gen_key$(EXEXT)            \
60         pkey/key_app$(EXEXT)            pkey/key_app_writer$(EXEXT)     \
61         pkey/mpi_demo$(EXEXT)           pkey/pk_decrypt$(EXEXT)         \
62         pkey/pk_encrypt$(EXEXT)         pkey/pk_sign$(EXEXT)            \
63         pkey/pk_verify$(EXEXT)          pkey/rsa_genkey$(EXEXT)         \
64         pkey/rsa_decrypt$(EXEXT)        pkey/rsa_encrypt$(EXEXT)        \
65         pkey/rsa_sign$(EXEXT)           pkey/rsa_verify$(EXEXT)         \
66         pkey/rsa_sign_pss$(EXEXT)       pkey/rsa_verify_pss$(EXEXT)     \
67         ssl/dtls_client$(EXEXT)         ssl/dtls_server$(EXEXT)         \
68         ssl/ssl_client1$(EXEXT)         ssl/ssl_client2$(EXEXT)         \
69         ssl/ssl_server$(EXEXT)          ssl/ssl_server2$(EXEXT)         \
70         ssl/ssl_fork_server$(EXEXT)     ssl/mini_client$(EXEXT)         \
71         ssl/ssl_mail_client$(EXEXT)     random/gen_entropy$(EXEXT)      \
72         random/gen_random_havege$(EXEXT)                                \
73         random/gen_random_ctr_drbg$(EXEXT)                              \
74         test/benchmark$(EXEXT)                                          \
75         test/selftest$(EXEXT)           test/udp_proxy$(EXEXT)          \
76         test/zeroize$(EXEXT)                                            \
77         test/query_compile_time_config$(EXEXT)                          \
78         util/pem2der$(EXEXT)            util/strerror$(EXEXT)           \
79         x509/cert_app$(EXEXT)           x509/crl_app$(EXEXT)            \
80         x509/cert_req$(EXEXT)           x509/cert_write$(EXEXT)         \
81         x509/req_app$(EXEXT)
82
83 ifdef PTHREAD
84 APPS += ssl/ssl_pthread_server$(EXEXT)
85 endif
86
87 ifdef TEST_CPP
88 APPS += test/cpp_dummy_build$(EXEXT)
89 endif
90
91 .SILENT:
92
93 .PHONY: all clean list
94
95 all: $(APPS)
96
97 $(DEP):
98         $(MAKE) -C ../library
99
100 aes/aescrypt2$(EXEXT): aes/aescrypt2.c $(DEP)
101         echo "  CC    aes/aescrypt2.c"
102         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/aescrypt2.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
103
104 aes/crypt_and_hash$(EXEXT): aes/crypt_and_hash.c $(DEP)
105         echo "  CC    aes/crypt_and_hash.c"
106         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/crypt_and_hash.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
107
108 hash/hello$(EXEXT): hash/hello.c $(DEP)
109         echo "  CC    hash/hello.c"
110         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/hello.c       $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
111
112 hash/generic_sum$(EXEXT): hash/generic_sum.c $(DEP)
113         echo "  CC    hash/generic_sum.c"
114         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/generic_sum.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
115
116 pkey/dh_client$(EXEXT): pkey/dh_client.c $(DEP)
117         echo "  CC    pkey/dh_client.c"
118         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_client.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
119
120 pkey/dh_genprime$(EXEXT): pkey/dh_genprime.c $(DEP)
121         echo "  CC    pkey/dh_genprime.c"
122         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_genprime.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
123
124 pkey/dh_server$(EXEXT): pkey/dh_server.c $(DEP)
125         echo "  CC    pkey/dh_server.c"
126         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_server.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
127
128 pkey/ecdh_curve25519$(EXEXT): pkey/ecdh_curve25519.c $(DEP)
129         echo "  CC    pkey/ecdh_curve25519.c"
130         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdh_curve25519.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
131
132 pkey/ecdsa$(EXEXT): pkey/ecdsa.c $(DEP)
133         echo "  CC    pkey/ecdsa.c"
134         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdsa.c       $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
135
136 pkey/gen_key$(EXEXT): pkey/gen_key.c $(DEP)
137         echo "  CC    pkey/gen_key.c"
138         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/gen_key.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
139
140 pkey/key_app$(EXEXT): pkey/key_app.c $(DEP)
141         echo "  CC    pkey/key_app.c"
142         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
143
144 pkey/key_app_writer$(EXEXT): pkey/key_app_writer.c $(DEP)
145         echo "  CC    pkey/key_app_writer.c"
146         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app_writer.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
147
148 pkey/mpi_demo$(EXEXT): pkey/mpi_demo.c $(DEP)
149         echo "  CC    pkey/mpi_demo.c"
150         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/mpi_demo.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
151
152 pkey/pk_decrypt$(EXEXT): pkey/pk_decrypt.c $(DEP)
153         echo "  CC    pkey/pk_decrypt.c"
154         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_decrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
155
156 pkey/pk_encrypt$(EXEXT): pkey/pk_encrypt.c $(DEP)
157         echo "  CC    pkey/pk_encrypt.c"
158         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_encrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
159
160 pkey/pk_sign$(EXEXT): pkey/pk_sign.c $(DEP)
161         echo "  CC    pkey/pk_sign.c"
162         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_sign.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
163
164 pkey/pk_verify$(EXEXT): pkey/pk_verify.c $(DEP)
165         echo "  CC    pkey/pk_verify.c"
166         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_verify.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
167
168 pkey/rsa_genkey$(EXEXT): pkey/rsa_genkey.c $(DEP)
169         echo "  CC    pkey/rsa_genkey.c"
170         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_genkey.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
171
172 pkey/rsa_sign$(EXEXT): pkey/rsa_sign.c $(DEP)
173         echo "  CC    pkey/rsa_sign.c"
174         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
175
176 pkey/rsa_verify$(EXEXT): pkey/rsa_verify.c $(DEP)
177         echo "  CC    pkey/rsa_verify.c"
178         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
179
180 pkey/rsa_sign_pss$(EXEXT): pkey/rsa_sign_pss.c $(DEP)
181         echo "  CC    pkey/rsa_sign_pss.c"
182         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign_pss.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
183
184 pkey/rsa_verify_pss$(EXEXT): pkey/rsa_verify_pss.c $(DEP)
185         echo "  CC    pkey/rsa_verify_pss.c"
186         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify_pss.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
187
188 pkey/rsa_decrypt$(EXEXT): pkey/rsa_decrypt.c $(DEP)
189         echo "  CC    pkey/rsa_decrypt.c"
190         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_decrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
191
192 pkey/rsa_encrypt$(EXEXT): pkey/rsa_encrypt.c $(DEP)
193         echo "  CC    pkey/rsa_encrypt.c"
194         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_encrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
195
196 random/gen_entropy$(EXEXT): random/gen_entropy.c $(DEP)
197         echo "  CC    random/gen_entropy.c"
198         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_entropy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
199
200 random/gen_random_havege$(EXEXT): random/gen_random_havege.c $(DEP)
201         echo "  CC    random/gen_random_havege.c"
202         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_havege.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
203
204 random/gen_random_ctr_drbg$(EXEXT): random/gen_random_ctr_drbg.c $(DEP)
205         echo "  CC    random/gen_random_ctr_drbg.c"
206         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_ctr_drbg.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
207
208 ssl/dtls_client$(EXEXT): ssl/dtls_client.c $(DEP)
209         echo "  CC    ssl/dtls_client.c"
210         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_client.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
211
212 ssl/dtls_server$(EXEXT): ssl/dtls_server.c $(DEP)
213         echo "  CC    ssl/dtls_server.c"
214         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_server.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
215
216 ssl/ssl_client1$(EXEXT): ssl/ssl_client1.c $(DEP)
217         echo "  CC    ssl/ssl_client1.c"
218         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client1.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
219
220 ssl/ssl_client2$(EXEXT): ssl/ssl_client2.c ssl/query_config.c $(DEP)
221         echo "  CC    ssl/ssl_client2.c"
222         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client2.c ssl/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
223
224 ssl/ssl_server$(EXEXT): ssl/ssl_server.c $(DEP)
225         echo "  CC    ssl/ssl_server.c"
226         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
227
228 ssl/ssl_server2$(EXEXT): ssl/ssl_server2.c ssl/query_config.c $(DEP)
229         echo "  CC    ssl/ssl_server2.c"
230         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server2.c ssl/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
231
232 ssl/ssl_fork_server$(EXEXT): ssl/ssl_fork_server.c $(DEP)
233         echo "  CC    ssl/ssl_fork_server.c"
234         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_fork_server.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
235
236 ssl/ssl_pthread_server$(EXEXT): ssl/ssl_pthread_server.c $(DEP)
237         echo "  CC    ssl/ssl_pthread_server.c"
238         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_pthread_server.c   $(LOCAL_LDFLAGS) -lpthread  $(LDFLAGS) -o $@
239
240 ssl/ssl_mail_client$(EXEXT): ssl/ssl_mail_client.c $(DEP)
241         echo "  CC    ssl/ssl_mail_client.c"
242         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_mail_client.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
243
244 ssl/mini_client$(EXEXT): ssl/mini_client.c $(DEP)
245         echo "  CC    ssl/mini_client.c"
246         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/mini_client.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
247
248 test/benchmark$(EXEXT): test/benchmark.c $(DEP)
249         echo "  CC    test/benchmark.c"
250         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/benchmark.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
251
252 test/cpp_dummy_build$(EXEXT): test/cpp_dummy_build.cpp $(DEP)
253         echo "  CXX   test/cpp_dummy_build.cpp"
254         $(CXX) $(LOCAL_CXXFLAGS) $(CXXFLAGS) test/cpp_dummy_build.cpp   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
255
256 test/selftest$(EXEXT): test/selftest.c $(DEP)
257         echo "  CC    test/selftest.c"
258         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/selftest.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
259
260 test/udp_proxy$(EXEXT): test/udp_proxy.c $(DEP)
261         echo "  CC    test/udp_proxy.c"
262         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/udp_proxy.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
263
264 test/zeroize$(EXEXT): test/zeroize.c $(DEP)
265         echo "  CC    test/zeroize.c"
266         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/zeroize.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
267
268 test/query_compile_time_config$(EXEXT): test/query_compile_time_config.c ssl/query_config.c $(DEP)
269         echo "  CC    test/query_compile_time_config.c"
270         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/query_compile_time_config.c ssl/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
271
272 util/pem2der$(EXEXT): util/pem2der.c $(DEP)
273         echo "  CC    util/pem2der.c"
274         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/pem2der.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
275
276 util/strerror$(EXEXT): util/strerror.c $(DEP)
277         echo "  CC    util/strerror.c"
278         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/strerror.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
279
280 x509/cert_app$(EXEXT): x509/cert_app.c $(DEP)
281         echo "  CC    x509/cert_app.c"
282         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_app.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
283
284 x509/cert_write$(EXEXT): x509/cert_write.c $(DEP)
285         echo "  CC    x509/cert_write.c"
286         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_write.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
287
288 x509/crl_app$(EXEXT): x509/crl_app.c $(DEP)
289         echo "  CC    x509/crl_app.c"
290         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/crl_app.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
291
292 x509/cert_req$(EXEXT): x509/cert_req.c $(DEP)
293         echo "  CC    x509/cert_req.c"
294         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_req.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
295
296 x509/req_app$(EXEXT): x509/req_app.c $(DEP)
297         echo "  CC    x509/req_app.c"
298         $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/req_app.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
299
300 clean:
301 ifndef WINDOWS
302         rm -f $(APPS)
303 else
304         del /S /Q /F *.o *.exe
305 endif
306
307 list:
308         echo $(APPS)