blob: deb19b6e3c3c78500b028575134df26c8d975641 [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
Gilles Peskine85aba472019-07-02 20:03:01 +02006WARNING_CFLAGS ?= -Wall -Wextra
7WARNING_CXXFLAGS ?= -Wall -Wextra
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
Christoph M. Wintersteiger6ea2dea12019-01-21 17:26:19 +000017include ../3rdparty/Makefile.inc
18LOCAL_CFLAGS+=$(THIRDPARTY_INCLUDES)
Jaeden Amero30b340a2018-10-25 17:37:00 +010019
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020020ifndef SHARED
Gilles Peskine4fa9f9f2020-02-26 19:05:31 +010021DEP=../library/libmbedcrypto.a ../library/libmbedx509.a ../library/libmbedtls.a
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020022else
Gilles Peskine4fa9f9f2020-02-26 19:05:31 +010023DEP=../library/libmbedcrypto.$(DLEXT) ../library/libmbedx509.$(DLEXT) ../library/libmbedtls.$(DLEXT)
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020024endif
Christoph M. Wintersteiger977d89a2018-10-25 12:47:03 +010025
Paul Bakkerc7ffd362012-04-05 12:08:29 +000026ifdef DEBUG
Alon Bar-Levf7a9f302015-02-18 17:55:05 +020027LOCAL_CFLAGS += -g3
Paul Bakkerc7ffd362012-04-05 12:08:29 +000028endif
29
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020030# if we're running on Windows, build for Windows
Paul Bakkercd5b5292012-05-10 20:49:10 +000031ifdef WINDOWS
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020032WINDOWS_BUILD=1
33endif
34
35ifdef WINDOWS_BUILD
36DLEXT=dll
37EXEXT=.exe
Alon Bar-Levada41052015-02-18 17:47:52 +020038LOCAL_LDFLAGS += -lws2_32
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020039ifdef SHARED
40SHARED_SUFFIX=.$(DLEXT)
41endif
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +020042else
Andres Amaya Garcia420f0cc2018-03-27 19:17:21 +010043DLEXT ?= so
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +020044EXEXT=
45SHARED_SUFFIX=
Paul Bakkercd5b5292012-05-10 20:49:10 +000046endif
47
Paul Bakker2770fbd2012-07-03 13:30:23 +000048# Zlib shared library extensions:
49ifdef ZLIB
Alon Bar-Levada41052015-02-18 17:47:52 +020050LOCAL_LDFLAGS += -lz
Paul Bakker2770fbd2012-07-03 13:30:23 +000051endif
52
Gilles Peskine8de196a2020-02-11 17:18:08 +010053APPS = \
54 aes/aescrypt2$(EXEXT) \
55 aes/crypt_and_hash$(EXEXT) \
56 hash/hello$(EXEXT) \
57 hash/generic_sum$(EXEXT) \
58 pkey/dh_client$(EXEXT) \
59 pkey/dh_genprime$(EXEXT) \
60 pkey/dh_server$(EXEXT) \
61 pkey/ecdh_curve25519$(EXEXT) \
62 pkey/ecdsa$(EXEXT) \
63 pkey/gen_key$(EXEXT) \
64 pkey/key_app$(EXEXT) \
65 pkey/key_app_writer$(EXEXT) \
66 pkey/mpi_demo$(EXEXT) \
67 pkey/pk_decrypt$(EXEXT) \
68 pkey/pk_encrypt$(EXEXT) \
69 pkey/pk_sign$(EXEXT) \
70 pkey/pk_verify$(EXEXT) \
71 pkey/rsa_genkey$(EXEXT) \
72 pkey/rsa_decrypt$(EXEXT) \
73 pkey/rsa_encrypt$(EXEXT) \
74 pkey/rsa_sign$(EXEXT) \
75 pkey/rsa_verify$(EXEXT) \
76 pkey/rsa_sign_pss$(EXEXT) \
77 pkey/rsa_verify_pss$(EXEXT) \
Jaeden Amero30fae8e2018-12-20 17:44:21 +000078 psa/crypto_examples$(EXEXT) \
79 psa/key_ladder_demo$(EXEXT) \
80 psa/psa_constant_names$(EXEXT) \
Gilles Peskine8de196a2020-02-11 17:18:08 +010081 ssl/dtls_client$(EXEXT) \
82 ssl/dtls_server$(EXEXT) \
83 ssl/ssl_client1$(EXEXT) \
84 ssl/ssl_client2$(EXEXT) \
85 ssl/ssl_server$(EXEXT) \
86 ssl/ssl_server2$(EXEXT) \
87 ssl/ssl_fork_server$(EXEXT) \
88 ssl/mini_client$(EXEXT) \
89 ssl/ssl_mail_client$(EXEXT) \
90 random/gen_entropy$(EXEXT) \
91 random/gen_random_havege$(EXEXT) \
92 random/gen_random_ctr_drbg$(EXEXT) \
93 test/benchmark$(EXEXT) \
94 test/selftest$(EXEXT) \
95 test/udp_proxy$(EXEXT) \
96 test/zeroize$(EXEXT) \
97 test/query_compile_time_config$(EXEXT) \
98 util/pem2der$(EXEXT) \
99 util/strerror$(EXEXT) \
100 x509/cert_app$(EXEXT) \
101 x509/crl_app$(EXEXT) \
102 x509/cert_req$(EXEXT) \
103 x509/cert_write$(EXEXT) \
104 x509/req_app$(EXEXT) \
105# End of APPS
Paul Bakker5121ce52009-01-03 21:22:43 +0000106
Paul Bakkerf9c49532013-12-19 15:40:58 +0100107ifdef PTHREAD
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200108APPS += ssl/ssl_pthread_server$(EXEXT)
Paul Bakkerf9c49532013-12-19 15:40:58 +0100109endif
110
Andrzej Kurek0211c322018-03-15 05:16:24 -0400111ifdef TEST_CPP
Andrzej Kurek89c048c2018-03-16 07:37:44 -0400112APPS += test/cpp_dummy_build$(EXEXT)
Andrzej Kurek0211c322018-03-15 05:16:24 -0400113endif
114
Gilles Peskine029b5d62018-07-16 23:13:37 +0200115EXTRA_GENERATED =
116
Paul Bakker5121ce52009-01-03 21:22:43 +0000117.SILENT:
118
Philippe Antoine48f35f52019-06-27 08:46:45 +0200119.PHONY: all clean list fuzz
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200120
Paul Bakker5121ce52009-01-03 21:22:43 +0000121all: $(APPS)
Philippe Antoinea864db02019-07-10 20:37:57 +0200122ifndef WINDOWS
123# APPS doesn't include the fuzzing programs, which aren't "normal"
124# sample or test programs, and don't build with MSVC which is
125# warning about fopen
126all: fuzz
127endif
Philippe Antoine48f35f52019-06-27 08:46:45 +0200128
129fuzz:
Janos Follath4f055f42019-08-20 15:12:54 +0100130 $(MAKE) -C fuzz THIRDPARTY_INCLUDES=$(THIRDPARTY_INCLUDES)
Paul Bakker5121ce52009-01-03 21:22:43 +0000131
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200132$(DEP):
Manuel Pégourié-Gonnardfc367082015-06-26 16:50:24 +0200133 $(MAKE) -C ../library
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200134
Darryl Green3b80ab92018-10-17 16:11:34 +0100135ifdef WINDOWS
136EXTRA_GENERATED += psa\psa_constant_names_generated.c
137else
Gilles Peskine029b5d62018-07-16 23:13:37 +0200138EXTRA_GENERATED += psa/psa_constant_names_generated.c
Darryl Green3b80ab92018-10-17 16:11:34 +0100139endif
140
Gilles Peskine029b5d62018-07-16 23:13:37 +0200141psa/psa_constant_names$(EXEXT): psa/psa_constant_names_generated.c
Darryl Greenda7c80e2019-02-06 16:24:43 +0000142psa/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 +0200143 ../scripts/generate_psa_constants.py
144
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200145aes/aescrypt2$(EXEXT): aes/aescrypt2.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100146 echo " CC aes/aescrypt2.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200147 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/aescrypt2.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000148
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200149aes/crypt_and_hash$(EXEXT): aes/crypt_and_hash.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100150 echo " CC aes/crypt_and_hash.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200151 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/crypt_and_hash.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker20a78082011-01-21 09:32:12 +0000152
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200153hash/hello$(EXEXT): hash/hello.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100154 echo " CC hash/hello.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200155 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/hello.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000156
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200157hash/generic_sum$(EXEXT): hash/generic_sum.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100158 echo " CC hash/generic_sum.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200159 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/generic_sum.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerfb6c7e22011-01-21 10:21:11 +0000160
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200161pkey/dh_client$(EXEXT): pkey/dh_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100162 echo " CC pkey/dh_client.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200163 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000164
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200165pkey/dh_genprime$(EXEXT): pkey/dh_genprime.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100166 echo " CC pkey/dh_genprime.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200167 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_genprime.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000168
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200169pkey/dh_server$(EXEXT): pkey/dh_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100170 echo " CC pkey/dh_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200171 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000172
Manuel Pégourié-Gonnard3eb8c342015-10-09 12:11:14 +0100173pkey/ecdh_curve25519$(EXEXT): pkey/ecdh_curve25519.c $(DEP)
174 echo " CC pkey/ecdh_curve25519.c"
175 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdh_curve25519.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
176
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200177pkey/ecdsa$(EXEXT): pkey/ecdsa.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100178 echo " CC pkey/ecdsa.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200179 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdsa.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnardaa431612013-08-09 17:10:27 +0200180
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200181pkey/gen_key$(EXEXT): pkey/gen_key.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100182 echo " CC pkey/gen_key.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200183 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/gen_key.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker15b9b3a2013-09-23 12:05:44 +0200184
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200185pkey/key_app$(EXEXT): pkey/key_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100186 echo " CC pkey/key_app.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200187 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkered56b222011-07-13 11:26:43 +0000188
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200189pkey/key_app_writer$(EXEXT): pkey/key_app_writer.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100190 echo " CC pkey/key_app_writer.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200191 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app_writer.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerbdb912d2012-02-13 23:11:30 +0000192
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200193pkey/mpi_demo$(EXEXT): pkey/mpi_demo.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100194 echo " CC pkey/mpi_demo.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200195 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/mpi_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000196
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200197pkey/pk_decrypt$(EXEXT): pkey/pk_decrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100198 echo " CC pkey/pk_decrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200199 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_decrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200200
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200201pkey/pk_encrypt$(EXEXT): pkey/pk_encrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100202 echo " CC pkey/pk_encrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200203 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_encrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200204
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200205pkey/pk_sign$(EXEXT): pkey/pk_sign.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100206 echo " CC pkey/pk_sign.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200207 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_sign.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200208
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200209pkey/pk_verify$(EXEXT): pkey/pk_verify.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100210 echo " CC pkey/pk_verify.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200211 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_verify.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200212
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200213pkey/rsa_genkey$(EXEXT): pkey/rsa_genkey.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100214 echo " CC pkey/rsa_genkey.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200215 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_genkey.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000216
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200217pkey/rsa_sign$(EXEXT): pkey/rsa_sign.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100218 echo " CC pkey/rsa_sign.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200219 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000220
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200221pkey/rsa_verify$(EXEXT): pkey/rsa_verify.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100222 echo " CC pkey/rsa_verify.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200223 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000224
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200225pkey/rsa_sign_pss$(EXEXT): pkey/rsa_sign_pss.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100226 echo " CC pkey/rsa_sign_pss.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200227 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign_pss.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkere77db2e2011-03-25 14:01:32 +0000228
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200229pkey/rsa_verify_pss$(EXEXT): pkey/rsa_verify_pss.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100230 echo " CC pkey/rsa_verify_pss.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200231 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify_pss.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkere77db2e2011-03-25 14:01:32 +0000232
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200233pkey/rsa_decrypt$(EXEXT): pkey/rsa_decrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100234 echo " CC pkey/rsa_decrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200235 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_decrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker7bc05ff2011-08-09 10:30:36 +0000236
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200237pkey/rsa_encrypt$(EXEXT): pkey/rsa_encrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100238 echo " CC pkey/rsa_encrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200239 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_encrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker7bc05ff2011-08-09 10:30:36 +0000240
Gilles Peskinef0fa4362018-07-16 17:08:43 +0200241psa/key_ladder_demo$(EXEXT): psa/key_ladder_demo.c $(DEP)
242 echo " CC psa/key_ladder_demo.c"
243 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/key_ladder_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
244
Gilles Peskine029b5d62018-07-16 23:13:37 +0200245psa/psa_constant_names$(EXEXT): psa/psa_constant_names.c $(DEP)
246 echo " CC psa/psa_constant_names.c"
247 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/psa_constant_names.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
248
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200249random/gen_entropy$(EXEXT): random/gen_entropy.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100250 echo " CC random/gen_entropy.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200251 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_entropy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker6083fd22011-12-03 21:45:14 +0000252
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200253random/gen_random_havege$(EXEXT): random/gen_random_havege.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100254 echo " CC random/gen_random_havege.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200255 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_havege.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker6083fd22011-12-03 21:45:14 +0000256
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200257random/gen_random_ctr_drbg$(EXEXT): random/gen_random_ctr_drbg.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100258 echo " CC random/gen_random_ctr_drbg.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200259 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_ctr_drbg.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerfc36d162011-01-27 16:50:02 +0000260
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200261ssl/dtls_client$(EXEXT): ssl/dtls_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100262 echo " CC ssl/dtls_client.c"
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +0200263 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnarde63582a2014-10-14 11:47:21 +0200264
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200265ssl/dtls_server$(EXEXT): ssl/dtls_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100266 echo " CC ssl/dtls_server.c"
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +0200267 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnarde63582a2014-10-14 11:47:21 +0200268
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200269ssl/ssl_client1$(EXEXT): ssl/ssl_client1.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100270 echo " CC ssl/ssl_client1.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200271 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client1.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000272
Jaeden Amero7cb47de2019-02-28 11:37:23 +0000273ssl/ssl_client2$(EXEXT): ssl/ssl_client2.c test/query_config.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100274 echo " CC ssl/ssl_client2.c"
Jaeden Amero7cb47de2019-02-28 11:37:23 +0000275 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client2.c test/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000276
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200277ssl/ssl_server$(EXEXT): ssl/ssl_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100278 echo " CC ssl/ssl_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200279 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000280
Jaeden Amero7cb47de2019-02-28 11:37:23 +0000281ssl/ssl_server2$(EXEXT): ssl/ssl_server2.c test/query_config.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100282 echo " CC ssl/ssl_server2.c"
Jaeden Amero7cb47de2019-02-28 11:37:23 +0000283 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server2.c test/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerb60b95f2012-09-25 09:05:17 +0000284
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200285ssl/ssl_fork_server$(EXEXT): ssl/ssl_fork_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100286 echo " CC ssl/ssl_fork_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200287 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_fork_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker896ac222011-05-20 12:33:05 +0000288
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200289ssl/ssl_pthread_server$(EXEXT): ssl/ssl_pthread_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100290 echo " CC ssl/ssl_pthread_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200291 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_pthread_server.c $(LOCAL_LDFLAGS) -lpthread $(LDFLAGS) -o $@
Paul Bakkerf9c49532013-12-19 15:40:58 +0100292
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200293ssl/ssl_mail_client$(EXEXT): ssl/ssl_mail_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100294 echo " CC ssl/ssl_mail_client.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200295 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_mail_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker1496d382011-05-23 12:07:29 +0000296
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200297ssl/mini_client$(EXEXT): ssl/mini_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100298 echo " CC ssl/mini_client.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200299 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/mini_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnarda6fc5b22014-11-24 14:05:25 +0100300
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200301test/benchmark$(EXEXT): test/benchmark.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100302 echo " CC test/benchmark.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200303 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/benchmark.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000304
Andrzej Kurek89c048c2018-03-16 07:37:44 -0400305test/cpp_dummy_build$(EXEXT): test/cpp_dummy_build.cpp $(DEP)
306 echo " CXX test/cpp_dummy_build.cpp"
307 $(CXX) $(LOCAL_CXXFLAGS) $(CXXFLAGS) test/cpp_dummy_build.cpp $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Andrzej Kurek40741f82018-03-14 17:24:01 -0400308
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200309test/selftest$(EXEXT): test/selftest.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100310 echo " CC test/selftest.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200311 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/selftest.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000312
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200313test/udp_proxy$(EXEXT): test/udp_proxy.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100314 echo " CC test/udp_proxy.c"
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +0200315 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/udp_proxy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnardcb4137b2014-09-04 14:55:28 +0200316
Andres Amaya Garcia5ab74a12017-10-24 21:10:45 +0100317test/zeroize$(EXEXT): test/zeroize.c $(DEP)
318 echo " CC test/zeroize.c"
319 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/zeroize.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
320
Jaeden Amero7cb47de2019-02-28 11:37:23 +0000321test/query_compile_time_config$(EXEXT): test/query_compile_time_config.c test/query_config.c $(DEP)
Andres AG509ba692018-10-26 18:41:08 +0100322 echo " CC test/query_compile_time_config.c"
Jaeden Amero7cb47de2019-02-28 11:37:23 +0000323 $(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 +0100324
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200325util/pem2der$(EXEXT): util/pem2der.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100326 echo " CC util/pem2der.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200327 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/pem2der.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker8adf13b2013-08-25 14:50:09 +0200328
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200329util/strerror$(EXEXT): util/strerror.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100330 echo " CC util/strerror.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200331 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/strerror.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker01cc3942012-05-08 08:36:15 +0000332
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200333x509/cert_app$(EXEXT): x509/cert_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100334 echo " CC x509/cert_app.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200335 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker4fc45522010-03-18 20:11:58 +0000336
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200337x509/cert_write$(EXEXT): x509/cert_write.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100338 echo " CC x509/cert_write.c"
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200339 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_write.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
340
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200341x509/crl_app$(EXEXT): x509/crl_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100342 echo " CC x509/crl_app.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200343 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/crl_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkera9507c02011-02-12 15:27:28 +0000344
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200345x509/cert_req$(EXEXT): x509/cert_req.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100346 echo " CC x509/cert_req.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200347 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_req.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerbdb912d2012-02-13 23:11:30 +0000348
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200349x509/req_app$(EXEXT): x509/req_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100350 echo " CC x509/req_app.c"
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200351 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/req_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
352
itayzafrira3ff8a62018-07-10 10:10:21 +0300353psa/crypto_examples$(EXEXT): psa/crypto_examples.c $(DEP)
354 echo " CC psa/crypto_examples.c"
355 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/crypto_examples.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
356
Paul Bakker5121ce52009-01-03 21:22:43 +0000357clean:
Paul Bakker62f88dc2012-05-10 21:26:28 +0000358ifndef WINDOWS
Paul Bakker5121ce52009-01-03 21:22:43 +0000359 rm -f $(APPS)
Jaeden Amerobefe1e152019-06-03 09:14:14 +0100360 -rm -f ssl/ssl_pthread_server$(EXEXT)
Gilles Peskineae463e62020-02-26 14:44:40 +0100361 rm -f $(EXTRA_GENERATED)
Jaeden Amerobefe1e152019-06-03 09:14:14 +0100362 -rm -f test/cpp_dummy_build$(EXEXT)
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200363else
Darryl Green9b9a7902019-08-30 14:51:55 +0100364 if exist *.o del /Q /F *.o
365 if exist *.exe del /Q /F *.exe
Gilles Peskine5ec51f92020-03-10 13:29:19 +0100366 del /S /Q /F $(EXTRA_GENERATED)
Paul Bakker62f88dc2012-05-10 21:26:28 +0000367endif
Philippe Antoine48f35f52019-06-27 08:46:45 +0200368 $(MAKE) -C fuzz clean
Manuel Pégourié-Gonnard1b578782013-09-16 13:33:42 +0200369
370list:
371 echo $(APPS)