blob: 1df2cb19f9240edfccff0035e8bff3d1ce92ff2c [file] [log] [blame]
Paul Bakker5121ce52009-01-03 21:22:43 +00001
2# To compile on SunOS: add "-lsocket -lnsl" to LDFLAGS
Paul Bakker43b7e352011-01-18 15:27:19 +00003# To compile with PKCS11: add "-lpkcs11-helper" to LDFLAGS
Paul Bakker5121ce52009-01-03 21:22:43 +00004
Alon Bar-Levf7a9f302015-02-18 17:55:05 +02005CFLAGS ?= -O2
6WARNING_CFLAGS ?= -Wall -W -Wdeclaration-after-statement
Andrzej Kurek40741f82018-03-14 17:24:01 -04007WARNING_CXXFLAGS ?= -Wall -W
Alon Bar-Levada41052015-02-18 17:47:52 +02008LDFLAGS ?=
Alon Bar-Levf7a9f302015-02-18 17:55:05 +02009
10LOCAL_CFLAGS = $(WARNING_CFLAGS) -I../include -D_FILE_OFFSET_BITS=64
Andrzej Kurek40741f82018-03-14 17:24:01 -040011LOCAL_CXXFLAGS = $(WARNING_CXXFLAGS) -I../include -D_FILE_OFFSET_BITS=64
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020012LOCAL_LDFLAGS = -L../library \
Manuel Pégourié-Gonnard21e1ac22015-06-25 08:45:12 +020013 -lmbedtls$(SHARED_SUFFIX) \
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020014 -lmbedx509$(SHARED_SUFFIX) \
Manuel Pégourié-Gonnard21e1ac22015-06-25 08:45:12 +020015 -lmbedcrypto$(SHARED_SUFFIX)
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020016
17ifndef SHARED
18DEP=../library/libmbedcrypto.a ../library/libmbedx509.a ../library/libmbedtls.a
19else
20DEP=../library/libmbedcrypto.$(DLEXT) ../library/libmbedx509.$(DLEXT) ../library/libmbedtls.$(DLEXT)
21endif
Paul Bakker5121ce52009-01-03 21:22:43 +000022
Paul Bakkerc7ffd362012-04-05 12:08:29 +000023ifdef DEBUG
Alon Bar-Levf7a9f302015-02-18 17:55:05 +020024LOCAL_CFLAGS += -g3
Paul Bakkerc7ffd362012-04-05 12:08:29 +000025endif
26
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020027# if we're running on Windows, build for Windows
Paul Bakkercd5b5292012-05-10 20:49:10 +000028ifdef WINDOWS
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020029WINDOWS_BUILD=1
30endif
31
32ifdef WINDOWS_BUILD
33DLEXT=dll
34EXEXT=.exe
Alon Bar-Levada41052015-02-18 17:47:52 +020035LOCAL_LDFLAGS += -lws2_32
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020036ifdef SHARED
37SHARED_SUFFIX=.$(DLEXT)
38endif
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +020039else
Andres Amaya Garcia420f0cc2018-03-27 19:17:21 +010040DLEXT ?= so
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +020041EXEXT=
42SHARED_SUFFIX=
Paul Bakkercd5b5292012-05-10 20:49:10 +000043endif
44
Paul Bakker2770fbd2012-07-03 13:30:23 +000045# Zlib shared library extensions:
46ifdef ZLIB
Alon Bar-Levada41052015-02-18 17:47:52 +020047LOCAL_LDFLAGS += -lz
Paul Bakker2770fbd2012-07-03 13:30:23 +000048endif
49
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020050APPS = aes/aescrypt2$(EXEXT) aes/crypt_and_hash$(EXEXT) \
51 hash/hello$(EXEXT) hash/generic_sum$(EXEXT) \
Manuel Pégourié-Gonnardb3271682015-05-28 15:51:21 +020052 pkey/dh_client$(EXEXT) \
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020053 pkey/dh_genprime$(EXEXT) pkey/dh_server$(EXEXT) \
Manuel Pégourié-Gonnard3eb8c342015-10-09 12:11:14 +010054 pkey/ecdh_curve25519$(EXEXT) \
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +020055 pkey/ecdsa$(EXEXT) pkey/gen_key$(EXEXT) \
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020056 pkey/key_app$(EXEXT) pkey/key_app_writer$(EXEXT) \
57 pkey/mpi_demo$(EXEXT) pkey/pk_decrypt$(EXEXT) \
58 pkey/pk_encrypt$(EXEXT) pkey/pk_sign$(EXEXT) \
59 pkey/pk_verify$(EXEXT) pkey/rsa_genkey$(EXEXT) \
60 pkey/rsa_decrypt$(EXEXT) pkey/rsa_encrypt$(EXEXT) \
61 pkey/rsa_sign$(EXEXT) pkey/rsa_verify$(EXEXT) \
62 pkey/rsa_sign_pss$(EXEXT) pkey/rsa_verify_pss$(EXEXT) \
itayzafrira3ff8a62018-07-10 10:10:21 +030063 psa/crypto_examples$(EXEXT) \
Gilles Peskinef0fa4362018-07-16 17:08:43 +020064 psa/key_ladder_demo$(EXEXT) psa/psa_constant_names$(EXEXT) \
Manuel Pégourié-Gonnardd901d172015-02-16 18:37:53 +000065 ssl/dtls_client$(EXEXT) ssl/dtls_server$(EXEXT) \
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020066 ssl/ssl_client1$(EXEXT) ssl/ssl_client2$(EXEXT) \
67 ssl/ssl_server$(EXEXT) ssl/ssl_server2$(EXEXT) \
Manuel Pégourié-Gonnarda6fc5b22014-11-24 14:05:25 +010068 ssl/ssl_fork_server$(EXEXT) ssl/mini_client$(EXEXT) \
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020069 ssl/ssl_mail_client$(EXEXT) random/gen_entropy$(EXEXT) \
70 random/gen_random_havege$(EXEXT) \
71 random/gen_random_ctr_drbg$(EXEXT) \
72 test/ssl_cert_test$(EXEXT) test/benchmark$(EXEXT) \
Manuel Pégourié-Gonnard34be4022015-03-06 14:49:37 +000073 test/selftest$(EXEXT) test/udp_proxy$(EXEXT) \
Andres Amaya Garciac6b0abd2017-10-24 22:35:13 +010074 test/zeroize$(EXEXT) \
Andres AG509ba692018-10-26 18:41:08 +010075 test/query_compile_time_config$(EXEXT) \
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020076 util/pem2der$(EXEXT) util/strerror$(EXEXT) \
77 x509/cert_app$(EXEXT) x509/crl_app$(EXEXT) \
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +020078 x509/cert_req$(EXEXT) x509/cert_write$(EXEXT) \
79 x509/req_app$(EXEXT)
Paul Bakker5121ce52009-01-03 21:22:43 +000080
Paul Bakkerf9c49532013-12-19 15:40:58 +010081ifdef PTHREAD
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +020082APPS += ssl/ssl_pthread_server$(EXEXT)
Paul Bakkerf9c49532013-12-19 15:40:58 +010083endif
84
Andrzej Kurek0211c322018-03-15 05:16:24 -040085ifdef TEST_CPP
Andrzej Kurek89c048c2018-03-16 07:37:44 -040086APPS += test/cpp_dummy_build$(EXEXT)
Andrzej Kurek0211c322018-03-15 05:16:24 -040087endif
88
Gilles Peskine029b5d62018-07-16 23:13:37 +020089EXTRA_GENERATED =
90
Paul Bakker5121ce52009-01-03 21:22:43 +000091.SILENT:
92
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020093.PHONY: all clean list
94
Paul Bakker5121ce52009-01-03 21:22:43 +000095all: $(APPS)
96
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020097$(DEP):
Manuel Pégourié-Gonnardfc367082015-06-26 16:50:24 +020098 $(MAKE) -C ../library
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020099
Darryl Green3b80ab92018-10-17 16:11:34 +0100100ifdef WINDOWS
101EXTRA_GENERATED += psa\psa_constant_names_generated.c
102else
Gilles Peskine029b5d62018-07-16 23:13:37 +0200103EXTRA_GENERATED += psa/psa_constant_names_generated.c
Darryl Green3b80ab92018-10-17 16:11:34 +0100104endif
105
Gilles Peskine029b5d62018-07-16 23:13:37 +0200106psa/psa_constant_names$(EXEXT): psa/psa_constant_names_generated.c
Darryl Greenda7c80e2019-02-06 16:24:43 +0000107psa/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 +0200108 ../scripts/generate_psa_constants.py
109
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200110aes/aescrypt2$(EXEXT): aes/aescrypt2.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100111 echo " CC aes/aescrypt2.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200112 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/aescrypt2.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000113
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200114aes/crypt_and_hash$(EXEXT): aes/crypt_and_hash.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100115 echo " CC aes/crypt_and_hash.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200116 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/crypt_and_hash.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker20a78082011-01-21 09:32:12 +0000117
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200118hash/hello$(EXEXT): hash/hello.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100119 echo " CC hash/hello.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200120 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/hello.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000121
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200122hash/generic_sum$(EXEXT): hash/generic_sum.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100123 echo " CC hash/generic_sum.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200124 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/generic_sum.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerfb6c7e22011-01-21 10:21:11 +0000125
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200126pkey/dh_client$(EXEXT): pkey/dh_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100127 echo " CC pkey/dh_client.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200128 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000129
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200130pkey/dh_genprime$(EXEXT): pkey/dh_genprime.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100131 echo " CC pkey/dh_genprime.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200132 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_genprime.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000133
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200134pkey/dh_server$(EXEXT): pkey/dh_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100135 echo " CC pkey/dh_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200136 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000137
Manuel Pégourié-Gonnard3eb8c342015-10-09 12:11:14 +0100138pkey/ecdh_curve25519$(EXEXT): pkey/ecdh_curve25519.c $(DEP)
139 echo " CC pkey/ecdh_curve25519.c"
140 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdh_curve25519.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
141
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200142pkey/ecdsa$(EXEXT): pkey/ecdsa.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100143 echo " CC pkey/ecdsa.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200144 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdsa.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnardaa431612013-08-09 17:10:27 +0200145
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200146pkey/gen_key$(EXEXT): pkey/gen_key.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100147 echo " CC pkey/gen_key.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200148 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/gen_key.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker15b9b3a2013-09-23 12:05:44 +0200149
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200150pkey/key_app$(EXEXT): pkey/key_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100151 echo " CC pkey/key_app.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200152 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkered56b222011-07-13 11:26:43 +0000153
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200154pkey/key_app_writer$(EXEXT): pkey/key_app_writer.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100155 echo " CC pkey/key_app_writer.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200156 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app_writer.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerbdb912d2012-02-13 23:11:30 +0000157
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200158pkey/mpi_demo$(EXEXT): pkey/mpi_demo.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100159 echo " CC pkey/mpi_demo.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200160 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/mpi_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000161
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200162pkey/pk_decrypt$(EXEXT): pkey/pk_decrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100163 echo " CC pkey/pk_decrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200164 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_decrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200165
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200166pkey/pk_encrypt$(EXEXT): pkey/pk_encrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100167 echo " CC pkey/pk_encrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200168 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_encrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200169
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200170pkey/pk_sign$(EXEXT): pkey/pk_sign.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100171 echo " CC pkey/pk_sign.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200172 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_sign.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200173
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200174pkey/pk_verify$(EXEXT): pkey/pk_verify.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100175 echo " CC pkey/pk_verify.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200176 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_verify.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200177
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200178pkey/rsa_genkey$(EXEXT): pkey/rsa_genkey.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100179 echo " CC pkey/rsa_genkey.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200180 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_genkey.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000181
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200182pkey/rsa_sign$(EXEXT): pkey/rsa_sign.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100183 echo " CC pkey/rsa_sign.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200184 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000185
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200186pkey/rsa_verify$(EXEXT): pkey/rsa_verify.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100187 echo " CC pkey/rsa_verify.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200188 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000189
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200190pkey/rsa_sign_pss$(EXEXT): pkey/rsa_sign_pss.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100191 echo " CC pkey/rsa_sign_pss.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200192 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign_pss.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkere77db2e2011-03-25 14:01:32 +0000193
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200194pkey/rsa_verify_pss$(EXEXT): pkey/rsa_verify_pss.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100195 echo " CC pkey/rsa_verify_pss.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200196 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify_pss.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkere77db2e2011-03-25 14:01:32 +0000197
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200198pkey/rsa_decrypt$(EXEXT): pkey/rsa_decrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100199 echo " CC pkey/rsa_decrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200200 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_decrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker7bc05ff2011-08-09 10:30:36 +0000201
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200202pkey/rsa_encrypt$(EXEXT): pkey/rsa_encrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100203 echo " CC pkey/rsa_encrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200204 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_encrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker7bc05ff2011-08-09 10:30:36 +0000205
Gilles Peskinef0fa4362018-07-16 17:08:43 +0200206psa/key_ladder_demo$(EXEXT): psa/key_ladder_demo.c $(DEP)
207 echo " CC psa/key_ladder_demo.c"
208 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/key_ladder_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
209
Gilles Peskine029b5d62018-07-16 23:13:37 +0200210psa/psa_constant_names$(EXEXT): psa/psa_constant_names.c $(DEP)
211 echo " CC psa/psa_constant_names.c"
212 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/psa_constant_names.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
213
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200214random/gen_entropy$(EXEXT): random/gen_entropy.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100215 echo " CC random/gen_entropy.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200216 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_entropy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker6083fd22011-12-03 21:45:14 +0000217
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200218random/gen_random_havege$(EXEXT): random/gen_random_havege.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100219 echo " CC random/gen_random_havege.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200220 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_havege.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker6083fd22011-12-03 21:45:14 +0000221
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200222random/gen_random_ctr_drbg$(EXEXT): random/gen_random_ctr_drbg.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100223 echo " CC random/gen_random_ctr_drbg.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200224 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_ctr_drbg.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerfc36d162011-01-27 16:50:02 +0000225
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200226ssl/dtls_client$(EXEXT): ssl/dtls_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100227 echo " CC ssl/dtls_client.c"
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +0200228 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnarde63582a2014-10-14 11:47:21 +0200229
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200230ssl/dtls_server$(EXEXT): ssl/dtls_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100231 echo " CC ssl/dtls_server.c"
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +0200232 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnarde63582a2014-10-14 11:47:21 +0200233
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200234ssl/ssl_client1$(EXEXT): ssl/ssl_client1.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100235 echo " CC ssl/ssl_client1.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200236 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client1.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000237
Andres Amaya Garciabc818842018-10-16 21:08:38 +0100238ssl/ssl_client2$(EXEXT): ssl/ssl_client2.c ssl/query_config.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100239 echo " CC ssl/ssl_client2.c"
Andres Amaya Garciabc818842018-10-16 21:08:38 +0100240 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client2.c ssl/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000241
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200242ssl/ssl_server$(EXEXT): ssl/ssl_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100243 echo " CC ssl/ssl_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200244 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000245
Andres Amaya Garciabc818842018-10-16 21:08:38 +0100246ssl/ssl_server2$(EXEXT): ssl/ssl_server2.c ssl/query_config.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100247 echo " CC ssl/ssl_server2.c"
Andres Amaya Garciabc818842018-10-16 21:08:38 +0100248 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server2.c ssl/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerb60b95f2012-09-25 09:05:17 +0000249
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200250ssl/ssl_fork_server$(EXEXT): ssl/ssl_fork_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100251 echo " CC ssl/ssl_fork_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200252 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_fork_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker896ac222011-05-20 12:33:05 +0000253
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200254ssl/ssl_pthread_server$(EXEXT): ssl/ssl_pthread_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100255 echo " CC ssl/ssl_pthread_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200256 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_pthread_server.c $(LOCAL_LDFLAGS) -lpthread $(LDFLAGS) -o $@
Paul Bakkerf9c49532013-12-19 15:40:58 +0100257
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200258ssl/ssl_mail_client$(EXEXT): ssl/ssl_mail_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100259 echo " CC ssl/ssl_mail_client.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200260 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_mail_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker1496d382011-05-23 12:07:29 +0000261
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200262ssl/mini_client$(EXEXT): ssl/mini_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100263 echo " CC ssl/mini_client.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200264 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/mini_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnarda6fc5b22014-11-24 14:05:25 +0100265
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200266test/ssl_cert_test$(EXEXT): test/ssl_cert_test.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100267 echo " CC test/ssl_cert_test.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200268 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/ssl_cert_test.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker4593aea2009-02-09 22:32:35 +0000269
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200270test/benchmark$(EXEXT): test/benchmark.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100271 echo " CC test/benchmark.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200272 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/benchmark.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000273
Andrzej Kurek89c048c2018-03-16 07:37:44 -0400274test/cpp_dummy_build$(EXEXT): test/cpp_dummy_build.cpp $(DEP)
275 echo " CXX test/cpp_dummy_build.cpp"
276 $(CXX) $(LOCAL_CXXFLAGS) $(CXXFLAGS) test/cpp_dummy_build.cpp $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Andrzej Kurek40741f82018-03-14 17:24:01 -0400277
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200278test/selftest$(EXEXT): test/selftest.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100279 echo " CC test/selftest.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200280 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/selftest.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000281
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200282test/udp_proxy$(EXEXT): test/udp_proxy.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100283 echo " CC test/udp_proxy.c"
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +0200284 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/udp_proxy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnardcb4137b2014-09-04 14:55:28 +0200285
Andres Amaya Garcia5ab74a12017-10-24 21:10:45 +0100286test/zeroize$(EXEXT): test/zeroize.c $(DEP)
287 echo " CC test/zeroize.c"
288 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/zeroize.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
289
Andres AG509ba692018-10-26 18:41:08 +0100290test/query_compile_time_config$(EXEXT): test/query_compile_time_config.c ssl/query_config.c $(DEP)
291 echo " CC test/query_compile_time_config.c"
292 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/query_compile_time_config.c ssl/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
293
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200294util/pem2der$(EXEXT): util/pem2der.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100295 echo " CC util/pem2der.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200296 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/pem2der.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker8adf13b2013-08-25 14:50:09 +0200297
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200298util/strerror$(EXEXT): util/strerror.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100299 echo " CC util/strerror.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200300 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/strerror.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker01cc3942012-05-08 08:36:15 +0000301
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200302x509/cert_app$(EXEXT): x509/cert_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100303 echo " CC x509/cert_app.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200304 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker4fc45522010-03-18 20:11:58 +0000305
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200306x509/cert_write$(EXEXT): x509/cert_write.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100307 echo " CC x509/cert_write.c"
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200308 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_write.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
309
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200310x509/crl_app$(EXEXT): x509/crl_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100311 echo " CC x509/crl_app.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200312 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/crl_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkera9507c02011-02-12 15:27:28 +0000313
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200314x509/cert_req$(EXEXT): x509/cert_req.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100315 echo " CC x509/cert_req.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200316 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_req.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerbdb912d2012-02-13 23:11:30 +0000317
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200318x509/req_app$(EXEXT): x509/req_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100319 echo " CC x509/req_app.c"
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200320 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/req_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
321
itayzafrira3ff8a62018-07-10 10:10:21 +0300322psa/crypto_examples$(EXEXT): psa/crypto_examples.c $(DEP)
323 echo " CC psa/crypto_examples.c"
324 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/crypto_examples.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
325
Paul Bakker5121ce52009-01-03 21:22:43 +0000326clean:
Paul Bakker62f88dc2012-05-10 21:26:28 +0000327ifndef WINDOWS
Gilles Peskine029b5d62018-07-16 23:13:37 +0200328 rm -f $(APPS) $(EXTRA_GENERATED)
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200329else
Darryl Green6c0f94c2018-10-17 16:12:33 +0100330 if exist *.o del /S /Q /F *.o
331 if exist *.exe del /S /Q /F *.exe
332 if exist $(EXTRA_GENERATED) del /S /Q /F $(EXTRA_GENERATED)
Paul Bakker62f88dc2012-05-10 21:26:28 +0000333endif
Manuel Pégourié-Gonnard1b578782013-09-16 13:33:42 +0200334
335list:
336 echo $(APPS)