blob: 9ee9820b7ac85d238901d24816514dc030709077 [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
Paul Elliott9e3256a2020-12-17 18:17:32 +00005WARNING_CFLAGS ?= -Wall -Wextra -Wformat=2 -Wno-format-nonliteral
6WARNING_CXXFLAGS ?= -Wall -Wextra -Wformat=2 -Wno-format-nonliteral
Alon Bar-Levada41052015-02-18 17:47:52 +02007LDFLAGS ?=
Alon Bar-Levf7a9f302015-02-18 17:55:05 +02008
Gilles Peskine4ad57332023-12-22 11:30:30 +01009MBEDTLS_TEST_PATH = ../tests
10# Support code used by test programs and test builds, excluding TLS-specific
11# code which is in the src/test_helpers subdirectory.
12MBEDTLS_TEST_OBJS = $(patsubst %.c,%.o,$(wildcard ${MBEDTLS_TEST_PATH}/src/*.c ${MBEDTLS_TEST_PATH}/src/drivers/*.c))
Ronald Cron8dc0af22020-06-05 16:00:22 +020013
Gilles Peskinef5c5ce72023-12-22 11:36:53 +010014LOCAL_CFLAGS = $(WARNING_CFLAGS) -I$(MBEDTLS_TEST_PATH)/include -I../include -D_FILE_OFFSET_BITS=64
Mateusz Starzyk1aec6462021-02-08 15:34:42 +010015LOCAL_CXXFLAGS = $(WARNING_CXXFLAGS) -I../include -I../tests/include -D_FILE_OFFSET_BITS=64
Ronald Cron8dc0af22020-06-05 16:00:22 +020016LOCAL_LDFLAGS = ${MBEDTLS_TEST_OBJS} \
17 -L../library \
Manuel Pégourié-Gonnard21e1ac22015-06-25 08:45:12 +020018 -lmbedtls$(SHARED_SUFFIX) \
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020019 -lmbedx509$(SHARED_SUFFIX) \
Manuel Pégourié-Gonnard21e1ac22015-06-25 08:45:12 +020020 -lmbedcrypto$(SHARED_SUFFIX)
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020021
Gilles Peskine5dbee582021-11-04 15:07:28 +010022ifeq ($(shell uname -s),Linux)
23DLOPEN_LDFLAGS ?= -ldl
24else
25DLOPEN_LDFLAGS ?=
26endif
27
Christoph M. Wintersteiger6ea2dea12019-01-21 17:26:19 +000028include ../3rdparty/Makefile.inc
29LOCAL_CFLAGS+=$(THIRDPARTY_INCLUDES)
Jaeden Amero30b340a2018-10-25 17:37:00 +010030
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020031ifndef SHARED
Ronald Cron8dc0af22020-06-05 16:00:22 +020032MBEDLIBS=../library/libmbedcrypto.a ../library/libmbedx509.a ../library/libmbedtls.a
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020033else
Ronald Cron8dc0af22020-06-05 16:00:22 +020034MBEDLIBS=../library/libmbedcrypto.$(DLEXT) ../library/libmbedx509.$(DLEXT) ../library/libmbedtls.$(DLEXT)
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020035endif
Ronald Cron8dc0af22020-06-05 16:00:22 +020036DEP=${MBEDLIBS} ${MBEDTLS_TEST_OBJS}
Christoph M. Wintersteiger977d89a2018-10-25 12:47:03 +010037
Paul Bakkerc7ffd362012-04-05 12:08:29 +000038ifdef DEBUG
Alon Bar-Levf7a9f302015-02-18 17:55:05 +020039LOCAL_CFLAGS += -g3
Paul Bakkerc7ffd362012-04-05 12:08:29 +000040endif
41
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +020042# if we're running on Windows, build for Windows
Paul Bakkercd5b5292012-05-10 20:49:10 +000043ifdef WINDOWS
Alon Bar-Lev18ba0cc2015-02-14 01:04:58 +020044WINDOWS_BUILD=1
45endif
46
47ifdef WINDOWS_BUILD
Gilles Peskineafccc1a2023-12-22 09:35:34 +010048 DLEXT=dll
49 EXEXT=.exe
50 LOCAL_LDFLAGS += -lws2_32 -lbcrypt
51 ifdef SHARED
52 SHARED_SUFFIX=.$(DLEXT)
53 endif
54
55else # Not building for Windows
56 DLEXT ?= so
57 EXEXT=
58 SHARED_SUFFIX=
Gilles Peskine8b427c82021-07-13 18:14:25 +020059endif
60
61ifdef WINDOWS
62PYTHON ?= python
63else
Gilles Peskine687d1ab2021-04-22 01:01:56 +020064PYTHON ?= $(shell if type python3 >/dev/null 2>/dev/null; then echo python3; else echo python; fi)
Paul Bakkercd5b5292012-05-10 20:49:10 +000065endif
66
Gilles Peskinef80a0292021-11-04 15:18:00 +010067# Only build the dlopen test in shared library builds, and not when building
68# for Windows.
69ifdef BUILD_DLOPEN
70# Don't override the value
71else ifdef WINDOWS_BUILD
72BUILD_DLOPEN =
73else ifdef SHARED
74BUILD_DLOPEN = y
75else
76BUILD_DLOPEN =
77endif
78
Gilles Peskineb0fa9d22021-04-22 20:07:44 +020079## The following assignment is the list of base names of applications that
80## will be built on Windows. Extra Linux/Unix/POSIX-only applications can
81## be declared by appending with `APPS += ...` afterwards.
82## See the get_app_list function in scripts/generate_visualc_files.pl and
83## make sure to check that it still works if you tweak the format here.
Gilles Peskine8de196a2020-02-11 17:18:08 +010084APPS = \
Gilles Peskineb0fa9d22021-04-22 20:07:44 +020085 aes/crypt_and_hash \
Manuel Pégourié-Gonnard29088a42022-02-01 09:38:26 +010086 cipher/cipher_aead_demo \
Gilles Peskineb0fa9d22021-04-22 20:07:44 +020087 hash/generic_sum \
88 hash/hello \
Manuel Pégourié-Gonnard29088a42022-02-01 09:38:26 +010089 hash/md_hmac_demo \
Gilles Peskineb0fa9d22021-04-22 20:07:44 +020090 pkey/dh_client \
91 pkey/dh_genprime \
92 pkey/dh_server \
93 pkey/ecdh_curve25519 \
94 pkey/ecdsa \
95 pkey/gen_key \
96 pkey/key_app \
97 pkey/key_app_writer \
98 pkey/mpi_demo \
99 pkey/pk_decrypt \
100 pkey/pk_encrypt \
101 pkey/pk_sign \
102 pkey/pk_verify \
103 pkey/rsa_decrypt \
104 pkey/rsa_encrypt \
105 pkey/rsa_genkey \
106 pkey/rsa_sign \
107 pkey/rsa_sign_pss \
108 pkey/rsa_verify \
109 pkey/rsa_verify_pss \
Manuel Pégourié-Gonnard6fdc9e82022-01-31 13:27:39 +0100110 psa/aead_demo \
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200111 psa/crypto_examples \
Manuel Pégourié-Gonnard69bb3f52022-01-31 13:09:47 +0100112 psa/hmac_demo \
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200113 psa/key_ladder_demo \
114 psa/psa_constant_names \
Hannes Tschofenigf8b9ebf2023-07-18 13:46:10 +0100115 psa/psa_hash \
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200116 random/gen_entropy \
117 random/gen_random_ctr_drbg \
118 ssl/dtls_client \
119 ssl/dtls_server \
120 ssl/mini_client \
121 ssl/ssl_client1 \
122 ssl/ssl_client2 \
123 ssl/ssl_context_info \
124 ssl/ssl_fork_server \
125 ssl/ssl_mail_client \
126 ssl/ssl_server \
127 ssl/ssl_server2 \
128 test/benchmark \
Gilles Peskine33406b62023-11-02 18:48:39 +0100129 test/metatest \
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200130 test/query_compile_time_config \
Gilles Peskinedf6e84a2023-02-22 22:09:51 +0100131 test/query_included_headers \
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200132 test/selftest \
133 test/udp_proxy \
134 test/zeroize \
135 util/pem2der \
136 util/strerror \
137 x509/cert_app \
138 x509/cert_req \
139 x509/cert_write \
140 x509/crl_app \
Gilles Peskine2c1442e2021-07-26 20:20:54 +0200141 x509/load_roots \
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200142 x509/req_app \
Gilles Peskine8de196a2020-02-11 17:18:08 +0100143# End of APPS
Paul Bakker5121ce52009-01-03 21:22:43 +0000144
Paul Elliott79dc6da2023-12-11 17:52:03 +0000145ifeq ($(THREADING),pthread)
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200146APPS += ssl/ssl_pthread_server
Paul Bakkerf9c49532013-12-19 15:40:58 +0100147endif
148
Gilles Peskinef80a0292021-11-04 15:18:00 +0100149ifdef BUILD_DLOPEN
Gilles Peskinea7c247e2021-11-04 12:45:19 +0100150APPS += test/dlopen
151endif
152
Andrzej Kurek0211c322018-03-15 05:16:24 -0400153ifdef TEST_CPP
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200154APPS += test/cpp_dummy_build
Andrzej Kurek0211c322018-03-15 05:16:24 -0400155endif
156
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200157EXES = $(patsubst %,%$(EXEXT),$(APPS))
158
Paul Bakker5121ce52009-01-03 21:22:43 +0000159.SILENT:
160
Philippe Antoine48f35f52019-06-27 08:46:45 +0200161.PHONY: all clean list fuzz
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200162
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200163all: $(EXES)
Philippe Antoinea864db02019-07-10 20:37:57 +0200164ifndef WINDOWS
165# APPS doesn't include the fuzzing programs, which aren't "normal"
166# sample or test programs, and don't build with MSVC which is
167# warning about fopen
168all: fuzz
169endif
Philippe Antoine48f35f52019-06-27 08:46:45 +0200170
Ronald Cron8dc0af22020-06-05 16:00:22 +0200171fuzz: ${MBEDTLS_TEST_OBJS}
Janos Follath4f055f42019-08-20 15:12:54 +0100172 $(MAKE) -C fuzz THIRDPARTY_INCLUDES=$(THIRDPARTY_INCLUDES)
Paul Bakker5121ce52009-01-03 21:22:43 +0000173
Ronald Cron8dc0af22020-06-05 16:00:22 +0200174$(MBEDLIBS):
Manuel Pégourié-Gonnardfc367082015-06-26 16:50:24 +0200175 $(MAKE) -C ../library
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200176
Ronald Cron8dc0af22020-06-05 16:00:22 +0200177${MBEDTLS_TEST_OBJS}:
178 $(MAKE) -C ../tests mbedtls_test
179
Gilles Peskine687d1ab2021-04-22 01:01:56 +0200180.PHONY: generated_files
181GENERATED_FILES = psa/psa_constant_names_generated.c test/query_config.c
182generated_files: $(GENERATED_FILES)
183
Gilles Peskine0b62b7a2023-09-08 16:19:13 +0200184# See root Makefile
185GEN_FILES ?= yes
186ifdef GEN_FILES
187gen_file_dep =
188else
Gilles Peskine0b62b7a2023-09-08 16:19:13 +0200189gen_file_dep = |
190endif
191
192psa/psa_constant_names_generated.c: $(gen_file_dep) ../scripts/generate_psa_constants.py
193psa/psa_constant_names_generated.c: $(gen_file_dep) ../include/psa/crypto_values.h
194psa/psa_constant_names_generated.c: $(gen_file_dep) ../include/psa/crypto_extra.h
195psa/psa_constant_names_generated.c: $(gen_file_dep) ../tests/suites/test_suite_psa_crypto_metadata.data
Gilles Peskine687d1ab2021-04-22 01:01:56 +0200196psa/psa_constant_names_generated.c:
197 echo " Gen $@"
198 $(PYTHON) ../scripts/generate_psa_constants.py
199
Gilles Peskine0b62b7a2023-09-08 16:19:13 +0200200test/query_config.c: $(gen_file_dep) ../scripts/generate_query_config.pl
Bence Szépkútibb0cfeb2021-05-28 09:42:25 +0200201## The generated file only depends on the options that are present in mbedtls_config.h,
Gilles Peskine1411c7c2021-04-22 14:50:16 +0200202## not on which options are set. To avoid regenerating this file all the time
Bence Szépkútibb0cfeb2021-05-28 09:42:25 +0200203## when switching between configurations, don't declare mbedtls_config.h as a
Gilles Peskine1411c7c2021-04-22 14:50:16 +0200204## dependency. Remove this file from your working tree if you've just added or
Bence Szépkútibb0cfeb2021-05-28 09:42:25 +0200205## removed an option in mbedtls_config.h.
Gilles Peskine0b62b7a2023-09-08 16:19:13 +0200206#test/query_config.c: $(gen_file_dep) ../include/mbedtls/mbedtls_config.h
207test/query_config.c: $(gen_file_dep) ../scripts/data_files/query_config.fmt
Gilles Peskine687d1ab2021-04-22 01:01:56 +0200208test/query_config.c:
209 echo " Gen $@"
210 $(PERL) ../scripts/generate_query_config.pl
211
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200212aes/crypt_and_hash$(EXEXT): aes/crypt_and_hash.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100213 echo " CC aes/crypt_and_hash.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200214 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/crypt_and_hash.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker20a78082011-01-21 09:32:12 +0000215
Manuel Pégourié-Gonnard29088a42022-02-01 09:38:26 +0100216cipher/cipher_aead_demo$(EXEXT): cipher/cipher_aead_demo.c $(DEP)
217 echo " CC cipher/cipher_aead_demo.c"
218 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) cipher/cipher_aead_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000219
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200220hash/generic_sum$(EXEXT): hash/generic_sum.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100221 echo " CC hash/generic_sum.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200222 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/generic_sum.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerfb6c7e22011-01-21 10:21:11 +0000223
Paul Bakker5121ce52009-01-03 21:22:43 +0000224hash/hello$(EXEXT): hash/hello.c $(DEP)
225 echo " CC hash/hello.c"
226 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/hello.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
227
Manuel Pégourié-Gonnard29088a42022-02-01 09:38:26 +0100228hash/md_hmac_demo$(EXEXT): hash/md_hmac_demo.c $(DEP)
229 echo " CC hash/md_hmac_demo.c"
230 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/md_hmac_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000231
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200232pkey/dh_client$(EXEXT): pkey/dh_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100233 echo " CC pkey/dh_client.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200234 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000235
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200236pkey/dh_genprime$(EXEXT): pkey/dh_genprime.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100237 echo " CC pkey/dh_genprime.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200238 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_genprime.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000239
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200240pkey/dh_server$(EXEXT): pkey/dh_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100241 echo " CC pkey/dh_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200242 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000243
Manuel Pégourié-Gonnard3eb8c342015-10-09 12:11:14 +0100244pkey/ecdh_curve25519$(EXEXT): pkey/ecdh_curve25519.c $(DEP)
245 echo " CC pkey/ecdh_curve25519.c"
246 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdh_curve25519.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
247
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200248pkey/ecdsa$(EXEXT): pkey/ecdsa.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100249 echo " CC pkey/ecdsa.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200250 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdsa.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnardaa431612013-08-09 17:10:27 +0200251
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200252pkey/gen_key$(EXEXT): pkey/gen_key.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100253 echo " CC pkey/gen_key.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200254 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/gen_key.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker15b9b3a2013-09-23 12:05:44 +0200255
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200256pkey/key_app$(EXEXT): pkey/key_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100257 echo " CC pkey/key_app.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200258 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkered56b222011-07-13 11:26:43 +0000259
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200260pkey/key_app_writer$(EXEXT): pkey/key_app_writer.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100261 echo " CC pkey/key_app_writer.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200262 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app_writer.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerbdb912d2012-02-13 23:11:30 +0000263
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200264pkey/mpi_demo$(EXEXT): pkey/mpi_demo.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100265 echo " CC pkey/mpi_demo.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200266 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/mpi_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000267
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200268pkey/pk_decrypt$(EXEXT): pkey/pk_decrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100269 echo " CC pkey/pk_decrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200270 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_decrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200271
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200272pkey/pk_encrypt$(EXEXT): pkey/pk_encrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100273 echo " CC pkey/pk_encrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200274 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_encrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200275
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200276pkey/pk_sign$(EXEXT): pkey/pk_sign.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100277 echo " CC pkey/pk_sign.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200278 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_sign.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200279
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200280pkey/pk_verify$(EXEXT): pkey/pk_verify.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100281 echo " CC pkey/pk_verify.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200282 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_verify.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker940f9ce2013-09-18 15:34:57 +0200283
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200284pkey/rsa_genkey$(EXEXT): pkey/rsa_genkey.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100285 echo " CC pkey/rsa_genkey.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200286 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_genkey.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000287
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200288pkey/rsa_sign$(EXEXT): pkey/rsa_sign.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100289 echo " CC pkey/rsa_sign.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200290 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000291
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200292pkey/rsa_verify$(EXEXT): pkey/rsa_verify.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100293 echo " CC pkey/rsa_verify.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200294 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000295
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200296pkey/rsa_sign_pss$(EXEXT): pkey/rsa_sign_pss.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100297 echo " CC pkey/rsa_sign_pss.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200298 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign_pss.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkere77db2e2011-03-25 14:01:32 +0000299
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200300pkey/rsa_verify_pss$(EXEXT): pkey/rsa_verify_pss.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100301 echo " CC pkey/rsa_verify_pss.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200302 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify_pss.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkere77db2e2011-03-25 14:01:32 +0000303
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200304pkey/rsa_decrypt$(EXEXT): pkey/rsa_decrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100305 echo " CC pkey/rsa_decrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200306 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_decrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker7bc05ff2011-08-09 10:30:36 +0000307
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200308pkey/rsa_encrypt$(EXEXT): pkey/rsa_encrypt.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100309 echo " CC pkey/rsa_encrypt.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200310 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_encrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker7bc05ff2011-08-09 10:30:36 +0000311
Manuel Pégourié-Gonnard6fdc9e82022-01-31 13:27:39 +0100312psa/aead_demo$(EXEXT): psa/aead_demo.c $(DEP)
313 echo " CC psa/aead_demo.c"
314 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/aead_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnard398d4592022-01-07 12:26:32 +0100315
Manuel Pégourié-Gonnard667b5562021-11-22 13:00:17 +0100316psa/crypto_examples$(EXEXT): psa/crypto_examples.c $(DEP)
317 echo " CC psa/crypto_examples.c"
318 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/crypto_examples.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
319
Manuel Pégourié-Gonnard69bb3f52022-01-31 13:09:47 +0100320psa/hmac_demo$(EXEXT): psa/hmac_demo.c $(DEP)
321 echo " CC psa/hmac_demo.c"
322 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/hmac_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnard667b5562021-11-22 13:00:17 +0100323
Gilles Peskinef0fa4362018-07-16 17:08:43 +0200324psa/key_ladder_demo$(EXEXT): psa/key_ladder_demo.c $(DEP)
325 echo " CC psa/key_ladder_demo.c"
326 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/key_ladder_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
327
Gilles Peskine4a707402021-02-24 21:45:38 +0100328psa/psa_constant_names$(EXEXT): psa/psa_constant_names.c psa/psa_constant_names_generated.c $(DEP)
Gilles Peskine029b5d62018-07-16 23:13:37 +0200329 echo " CC psa/psa_constant_names.c"
330 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/psa_constant_names.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
331
Hannes Tschofenigf8b9ebf2023-07-18 13:46:10 +0100332psa/psa_hash$(EXEXT): psa/psa_hash.c $(DEP)
333 echo " CC psa/psa_hash.c"
334 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/psa_hash.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
335
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200336random/gen_entropy$(EXEXT): random/gen_entropy.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100337 echo " CC random/gen_entropy.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200338 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_entropy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker6083fd22011-12-03 21:45:14 +0000339
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200340random/gen_random_ctr_drbg$(EXEXT): random/gen_random_ctr_drbg.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100341 echo " CC random/gen_random_ctr_drbg.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200342 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_ctr_drbg.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerfc36d162011-01-27 16:50:02 +0000343
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200344ssl/dtls_client$(EXEXT): ssl/dtls_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100345 echo " CC ssl/dtls_client.c"
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +0200346 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnarde63582a2014-10-14 11:47:21 +0200347
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200348ssl/dtls_server$(EXEXT): ssl/dtls_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100349 echo " CC ssl/dtls_server.c"
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +0200350 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnarde63582a2014-10-14 11:47:21 +0200351
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200352ssl/ssl_client1$(EXEXT): ssl/ssl_client1.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100353 echo " CC ssl/ssl_client1.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200354 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client1.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000355
Gilles Peskinea3ed34f2021-01-05 21:11:16 +0100356SSL_TEST_OBJECTS = test/query_config.o ssl/ssl_test_lib.o
Gilles Peskinec772b182021-01-12 15:55:10 +0100357SSL_TEST_DEPS = $(SSL_TEST_OBJECTS) \
358 test/query_config.h \
359 ssl/ssl_test_lib.h \
360 ssl/ssl_test_common_source.c \
361 $(DEP)
Gilles Peskinef06a54c2021-01-05 20:59:50 +0100362
Gilles Peskinea3ed34f2021-01-05 21:11:16 +0100363ssl/ssl_test_lib.o: ssl/ssl_test_lib.c ssl/ssl_test_lib.h $(DEP)
364 echo " CC ssl/ssl_test_lib.c"
365 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c ssl/ssl_test_lib.c -o $@
366
Gilles Peskine0d980b82021-01-05 23:34:27 +0100367ssl/ssl_client2$(EXEXT): ssl/ssl_client2.c $(SSL_TEST_DEPS)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100368 echo " CC ssl/ssl_client2.c"
Gilles Peskinef06a54c2021-01-05 20:59:50 +0100369 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client2.c $(SSL_TEST_OBJECTS) $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000370
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200371ssl/ssl_server$(EXEXT): ssl/ssl_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100372 echo " CC ssl/ssl_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200373 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000374
Gilles Peskine0d980b82021-01-05 23:34:27 +0100375ssl/ssl_server2$(EXEXT): ssl/ssl_server2.c $(SSL_TEST_DEPS)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100376 echo " CC ssl/ssl_server2.c"
Gilles Peskinef06a54c2021-01-05 20:59:50 +0100377 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server2.c $(SSL_TEST_OBJECTS) $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerb60b95f2012-09-25 09:05:17 +0000378
Gilles Peskinec772b182021-01-12 15:55:10 +0100379ssl/ssl_context_info$(EXEXT): ssl/ssl_context_info.c test/query_config.o test/query_config.h $(DEP)
Piotr Nowickibc876d42020-03-26 12:49:15 +0100380 echo " CC ssl/ssl_context_info.c"
Gilles Peskinef06a54c2021-01-05 20:59:50 +0100381 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_context_info.c test/query_config.o $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Piotr Nowicki9370f902020-03-13 14:43:22 +0100382
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200383ssl/ssl_fork_server$(EXEXT): ssl/ssl_fork_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100384 echo " CC ssl/ssl_fork_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200385 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_fork_server.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker896ac222011-05-20 12:33:05 +0000386
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200387ssl/ssl_pthread_server$(EXEXT): ssl/ssl_pthread_server.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100388 echo " CC ssl/ssl_pthread_server.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200389 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_pthread_server.c $(LOCAL_LDFLAGS) -lpthread $(LDFLAGS) -o $@
Paul Bakkerf9c49532013-12-19 15:40:58 +0100390
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200391ssl/ssl_mail_client$(EXEXT): ssl/ssl_mail_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100392 echo " CC ssl/ssl_mail_client.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200393 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_mail_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker1496d382011-05-23 12:07:29 +0000394
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200395ssl/mini_client$(EXEXT): ssl/mini_client.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100396 echo " CC ssl/mini_client.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200397 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/mini_client.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnarda6fc5b22014-11-24 14:05:25 +0100398
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200399test/benchmark$(EXEXT): test/benchmark.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100400 echo " CC test/benchmark.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200401 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/benchmark.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000402
Gilles Peskine03ab5442021-07-09 15:19:28 +0200403test/cpp_dummy_build.cpp: test/generate_cpp_dummy_build.sh
404 echo " Gen test/cpp_dummy_build.cpp"
405 test/generate_cpp_dummy_build.sh
406
Andrzej Kurek89c048c2018-03-16 07:37:44 -0400407test/cpp_dummy_build$(EXEXT): test/cpp_dummy_build.cpp $(DEP)
408 echo " CXX test/cpp_dummy_build.cpp"
409 $(CXX) $(LOCAL_CXXFLAGS) $(CXXFLAGS) test/cpp_dummy_build.cpp $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Andrzej Kurek40741f82018-03-14 17:24:01 -0400410
Gilles Peskinef80a0292021-11-04 15:18:00 +0100411ifdef BUILD_DLOPEN
Gilles Peskinea7c247e2021-11-04 12:45:19 +0100412test/dlopen$(EXEXT): test/dlopen.c $(DEP)
413 echo " CC test/dlopen.c"
414# Do not link any test objects (that would bring in a static dependency on
415# libmbedcrypto at least). Do not link with libmbed* (that would defeat the
416# purpose of testing dynamic loading).
Gilles Peskine5dbee582021-11-04 15:07:28 +0100417 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/dlopen.c $(LDFLAGS) $(DLOPEN_LDFLAGS) -o $@
Gilles Peskinea7c247e2021-11-04 12:45:19 +0100418endif
419
Gilles Peskine33406b62023-11-02 18:48:39 +0100420test/metatest$(EXEXT): test/metatest.c $(DEP)
421 echo " CC test/metatest.c"
Gilles Peskinea1023e22023-11-03 19:16:56 +0100422 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -I ../library test/metatest.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Gilles Peskine33406b62023-11-02 18:48:39 +0100423
Gilles Peskinec772b182021-01-12 15:55:10 +0100424test/query_config.o: test/query_config.c test/query_config.h $(DEP)
Gilles Peskinef06a54c2021-01-05 20:59:50 +0100425 echo " CC test/query_config.c"
426 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c test/query_config.c -o $@
427
Gilles Peskinedf6e84a2023-02-22 22:09:51 +0100428test/query_included_headers$(EXEXT): test/query_included_headers.c $(DEP)
429 echo " CC test/query_included_headers.c"
430 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/query_included_headers.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
431
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200432test/selftest$(EXEXT): test/selftest.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100433 echo " CC test/selftest.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200434 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/selftest.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker5121ce52009-01-03 21:22:43 +0000435
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200436test/udp_proxy$(EXEXT): test/udp_proxy.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100437 echo " CC test/udp_proxy.c"
Manuel Pégourié-Gonnard8d4a6132015-06-24 12:16:20 +0200438 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/udp_proxy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Manuel Pégourié-Gonnardcb4137b2014-09-04 14:55:28 +0200439
Andres Amaya Garcia5ab74a12017-10-24 21:10:45 +0100440test/zeroize$(EXEXT): test/zeroize.c $(DEP)
441 echo " CC test/zeroize.c"
442 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/zeroize.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
443
Gilles Peskinec772b182021-01-12 15:55:10 +0100444test/query_compile_time_config$(EXEXT): test/query_compile_time_config.c test/query_config.o test/query_config.h $(DEP)
Andres AG509ba692018-10-26 18:41:08 +0100445 echo " CC test/query_compile_time_config.c"
Gilles Peskinef06a54c2021-01-05 20:59:50 +0100446 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/query_compile_time_config.c test/query_config.o $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Andres AG509ba692018-10-26 18:41:08 +0100447
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200448util/pem2der$(EXEXT): util/pem2der.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100449 echo " CC util/pem2der.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200450 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/pem2der.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker8adf13b2013-08-25 14:50:09 +0200451
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200452util/strerror$(EXEXT): util/strerror.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100453 echo " CC util/strerror.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200454 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/strerror.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker01cc3942012-05-08 08:36:15 +0000455
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200456x509/cert_app$(EXEXT): x509/cert_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100457 echo " CC x509/cert_app.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200458 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakker4fc45522010-03-18 20:11:58 +0000459
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200460x509/cert_write$(EXEXT): x509/cert_write.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100461 echo " CC x509/cert_write.c"
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200462 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_write.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
463
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200464x509/crl_app$(EXEXT): x509/crl_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100465 echo " CC x509/crl_app.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200466 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/crl_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkera9507c02011-02-12 15:27:28 +0000467
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200468x509/cert_req$(EXEXT): x509/cert_req.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100469 echo " CC x509/cert_req.c"
Alon Bar-Levf7a9f302015-02-18 17:55:05 +0200470 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_req.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
Paul Bakkerbdb912d2012-02-13 23:11:30 +0000471
Gilles Peskine2c1442e2021-07-26 20:20:54 +0200472x509/load_roots$(EXEXT): x509/load_roots.c $(DEP)
473 echo " CC x509/load_roots.c"
474 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/load_roots.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
475
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200476x509/req_app$(EXEXT): x509/req_app.c $(DEP)
Manuel Pégourié-Gonnard78ec2b02015-07-08 22:12:06 +0100477 echo " CC x509/req_app.c"
Manuel Pégourié-Gonnarda7c89032015-06-29 15:47:35 +0200478 $(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/req_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
479
Paul Bakker5121ce52009-01-03 21:22:43 +0000480clean:
Paul Bakker62f88dc2012-05-10 21:26:28 +0000481ifndef WINDOWS
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200482 rm -f $(EXES)
Jaeden Amerobefe1e152019-06-03 09:14:14 +0100483 -rm -f ssl/ssl_pthread_server$(EXEXT)
Gilles Peskine03ab5442021-07-09 15:19:28 +0200484 -rm -f test/cpp_dummy_build.cpp test/cpp_dummy_build$(EXEXT)
Gilles Peskinea7c247e2021-11-04 12:45:19 +0100485 -rm -f test/dlopen$(EXEXT)
Manuel Pégourié-Gonnard5c59a4f2015-06-24 13:06:24 +0200486else
Darryl Green9b9a7902019-08-30 14:51:55 +0100487 if exist *.o del /Q /F *.o
488 if exist *.exe del /Q /F *.exe
Gilles Peskine03ab5442021-07-09 15:19:28 +0200489 if exist test\cpp_dummy_build.cpp del /Q /F test\cpp_dummy_build.cpp
Paul Bakker62f88dc2012-05-10 21:26:28 +0000490endif
Philippe Antoine48f35f52019-06-27 08:46:45 +0200491 $(MAKE) -C fuzz clean
Manuel Pégourié-Gonnard1b578782013-09-16 13:33:42 +0200492
Gilles Peskine687d1ab2021-04-22 01:01:56 +0200493neat: clean
494ifndef WINDOWS
495 rm -f $(GENERATED_FILES)
496else
497 for %f in ($(subst /,\,$(GENERATED_FILES))) if exist %f del /Q /F %f
498endif
499
Manuel Pégourié-Gonnard1b578782013-09-16 13:33:42 +0200500list:
Gilles Peskineb0fa9d22021-04-22 20:07:44 +0200501 echo $(EXES)