blob: c5ac76749711b1e30da46166e18e98677532249d [file] [log] [blame]
Paul Bakker5121ce52009-01-03 21:22:43 +00001
2# To compile on SunOS: add "-lsocket -lnsl" to LDFLAGS
Paul Bakker5121ce52009-01-03 21:22:43 +00003
Alon Bar-Levf7a9f302015-02-18 17:55:05 +02004CFLAGS ?= -O2
Gilles Peskine85aba472019-07-02 20:03:01 +02005WARNING_CFLAGS ?= -Wall -Wextra
6WARNING_CXXFLAGS ?= -Wall -Wextra
Alon Bar-Levada41052015-02-18 17:47:52 +02007LDFLAGS ?=
Alon Bar-Levf7a9f302015-02-18 17:55:05 +02008
9LOCAL_CFLAGS = $(WARNING_CFLAGS) -I../include -D_FILE_OFFSET_BITS=64
Andrzej Kurek40741f82018-03-14 17:24:01 -040010LOCAL_CXXFLAGS = $(WARNING_CXXFLAGS) -I../include -D_FILE_OFFSET_BITS=64
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020011LOCAL_LDFLAGS = -L../library \
Gilles Peskine4fa9f9f2020-02-26 19:05:31 +010012 -lmbedtls$(SHARED_SUFFIX) \
13 -lmbedx509$(SHARED_SUFFIX) \
Manuel Pégourié-Gonnard21e1ac22015-06-25 08:45:12 +020014 -lmbedcrypto$(SHARED_SUFFIX)
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020015
Christoph M. Wintersteiger6ea2dea12019-01-21 17:26:19 +000016include ../3rdparty/Makefile.inc
17LOCAL_CFLAGS+=$(THIRDPARTY_INCLUDES)
Christoph M. Wintersteigerd5fd7662018-10-25 12:47:03 +010018
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020019ifndef SHARED
Gilles Peskine4fa9f9f2020-02-26 19:05:31 +010020DEP=../library/libmbedcrypto.a ../library/libmbedx509.a ../library/libmbedtls.a
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020021else
Gilles Peskine4fa9f9f2020-02-26 19:05:31 +010022DEP=../library/libmbedcrypto.$(DLEXT) ../library/libmbedx509.$(DLEXT) ../library/libmbedtls.$(DLEXT)
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020023endif
Paul Bakker5121ce52009-01-03 21:22:43 +000024
Paul Bakkerc7ffd362012-04-05 12:08:29 +000025ifdef DEBUG
Alon Bar-Levf7a9f302015-02-18 17:55:05 +020026LOCAL_CFLAGS += -g3
Paul Bakkerc7ffd362012-04-05 12:08:29 +000027endif
28
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020029# if we're running on Windows, build for Windows
Paul Bakkercd5b5292012-05-10 20:49:10 +000030ifdef WINDOWS
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020031WINDOWS_BUILD=1
32endif
33
34ifdef WINDOWS_BUILD
35DLEXT=dll
36EXEXT=.exe
Alon Bar-Levada41052015-02-18 17:47:52 +020037LOCAL_LDFLAGS += -lws2_32
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020038ifdef SHARED
39SHARED_SUFFIX=.$(DLEXT)
40endif
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +020041else
Andres Amaya Garcia420f0cc2018-03-27 19:17:21 +010042DLEXT ?= so
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +020043EXEXT=
44SHARED_SUFFIX=
Paul Bakkercd5b5292012-05-10 20:49:10 +000045endif
46
Jaeden Amero30fae8e2018-12-20 17:44:21 +000047APPS = \
48 aes/aescrypt2$(EXEXT) \
49 aes/crypt_and_hash$(EXEXT) \
50 hash/hello$(EXEXT) \
51 hash/generic_sum$(EXEXT) \
52 pkey/dh_genprime$(EXEXT) \
53 pkey/ecdh_curve25519$(EXEXT) \
54 pkey/ecdsa$(EXEXT) \
55 pkey/gen_key$(EXEXT) \
56 pkey/key_app$(EXEXT) \
57 pkey/key_app_writer$(EXEXT) \
58 pkey/mpi_demo$(EXEXT) \
59 pkey/pk_decrypt$(EXEXT) \
60 pkey/pk_encrypt$(EXEXT) \
61 pkey/pk_sign$(EXEXT) \
62 pkey/pk_verify$(EXEXT) \
63 pkey/rsa_genkey$(EXEXT) \
64 pkey/rsa_decrypt$(EXEXT) \
65 pkey/rsa_encrypt$(EXEXT) \
66 pkey/rsa_sign$(EXEXT) \
67 pkey/rsa_verify$(EXEXT) \
68 pkey/rsa_sign_pss$(EXEXT) \
69 pkey/rsa_verify_pss$(EXEXT) \
70 psa/crypto_examples$(EXEXT) \
71 psa/key_ladder_demo$(EXEXT) \
72 psa/psa_constant_names$(EXEXT) \
Gilles Peskine70824f22020-02-26 19:05:33 +010073 ssl/dtls_client$(EXEXT) \
74 ssl/dtls_server$(EXEXT) \
75 ssl/ssl_client1$(EXEXT) \
76 ssl/ssl_client2$(EXEXT) \
77 ssl/ssl_server$(EXEXT) \
78 ssl/ssl_server2$(EXEXT) \
79 ssl/ssl_fork_server$(EXEXT) \
80 ssl/mini_client$(EXEXT) \
81 ssl/ssl_mail_client$(EXEXT) \
Jaeden Amero30fae8e2018-12-20 17:44:21 +000082 random/gen_entropy$(EXEXT) \
83 random/gen_random_havege$(EXEXT) \
84 random/gen_random_ctr_drbg$(EXEXT) \
Jaeden Amero30fae8e2018-12-20 17:44:21 +000085 test/benchmark$(EXEXT) \
86 test/selftest$(EXEXT) \
Gilles Peskine70824f22020-02-26 19:05:33 +010087 test/udp_proxy$(EXEXT) \
Jaeden Amero30fae8e2018-12-20 17:44:21 +000088 test/zeroize$(EXEXT) \
89 test/query_compile_time_config$(EXEXT) \
90 util/pem2der$(EXEXT) \
91 util/strerror$(EXEXT) \
Gilles Peskine70824f22020-02-26 19:05:33 +010092 x509/cert_app$(EXEXT) \
93 x509/crl_app$(EXEXT) \
94 x509/cert_req$(EXEXT) \
95 x509/cert_write$(EXEXT) \
96 x509/req_app$(EXEXT) \
Jaeden Amero30fae8e2018-12-20 17:44:21 +000097# End of APPS
Paul Bakker5121ce52009-01-03 21:22:43 +000098
Gilles Peskine70824f22020-02-26 19:05:33 +010099ifdef PTHREAD
100APPS += ssl/ssl_pthread_server$(EXEXT)
101endif
102
Andrzej Kurek0211c322018-03-15 05:16:24 -0400103ifdef TEST_CPP
Andrzej Kurek89c048c2018-03-16 07:37:44 -0400104APPS += test/cpp_dummy_build$(EXEXT)
Andrzej Kurek0211c322018-03-15 05:16:24 -0400105endif
106
Gilles Peskine029b5d62018-07-16 23:13:37 +0200107EXTRA_GENERATED =
108
Paul Bakker5121ce52009-01-03 21:22:43 +0000109.SILENT:
110
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200111.PHONY: all clean list
112
Paul Bakker5121ce52009-01-03 21:22:43 +0000113all: $(APPS)
114
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200115$(DEP):
Manuel Pégourié-Gonnardfc367082015-06-26 16:50:24 +0200116 $(MAKE) -C ../library
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200117
Darryl Green3b80ab92018-10-17 16:11:34 +0100118ifdef WINDOWS
119EXTRA_GENERATED += psa\psa_constant_names_generated.c
120else
Gilles Peskine029b5d62018-07-16 23:13:37 +0200121EXTRA_GENERATED += psa/psa_constant_names_generated.c
Darryl Green3b80ab92018-10-17 16:11:34 +0100122endif
123
Gilles Peskine029b5d62018-07-16 23:13:37 +0200124psa/psa_constant_names$(EXEXT): psa/psa_constant_names_generated.c
Darryl Greenda7c80e2019-02-06 16:24:43 +0000125psa/psa_constant_names_generated.c: ../scripts/generate_psa_constants.py ../include/psa/crypto_values.h ../include/psa/crypto_extra.h
Gilles Peskine029b5d62018-07-16 23:13:37 +0200126 ../scripts/generate_psa_constants.py
127
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200128aes/aescrypt2$(EXEXT): aes/aescrypt2.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100129 echo " CC aes/aescrypt2.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200130 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/aescrypt2.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000131
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200132aes/crypt_and_hash$(EXEXT): aes/crypt_and_hash.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100133 echo " CC aes/crypt_and_hash.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200134 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/crypt_and_hash.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker20a78082011-01-21 09:32:12 +0000135
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200136hash/hello$(EXEXT): hash/hello.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100137 echo " CC hash/hello.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200138 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/hello.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000139
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200140hash/generic_sum$(EXEXT): hash/generic_sum.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100141 echo " CC hash/generic_sum.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200142 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/generic_sum.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerfb6c7e22011-01-21 10:21:11 +0000143
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200144pkey/dh_genprime$(EXEXT): pkey/dh_genprime.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100145 echo " CC pkey/dh_genprime.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200146 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_genprime.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000147
Manuel Pégourié-Gonnard3eb8c342015-10-09 12:11:14 +0100148pkey/ecdh_curve25519$(EXEXT): pkey/ecdh_curve25519.c $(DEP)
149 echo " CC pkey/ecdh_curve25519.c"
150 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdh_curve25519.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
151
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200152pkey/ecdsa$(EXEXT): pkey/ecdsa.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100153 echo " CC pkey/ecdsa.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200154 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdsa.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnardaa431612013-08-09 17:10:27 +0200155
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200156pkey/gen_key$(EXEXT): pkey/gen_key.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100157 echo " CC pkey/gen_key.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200158 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/gen_key.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker15b9b3a2013-09-23 12:05:44 +0200159
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200160pkey/key_app$(EXEXT): pkey/key_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100161 echo " CC pkey/key_app.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200162 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkered56b222011-07-13 11:26:43 +0000163
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200164pkey/key_app_writer$(EXEXT): pkey/key_app_writer.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100165 echo " CC pkey/key_app_writer.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200166 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app_writer.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerbdb912d2012-02-13 23:11:30 +0000167
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200168pkey/mpi_demo$(EXEXT): pkey/mpi_demo.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100169 echo " CC pkey/mpi_demo.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200170 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/mpi_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000171
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200172pkey/pk_decrypt$(EXEXT): pkey/pk_decrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100173 echo " CC pkey/pk_decrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200174 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_decrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200175
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200176pkey/pk_encrypt$(EXEXT): pkey/pk_encrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100177 echo " CC pkey/pk_encrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200178 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_encrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200179
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200180pkey/pk_sign$(EXEXT): pkey/pk_sign.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100181 echo " CC pkey/pk_sign.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200182 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_sign.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200183
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200184pkey/pk_verify$(EXEXT): pkey/pk_verify.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100185 echo " CC pkey/pk_verify.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200186 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_verify.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200187
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200188pkey/rsa_genkey$(EXEXT): pkey/rsa_genkey.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100189 echo " CC pkey/rsa_genkey.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200190 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_genkey.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000191
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200192pkey/rsa_sign$(EXEXT): pkey/rsa_sign.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100193 echo " CC pkey/rsa_sign.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200194 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000195
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200196pkey/rsa_verify$(EXEXT): pkey/rsa_verify.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100197 echo " CC pkey/rsa_verify.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200198 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000199
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200200pkey/rsa_sign_pss$(EXEXT): pkey/rsa_sign_pss.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100201 echo " CC pkey/rsa_sign_pss.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200202 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign_pss.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkere77db2e2011-03-25 14:01:32 +0000203
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200204pkey/rsa_verify_pss$(EXEXT): pkey/rsa_verify_pss.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100205 echo " CC pkey/rsa_verify_pss.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200206 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify_pss.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkere77db2e2011-03-25 14:01:32 +0000207
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200208pkey/rsa_decrypt$(EXEXT): pkey/rsa_decrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100209 echo " CC pkey/rsa_decrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200210 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_decrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker7bc05ff2011-08-09 10:30:36 +0000211
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200212pkey/rsa_encrypt$(EXEXT): pkey/rsa_encrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100213 echo " CC pkey/rsa_encrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200214 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_encrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker7bc05ff2011-08-09 10:30:36 +0000215
Gilles Peskinef0fa4362018-07-16 17:08:43 +0200216psa/key_ladder_demo$(EXEXT): psa/key_ladder_demo.c $(DEP)
217 echo " CC psa/key_ladder_demo.c"
218 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/key_ladder_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
219
Gilles Peskine029b5d62018-07-16 23:13:37 +0200220psa/psa_constant_names$(EXEXT): psa/psa_constant_names.c $(DEP)
221 echo " CC psa/psa_constant_names.c"
222 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/psa_constant_names.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
223
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200224random/gen_entropy$(EXEXT): random/gen_entropy.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100225 echo " CC random/gen_entropy.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200226 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_entropy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker6083fd22011-12-03 21:45:14 +0000227
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200228random/gen_random_havege$(EXEXT): random/gen_random_havege.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100229 echo " CC random/gen_random_havege.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200230 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_havege.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker6083fd22011-12-03 21:45:14 +0000231
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200232random/gen_random_ctr_drbg$(EXEXT): random/gen_random_ctr_drbg.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100233 echo " CC random/gen_random_ctr_drbg.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200234 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_ctr_drbg.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerfc36d162011-01-27 16:50:02 +0000235
Gilles Peskine70824f22020-02-26 19:05:33 +0100236ssl/dtls_client$(EXEXT): ssl/dtls_client.c $(DEP)
237 echo " CC ssl/dtls_client.c"
238 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
239
240ssl/dtls_server$(EXEXT): ssl/dtls_server.c $(DEP)
241 echo " CC ssl/dtls_server.c"
242 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
243
244ssl/ssl_client1$(EXEXT): ssl/ssl_client1.c $(DEP)
245 echo " CC ssl/ssl_client1.c"
246 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client1.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
247
248ssl/ssl_client2$(EXEXT): ssl/ssl_client2.c test/query_config.c $(DEP)
249 echo " CC ssl/ssl_client2.c"
250 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client2.c test/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
251
252ssl/ssl_server$(EXEXT): ssl/ssl_server.c $(DEP)
253 echo " CC ssl/ssl_server.c"
254 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
255
256ssl/ssl_server2$(EXEXT): ssl/ssl_server2.c test/query_config.c $(DEP)
257 echo " CC ssl/ssl_server2.c"
258 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server2.c test/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
259
260ssl/ssl_fork_server$(EXEXT): ssl/ssl_fork_server.c $(DEP)
261 echo " CC ssl/ssl_fork_server.c"
262 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_fork_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
263
264ssl/ssl_pthread_server$(EXEXT): ssl/ssl_pthread_server.c $(DEP)
265 echo " CC ssl/ssl_pthread_server.c"
266 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_pthread_server.c $(LOCAL_LDFLAGS) -lpthread $(LDFLAGS) -o $@
267
268ssl/ssl_mail_client$(EXEXT): ssl/ssl_mail_client.c $(DEP)
269 echo " CC ssl/ssl_mail_client.c"
270 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_mail_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
271
272ssl/mini_client$(EXEXT): ssl/mini_client.c $(DEP)
273 echo " CC ssl/mini_client.c"
274 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/mini_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
275
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200276test/benchmark$(EXEXT): test/benchmark.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100277 echo " CC test/benchmark.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200278 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/benchmark.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000279
Andrzej Kurek89c048c2018-03-16 07:37:44 -0400280test/cpp_dummy_build$(EXEXT): test/cpp_dummy_build.cpp $(DEP)
281 echo " CXX test/cpp_dummy_build.cpp"
282 $(CXX) $(LOCAL_CXXFLAGS) $(CXXFLAGS) test/cpp_dummy_build.cpp $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Andrzej Kurek40741f82018-03-14 17:24:01 -0400283
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200284test/selftest$(EXEXT): test/selftest.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100285 echo " CC test/selftest.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200286 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/selftest.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000287
Gilles Peskine70824f22020-02-26 19:05:33 +0100288test/udp_proxy$(EXEXT): test/udp_proxy.c $(DEP)
289 echo " CC test/udp_proxy.c"
290 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/udp_proxy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
291
Andres Amaya Garcia5ab74a12017-10-24 21:10:45 +0100292test/zeroize$(EXEXT): test/zeroize.c $(DEP)
293 echo " CC test/zeroize.c"
294 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/zeroize.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
295
Jaeden Amero03c60de2019-02-28 11:37:23 +0000296test/query_compile_time_config$(EXEXT): test/query_compile_time_config.c test/query_config.c $(DEP)
Andres AG509ba692018-10-26 18:41:08 +0100297 echo " CC test/query_compile_time_config.c"
Jaeden Amero03c60de2019-02-28 11:37:23 +0000298 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/query_compile_time_config.c test/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Andres AG509ba692018-10-26 18:41:08 +0100299
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200300util/pem2der$(EXEXT): util/pem2der.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100301 echo " CC util/pem2der.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200302 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/pem2der.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker8adf13b2013-08-25 14:50:09 +0200303
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200304util/strerror$(EXEXT): util/strerror.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100305 echo " CC util/strerror.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200306 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/strerror.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker01cc3942012-05-08 08:36:15 +0000307
Gilles Peskine70824f22020-02-26 19:05:33 +0100308x509/cert_app$(EXEXT): x509/cert_app.c $(DEP)
309 echo " CC x509/cert_app.c"
310 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
311
312x509/cert_write$(EXEXT): x509/cert_write.c $(DEP)
313 echo " CC x509/cert_write.c"
314 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_write.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
315
316x509/crl_app$(EXEXT): x509/crl_app.c $(DEP)
317 echo " CC x509/crl_app.c"
318 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/crl_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
319
320x509/cert_req$(EXEXT): x509/cert_req.c $(DEP)
321 echo " CC x509/cert_req.c"
322 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_req.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
323
324x509/req_app$(EXEXT): x509/req_app.c $(DEP)
325 echo " CC x509/req_app.c"
326 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/req_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
327
itayzafrira3ff8a62018-07-10 10:10:21 +0300328psa/crypto_examples$(EXEXT): psa/crypto_examples.c $(DEP)
329 echo " CC psa/crypto_examples.c"
330 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/crypto_examples.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
331
Paul Bakker5121ce52009-01-03 21:22:43 +0000332clean:
Paul Bakker62f88dc2012-05-10 21:26:28 +0000333ifndef WINDOWS
Gilles Peskineae463e62020-02-26 14:44:40 +0100334 rm -f $(APPS)
335 rm -f $(EXTRA_GENERATED)
Jaeden Amerobefe1e152019-06-03 09:14:14 +0100336 -rm -f test/cpp_dummy_build$(EXEXT)
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200337else
Darryl Green9b9a7902019-08-30 14:51:55 +0100338 if exist *.o del /Q /F *.o
339 if exist *.exe del /Q /F *.exe
Darryl Green6c0f94c2018-10-17 16:12:33 +0100340 if exist $(EXTRA_GENERATED) del /S /Q /F $(EXTRA_GENERATED)
Paul Bakker62f88dc2012-05-10 21:26:28 +0000341endif
Manuel Pégourié-Gonnard1b578782013-09-16 13:33:42 +0200342
343list:
344 echo $(APPS)