xref: /aosp_15_r20/external/mbedtls/programs/Makefile (revision 62c56f9862f102b96d72393aff6076c951fb8148)
1*62c56f98SSadaf Ebrahimi
2*62c56f98SSadaf Ebrahimi# To compile on SunOS: add "-lsocket -lnsl" to LDFLAGS
3*62c56f98SSadaf Ebrahimi
4*62c56f98SSadaf EbrahimiCFLAGS	?= -O2
5*62c56f98SSadaf EbrahimiWARNING_CFLAGS ?= -Wall -Wextra -Wformat=2 -Wno-format-nonliteral
6*62c56f98SSadaf EbrahimiWARNING_CXXFLAGS ?= -Wall -Wextra -Wformat=2 -Wno-format-nonliteral
7*62c56f98SSadaf EbrahimiLDFLAGS ?=
8*62c56f98SSadaf Ebrahimi
9*62c56f98SSadaf EbrahimiMBEDTLS_TEST_PATH:=../tests/src
10*62c56f98SSadaf EbrahimiMBEDTLS_TEST_OBJS:=$(patsubst %.c,%.o,$(wildcard ${MBEDTLS_TEST_PATH}/*.c ${MBEDTLS_TEST_PATH}/drivers/*.c))
11*62c56f98SSadaf Ebrahimi
12*62c56f98SSadaf EbrahimiLOCAL_CFLAGS = $(WARNING_CFLAGS) -I../tests/include -I../include -D_FILE_OFFSET_BITS=64
13*62c56f98SSadaf EbrahimiLOCAL_CXXFLAGS = $(WARNING_CXXFLAGS) -I../include -I../tests/include -D_FILE_OFFSET_BITS=64
14*62c56f98SSadaf EbrahimiLOCAL_LDFLAGS = ${MBEDTLS_TEST_OBJS} 		\
15*62c56f98SSadaf Ebrahimi		-L../library 			\
16*62c56f98SSadaf Ebrahimi		-lmbedtls$(SHARED_SUFFIX)	\
17*62c56f98SSadaf Ebrahimi		-lmbedx509$(SHARED_SUFFIX)	\
18*62c56f98SSadaf Ebrahimi		-lmbedcrypto$(SHARED_SUFFIX)
19*62c56f98SSadaf Ebrahimi
20*62c56f98SSadaf Ebrahimiifeq ($(shell uname -s),Linux)
21*62c56f98SSadaf EbrahimiDLOPEN_LDFLAGS ?= -ldl
22*62c56f98SSadaf Ebrahimielse
23*62c56f98SSadaf EbrahimiDLOPEN_LDFLAGS ?=
24*62c56f98SSadaf Ebrahimiendif
25*62c56f98SSadaf Ebrahimi
26*62c56f98SSadaf Ebrahimiinclude ../3rdparty/Makefile.inc
27*62c56f98SSadaf EbrahimiLOCAL_CFLAGS+=$(THIRDPARTY_INCLUDES)
28*62c56f98SSadaf Ebrahimi
29*62c56f98SSadaf Ebrahimiifndef SHARED
30*62c56f98SSadaf EbrahimiMBEDLIBS=../library/libmbedcrypto.a ../library/libmbedx509.a ../library/libmbedtls.a
31*62c56f98SSadaf Ebrahimielse
32*62c56f98SSadaf EbrahimiMBEDLIBS=../library/libmbedcrypto.$(DLEXT) ../library/libmbedx509.$(DLEXT) ../library/libmbedtls.$(DLEXT)
33*62c56f98SSadaf Ebrahimiendif
34*62c56f98SSadaf EbrahimiDEP=${MBEDLIBS} ${MBEDTLS_TEST_OBJS}
35*62c56f98SSadaf Ebrahimi
36*62c56f98SSadaf Ebrahimiifdef DEBUG
37*62c56f98SSadaf EbrahimiLOCAL_CFLAGS += -g3
38*62c56f98SSadaf Ebrahimiendif
39*62c56f98SSadaf Ebrahimi
40*62c56f98SSadaf Ebrahimi# if we're running on Windows, build for Windows
41*62c56f98SSadaf Ebrahimiifdef WINDOWS
42*62c56f98SSadaf EbrahimiWINDOWS_BUILD=1
43*62c56f98SSadaf Ebrahimiendif
44*62c56f98SSadaf Ebrahimi
45*62c56f98SSadaf Ebrahimiifdef WINDOWS_BUILD
46*62c56f98SSadaf EbrahimiDLEXT=dll
47*62c56f98SSadaf EbrahimiEXEXT=.exe
48*62c56f98SSadaf EbrahimiLOCAL_LDFLAGS += -lws2_32 -lbcrypt
49*62c56f98SSadaf Ebrahimiifdef SHARED
50*62c56f98SSadaf EbrahimiSHARED_SUFFIX=.$(DLEXT)
51*62c56f98SSadaf Ebrahimiendif
52*62c56f98SSadaf Ebrahimielse
53*62c56f98SSadaf EbrahimiDLEXT ?= so
54*62c56f98SSadaf EbrahimiEXEXT=
55*62c56f98SSadaf EbrahimiSHARED_SUFFIX=
56*62c56f98SSadaf Ebrahimiendif
57*62c56f98SSadaf Ebrahimi
58*62c56f98SSadaf Ebrahimiifdef WINDOWS
59*62c56f98SSadaf EbrahimiPYTHON ?= python
60*62c56f98SSadaf Ebrahimielse
61*62c56f98SSadaf EbrahimiPYTHON ?= $(shell if type python3 >/dev/null 2>/dev/null; then echo python3; else echo python; fi)
62*62c56f98SSadaf Ebrahimiendif
63*62c56f98SSadaf Ebrahimi
64*62c56f98SSadaf Ebrahimi# Only build the dlopen test in shared library builds, and not when building
65*62c56f98SSadaf Ebrahimi# for Windows.
66*62c56f98SSadaf Ebrahimiifdef BUILD_DLOPEN
67*62c56f98SSadaf Ebrahimi# Don't override the value
68*62c56f98SSadaf Ebrahimielse ifdef WINDOWS_BUILD
69*62c56f98SSadaf EbrahimiBUILD_DLOPEN =
70*62c56f98SSadaf Ebrahimielse ifdef SHARED
71*62c56f98SSadaf EbrahimiBUILD_DLOPEN = y
72*62c56f98SSadaf Ebrahimielse
73*62c56f98SSadaf EbrahimiBUILD_DLOPEN =
74*62c56f98SSadaf Ebrahimiendif
75*62c56f98SSadaf Ebrahimi
76*62c56f98SSadaf Ebrahimi## The following assignment is the list of base names of applications that
77*62c56f98SSadaf Ebrahimi## will be built on Windows. Extra Linux/Unix/POSIX-only applications can
78*62c56f98SSadaf Ebrahimi## be declared by appending with `APPS += ...` afterwards.
79*62c56f98SSadaf Ebrahimi## See the get_app_list function in scripts/generate_visualc_files.pl and
80*62c56f98SSadaf Ebrahimi## make sure to check that it still works if you tweak the format here.
81*62c56f98SSadaf EbrahimiAPPS = \
82*62c56f98SSadaf Ebrahimi	aes/crypt_and_hash \
83*62c56f98SSadaf Ebrahimi	cipher/cipher_aead_demo \
84*62c56f98SSadaf Ebrahimi	hash/generic_sum \
85*62c56f98SSadaf Ebrahimi	hash/hello \
86*62c56f98SSadaf Ebrahimi	hash/md_hmac_demo \
87*62c56f98SSadaf Ebrahimi	pkey/dh_client \
88*62c56f98SSadaf Ebrahimi	pkey/dh_genprime \
89*62c56f98SSadaf Ebrahimi	pkey/dh_server \
90*62c56f98SSadaf Ebrahimi	pkey/ecdh_curve25519 \
91*62c56f98SSadaf Ebrahimi	pkey/ecdsa \
92*62c56f98SSadaf Ebrahimi	pkey/gen_key \
93*62c56f98SSadaf Ebrahimi	pkey/key_app \
94*62c56f98SSadaf Ebrahimi	pkey/key_app_writer \
95*62c56f98SSadaf Ebrahimi	pkey/mpi_demo \
96*62c56f98SSadaf Ebrahimi	pkey/pk_decrypt \
97*62c56f98SSadaf Ebrahimi	pkey/pk_encrypt \
98*62c56f98SSadaf Ebrahimi	pkey/pk_sign \
99*62c56f98SSadaf Ebrahimi	pkey/pk_verify \
100*62c56f98SSadaf Ebrahimi	pkey/rsa_decrypt \
101*62c56f98SSadaf Ebrahimi	pkey/rsa_encrypt \
102*62c56f98SSadaf Ebrahimi	pkey/rsa_genkey \
103*62c56f98SSadaf Ebrahimi	pkey/rsa_sign \
104*62c56f98SSadaf Ebrahimi	pkey/rsa_sign_pss \
105*62c56f98SSadaf Ebrahimi	pkey/rsa_verify \
106*62c56f98SSadaf Ebrahimi	pkey/rsa_verify_pss \
107*62c56f98SSadaf Ebrahimi	psa/aead_demo \
108*62c56f98SSadaf Ebrahimi	psa/crypto_examples \
109*62c56f98SSadaf Ebrahimi	psa/hmac_demo \
110*62c56f98SSadaf Ebrahimi	psa/key_ladder_demo \
111*62c56f98SSadaf Ebrahimi	psa/psa_constant_names \
112*62c56f98SSadaf Ebrahimi	random/gen_entropy \
113*62c56f98SSadaf Ebrahimi	random/gen_random_ctr_drbg \
114*62c56f98SSadaf Ebrahimi	ssl/dtls_client \
115*62c56f98SSadaf Ebrahimi	ssl/dtls_server \
116*62c56f98SSadaf Ebrahimi	ssl/mini_client \
117*62c56f98SSadaf Ebrahimi	ssl/ssl_client1 \
118*62c56f98SSadaf Ebrahimi	ssl/ssl_client2 \
119*62c56f98SSadaf Ebrahimi	ssl/ssl_context_info \
120*62c56f98SSadaf Ebrahimi	ssl/ssl_fork_server \
121*62c56f98SSadaf Ebrahimi	ssl/ssl_mail_client \
122*62c56f98SSadaf Ebrahimi	ssl/ssl_server \
123*62c56f98SSadaf Ebrahimi	ssl/ssl_server2 \
124*62c56f98SSadaf Ebrahimi	test/benchmark \
125*62c56f98SSadaf Ebrahimi	test/query_compile_time_config \
126*62c56f98SSadaf Ebrahimi	test/query_included_headers \
127*62c56f98SSadaf Ebrahimi	test/selftest \
128*62c56f98SSadaf Ebrahimi	test/udp_proxy \
129*62c56f98SSadaf Ebrahimi	test/zeroize \
130*62c56f98SSadaf Ebrahimi	util/pem2der \
131*62c56f98SSadaf Ebrahimi	util/strerror \
132*62c56f98SSadaf Ebrahimi	x509/cert_app \
133*62c56f98SSadaf Ebrahimi	x509/cert_req \
134*62c56f98SSadaf Ebrahimi	x509/cert_write \
135*62c56f98SSadaf Ebrahimi	x509/crl_app \
136*62c56f98SSadaf Ebrahimi	x509/load_roots \
137*62c56f98SSadaf Ebrahimi	x509/req_app \
138*62c56f98SSadaf Ebrahimi# End of APPS
139*62c56f98SSadaf Ebrahimi
140*62c56f98SSadaf Ebrahimiifdef PTHREAD
141*62c56f98SSadaf EbrahimiAPPS +=	ssl/ssl_pthread_server
142*62c56f98SSadaf Ebrahimiendif
143*62c56f98SSadaf Ebrahimi
144*62c56f98SSadaf Ebrahimiifdef BUILD_DLOPEN
145*62c56f98SSadaf EbrahimiAPPS +=	test/dlopen
146*62c56f98SSadaf Ebrahimiendif
147*62c56f98SSadaf Ebrahimi
148*62c56f98SSadaf Ebrahimiifdef TEST_CPP
149*62c56f98SSadaf EbrahimiAPPS += test/cpp_dummy_build
150*62c56f98SSadaf Ebrahimiendif
151*62c56f98SSadaf Ebrahimi
152*62c56f98SSadaf EbrahimiEXES = $(patsubst %,%$(EXEXT),$(APPS))
153*62c56f98SSadaf Ebrahimi
154*62c56f98SSadaf Ebrahimi.SILENT:
155*62c56f98SSadaf Ebrahimi
156*62c56f98SSadaf Ebrahimi.PHONY: all clean list fuzz
157*62c56f98SSadaf Ebrahimi
158*62c56f98SSadaf Ebrahimiall: $(EXES)
159*62c56f98SSadaf Ebrahimiifndef WINDOWS
160*62c56f98SSadaf Ebrahimi# APPS doesn't include the fuzzing programs, which aren't "normal"
161*62c56f98SSadaf Ebrahimi# sample or test programs, and don't build with MSVC which is
162*62c56f98SSadaf Ebrahimi# warning about fopen
163*62c56f98SSadaf Ebrahimiall: fuzz
164*62c56f98SSadaf Ebrahimiendif
165*62c56f98SSadaf Ebrahimi
166*62c56f98SSadaf Ebrahimifuzz: ${MBEDTLS_TEST_OBJS}
167*62c56f98SSadaf Ebrahimi	$(MAKE) -C fuzz THIRDPARTY_INCLUDES=$(THIRDPARTY_INCLUDES)
168*62c56f98SSadaf Ebrahimi
169*62c56f98SSadaf Ebrahimi$(MBEDLIBS):
170*62c56f98SSadaf Ebrahimi	$(MAKE) -C ../library
171*62c56f98SSadaf Ebrahimi
172*62c56f98SSadaf Ebrahimi${MBEDTLS_TEST_OBJS}:
173*62c56f98SSadaf Ebrahimi	$(MAKE) -C ../tests mbedtls_test
174*62c56f98SSadaf Ebrahimi
175*62c56f98SSadaf Ebrahimi.PHONY: generated_files
176*62c56f98SSadaf EbrahimiGENERATED_FILES = psa/psa_constant_names_generated.c test/query_config.c
177*62c56f98SSadaf Ebrahimigenerated_files: $(GENERATED_FILES)
178*62c56f98SSadaf Ebrahimi
179*62c56f98SSadaf Ebrahimi# See root Makefile
180*62c56f98SSadaf EbrahimiGEN_FILES ?=
181*62c56f98SSadaf Ebrahimiifdef GEN_FILES
182*62c56f98SSadaf Ebrahimigen_file_dep =
183*62c56f98SSadaf Ebrahimielse
184*62c56f98SSadaf Ebrahimigen_file_dep = |
185*62c56f98SSadaf Ebrahimiendif
186*62c56f98SSadaf Ebrahimi
187*62c56f98SSadaf Ebrahimipsa/psa_constant_names_generated.c: $(gen_file_dep) ../scripts/generate_psa_constants.py
188*62c56f98SSadaf Ebrahimipsa/psa_constant_names_generated.c: $(gen_file_dep) ../include/psa/crypto_values.h
189*62c56f98SSadaf Ebrahimipsa/psa_constant_names_generated.c: $(gen_file_dep) ../include/psa/crypto_extra.h
190*62c56f98SSadaf Ebrahimipsa/psa_constant_names_generated.c: $(gen_file_dep) ../tests/suites/test_suite_psa_crypto_metadata.data
191*62c56f98SSadaf Ebrahimipsa/psa_constant_names_generated.c:
192*62c56f98SSadaf Ebrahimi	echo "  Gen   $@"
193*62c56f98SSadaf Ebrahimi	$(PYTHON) ../scripts/generate_psa_constants.py
194*62c56f98SSadaf Ebrahimi
195*62c56f98SSadaf Ebrahimitest/query_config.c: $(gen_file_dep) ../scripts/generate_query_config.pl
196*62c56f98SSadaf Ebrahimi## The generated file only depends on the options that are present in mbedtls_config.h,
197*62c56f98SSadaf Ebrahimi## not on which options are set. To avoid regenerating this file all the time
198*62c56f98SSadaf Ebrahimi## when switching between configurations, don't declare mbedtls_config.h as a
199*62c56f98SSadaf Ebrahimi## dependency. Remove this file from your working tree if you've just added or
200*62c56f98SSadaf Ebrahimi## removed an option in mbedtls_config.h.
201*62c56f98SSadaf Ebrahimi#test/query_config.c: $(gen_file_dep) ../include/mbedtls/mbedtls_config.h
202*62c56f98SSadaf Ebrahimitest/query_config.c: $(gen_file_dep) ../scripts/data_files/query_config.fmt
203*62c56f98SSadaf Ebrahimitest/query_config.c:
204*62c56f98SSadaf Ebrahimi	echo "  Gen   $@"
205*62c56f98SSadaf Ebrahimi	$(PERL) ../scripts/generate_query_config.pl
206*62c56f98SSadaf Ebrahimi
207*62c56f98SSadaf Ebrahimiaes/crypt_and_hash$(EXEXT): aes/crypt_and_hash.c $(DEP)
208*62c56f98SSadaf Ebrahimi	echo "  CC    aes/crypt_and_hash.c"
209*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/crypt_and_hash.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
210*62c56f98SSadaf Ebrahimi
211*62c56f98SSadaf Ebrahimicipher/cipher_aead_demo$(EXEXT): cipher/cipher_aead_demo.c $(DEP)
212*62c56f98SSadaf Ebrahimi	echo "  CC    cipher/cipher_aead_demo.c"
213*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) cipher/cipher_aead_demo.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
214*62c56f98SSadaf Ebrahimi
215*62c56f98SSadaf Ebrahimihash/generic_sum$(EXEXT): hash/generic_sum.c $(DEP)
216*62c56f98SSadaf Ebrahimi	echo "  CC    hash/generic_sum.c"
217*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/generic_sum.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
218*62c56f98SSadaf Ebrahimi
219*62c56f98SSadaf Ebrahimihash/hello$(EXEXT): hash/hello.c $(DEP)
220*62c56f98SSadaf Ebrahimi	echo "  CC    hash/hello.c"
221*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/hello.c       $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
222*62c56f98SSadaf Ebrahimi
223*62c56f98SSadaf Ebrahimihash/md_hmac_demo$(EXEXT): hash/md_hmac_demo.c $(DEP)
224*62c56f98SSadaf Ebrahimi	echo "  CC    hash/md_hmac_demo.c"
225*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/md_hmac_demo.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
226*62c56f98SSadaf Ebrahimi
227*62c56f98SSadaf Ebrahimipkey/dh_client$(EXEXT): pkey/dh_client.c $(DEP)
228*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/dh_client.c"
229*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_client.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
230*62c56f98SSadaf Ebrahimi
231*62c56f98SSadaf Ebrahimipkey/dh_genprime$(EXEXT): pkey/dh_genprime.c $(DEP)
232*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/dh_genprime.c"
233*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_genprime.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
234*62c56f98SSadaf Ebrahimi
235*62c56f98SSadaf Ebrahimipkey/dh_server$(EXEXT): pkey/dh_server.c $(DEP)
236*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/dh_server.c"
237*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_server.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
238*62c56f98SSadaf Ebrahimi
239*62c56f98SSadaf Ebrahimipkey/ecdh_curve25519$(EXEXT): pkey/ecdh_curve25519.c $(DEP)
240*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/ecdh_curve25519.c"
241*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdh_curve25519.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
242*62c56f98SSadaf Ebrahimi
243*62c56f98SSadaf Ebrahimipkey/ecdsa$(EXEXT): pkey/ecdsa.c $(DEP)
244*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/ecdsa.c"
245*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdsa.c       $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
246*62c56f98SSadaf Ebrahimi
247*62c56f98SSadaf Ebrahimipkey/gen_key$(EXEXT): pkey/gen_key.c $(DEP)
248*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/gen_key.c"
249*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/gen_key.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
250*62c56f98SSadaf Ebrahimi
251*62c56f98SSadaf Ebrahimipkey/key_app$(EXEXT): pkey/key_app.c $(DEP)
252*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/key_app.c"
253*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
254*62c56f98SSadaf Ebrahimi
255*62c56f98SSadaf Ebrahimipkey/key_app_writer$(EXEXT): pkey/key_app_writer.c $(DEP)
256*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/key_app_writer.c"
257*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app_writer.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
258*62c56f98SSadaf Ebrahimi
259*62c56f98SSadaf Ebrahimipkey/mpi_demo$(EXEXT): pkey/mpi_demo.c $(DEP)
260*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/mpi_demo.c"
261*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/mpi_demo.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
262*62c56f98SSadaf Ebrahimi
263*62c56f98SSadaf Ebrahimipkey/pk_decrypt$(EXEXT): pkey/pk_decrypt.c $(DEP)
264*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/pk_decrypt.c"
265*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_decrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
266*62c56f98SSadaf Ebrahimi
267*62c56f98SSadaf Ebrahimipkey/pk_encrypt$(EXEXT): pkey/pk_encrypt.c $(DEP)
268*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/pk_encrypt.c"
269*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_encrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
270*62c56f98SSadaf Ebrahimi
271*62c56f98SSadaf Ebrahimipkey/pk_sign$(EXEXT): pkey/pk_sign.c $(DEP)
272*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/pk_sign.c"
273*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_sign.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
274*62c56f98SSadaf Ebrahimi
275*62c56f98SSadaf Ebrahimipkey/pk_verify$(EXEXT): pkey/pk_verify.c $(DEP)
276*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/pk_verify.c"
277*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_verify.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
278*62c56f98SSadaf Ebrahimi
279*62c56f98SSadaf Ebrahimipkey/rsa_genkey$(EXEXT): pkey/rsa_genkey.c $(DEP)
280*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/rsa_genkey.c"
281*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_genkey.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
282*62c56f98SSadaf Ebrahimi
283*62c56f98SSadaf Ebrahimipkey/rsa_sign$(EXEXT): pkey/rsa_sign.c $(DEP)
284*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/rsa_sign.c"
285*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
286*62c56f98SSadaf Ebrahimi
287*62c56f98SSadaf Ebrahimipkey/rsa_verify$(EXEXT): pkey/rsa_verify.c $(DEP)
288*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/rsa_verify.c"
289*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
290*62c56f98SSadaf Ebrahimi
291*62c56f98SSadaf Ebrahimipkey/rsa_sign_pss$(EXEXT): pkey/rsa_sign_pss.c $(DEP)
292*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/rsa_sign_pss.c"
293*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign_pss.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
294*62c56f98SSadaf Ebrahimi
295*62c56f98SSadaf Ebrahimipkey/rsa_verify_pss$(EXEXT): pkey/rsa_verify_pss.c $(DEP)
296*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/rsa_verify_pss.c"
297*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify_pss.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
298*62c56f98SSadaf Ebrahimi
299*62c56f98SSadaf Ebrahimipkey/rsa_decrypt$(EXEXT): pkey/rsa_decrypt.c $(DEP)
300*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/rsa_decrypt.c"
301*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_decrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
302*62c56f98SSadaf Ebrahimi
303*62c56f98SSadaf Ebrahimipkey/rsa_encrypt$(EXEXT): pkey/rsa_encrypt.c $(DEP)
304*62c56f98SSadaf Ebrahimi	echo "  CC    pkey/rsa_encrypt.c"
305*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_encrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
306*62c56f98SSadaf Ebrahimi
307*62c56f98SSadaf Ebrahimipsa/aead_demo$(EXEXT): psa/aead_demo.c $(DEP)
308*62c56f98SSadaf Ebrahimi	echo "  CC    psa/aead_demo.c"
309*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/aead_demo.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
310*62c56f98SSadaf Ebrahimi
311*62c56f98SSadaf Ebrahimipsa/crypto_examples$(EXEXT): psa/crypto_examples.c $(DEP)
312*62c56f98SSadaf Ebrahimi	echo "  CC    psa/crypto_examples.c"
313*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/crypto_examples.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
314*62c56f98SSadaf Ebrahimi
315*62c56f98SSadaf Ebrahimipsa/hmac_demo$(EXEXT): psa/hmac_demo.c $(DEP)
316*62c56f98SSadaf Ebrahimi	echo "  CC    psa/hmac_demo.c"
317*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/hmac_demo.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
318*62c56f98SSadaf Ebrahimi
319*62c56f98SSadaf Ebrahimipsa/key_ladder_demo$(EXEXT): psa/key_ladder_demo.c $(DEP)
320*62c56f98SSadaf Ebrahimi	echo "  CC    psa/key_ladder_demo.c"
321*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/key_ladder_demo.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
322*62c56f98SSadaf Ebrahimi
323*62c56f98SSadaf Ebrahimipsa/psa_constant_names$(EXEXT): psa/psa_constant_names.c psa/psa_constant_names_generated.c $(DEP)
324*62c56f98SSadaf Ebrahimi	echo "  CC    psa/psa_constant_names.c"
325*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/psa_constant_names.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
326*62c56f98SSadaf Ebrahimi
327*62c56f98SSadaf Ebrahimirandom/gen_entropy$(EXEXT): random/gen_entropy.c $(DEP)
328*62c56f98SSadaf Ebrahimi	echo "  CC    random/gen_entropy.c"
329*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_entropy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
330*62c56f98SSadaf Ebrahimi
331*62c56f98SSadaf Ebrahimirandom/gen_random_ctr_drbg$(EXEXT): random/gen_random_ctr_drbg.c $(DEP)
332*62c56f98SSadaf Ebrahimi	echo "  CC    random/gen_random_ctr_drbg.c"
333*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_ctr_drbg.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
334*62c56f98SSadaf Ebrahimi
335*62c56f98SSadaf Ebrahimissl/dtls_client$(EXEXT): ssl/dtls_client.c $(DEP)
336*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/dtls_client.c"
337*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_client.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
338*62c56f98SSadaf Ebrahimi
339*62c56f98SSadaf Ebrahimissl/dtls_server$(EXEXT): ssl/dtls_server.c $(DEP)
340*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/dtls_server.c"
341*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/dtls_server.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
342*62c56f98SSadaf Ebrahimi
343*62c56f98SSadaf Ebrahimissl/ssl_client1$(EXEXT): ssl/ssl_client1.c $(DEP)
344*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/ssl_client1.c"
345*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client1.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
346*62c56f98SSadaf Ebrahimi
347*62c56f98SSadaf EbrahimiSSL_TEST_OBJECTS = test/query_config.o ssl/ssl_test_lib.o
348*62c56f98SSadaf EbrahimiSSL_TEST_DEPS = $(SSL_TEST_OBJECTS) \
349*62c56f98SSadaf Ebrahimi		test/query_config.h \
350*62c56f98SSadaf Ebrahimi		ssl/ssl_test_lib.h \
351*62c56f98SSadaf Ebrahimi		ssl/ssl_test_common_source.c \
352*62c56f98SSadaf Ebrahimi		$(DEP)
353*62c56f98SSadaf Ebrahimi
354*62c56f98SSadaf Ebrahimissl/ssl_test_lib.o: ssl/ssl_test_lib.c ssl/ssl_test_lib.h $(DEP)
355*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/ssl_test_lib.c"
356*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c ssl/ssl_test_lib.c -o $@
357*62c56f98SSadaf Ebrahimi
358*62c56f98SSadaf Ebrahimissl/ssl_client2$(EXEXT): ssl/ssl_client2.c $(SSL_TEST_DEPS)
359*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/ssl_client2.c"
360*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_client2.c $(SSL_TEST_OBJECTS) $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
361*62c56f98SSadaf Ebrahimi
362*62c56f98SSadaf Ebrahimissl/ssl_server$(EXEXT): ssl/ssl_server.c $(DEP)
363*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/ssl_server.c"
364*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
365*62c56f98SSadaf Ebrahimi
366*62c56f98SSadaf Ebrahimissl/ssl_server2$(EXEXT): ssl/ssl_server2.c $(SSL_TEST_DEPS)
367*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/ssl_server2.c"
368*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_server2.c $(SSL_TEST_OBJECTS) $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
369*62c56f98SSadaf Ebrahimi
370*62c56f98SSadaf Ebrahimissl/ssl_context_info$(EXEXT): ssl/ssl_context_info.c test/query_config.o test/query_config.h $(DEP)
371*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/ssl_context_info.c"
372*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_context_info.c test/query_config.o $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
373*62c56f98SSadaf Ebrahimi
374*62c56f98SSadaf Ebrahimissl/ssl_fork_server$(EXEXT): ssl/ssl_fork_server.c $(DEP)
375*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/ssl_fork_server.c"
376*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_fork_server.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
377*62c56f98SSadaf Ebrahimi
378*62c56f98SSadaf Ebrahimissl/ssl_pthread_server$(EXEXT): ssl/ssl_pthread_server.c $(DEP)
379*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/ssl_pthread_server.c"
380*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_pthread_server.c   $(LOCAL_LDFLAGS) -lpthread  $(LDFLAGS) -o $@
381*62c56f98SSadaf Ebrahimi
382*62c56f98SSadaf Ebrahimissl/ssl_mail_client$(EXEXT): ssl/ssl_mail_client.c $(DEP)
383*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/ssl_mail_client.c"
384*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/ssl_mail_client.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
385*62c56f98SSadaf Ebrahimi
386*62c56f98SSadaf Ebrahimissl/mini_client$(EXEXT): ssl/mini_client.c $(DEP)
387*62c56f98SSadaf Ebrahimi	echo "  CC    ssl/mini_client.c"
388*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) ssl/mini_client.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
389*62c56f98SSadaf Ebrahimi
390*62c56f98SSadaf Ebrahimitest/benchmark$(EXEXT): test/benchmark.c $(DEP)
391*62c56f98SSadaf Ebrahimi	echo "  CC    test/benchmark.c"
392*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/benchmark.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
393*62c56f98SSadaf Ebrahimi
394*62c56f98SSadaf Ebrahimitest/cpp_dummy_build.cpp: test/generate_cpp_dummy_build.sh
395*62c56f98SSadaf Ebrahimi	echo "  Gen   test/cpp_dummy_build.cpp"
396*62c56f98SSadaf Ebrahimi	test/generate_cpp_dummy_build.sh
397*62c56f98SSadaf Ebrahimi
398*62c56f98SSadaf Ebrahimitest/cpp_dummy_build$(EXEXT): test/cpp_dummy_build.cpp $(DEP)
399*62c56f98SSadaf Ebrahimi	echo "  CXX   test/cpp_dummy_build.cpp"
400*62c56f98SSadaf Ebrahimi	$(CXX) $(LOCAL_CXXFLAGS) $(CXXFLAGS) test/cpp_dummy_build.cpp   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
401*62c56f98SSadaf Ebrahimi
402*62c56f98SSadaf Ebrahimiifdef BUILD_DLOPEN
403*62c56f98SSadaf Ebrahimitest/dlopen$(EXEXT): test/dlopen.c $(DEP)
404*62c56f98SSadaf Ebrahimi	echo "  CC    test/dlopen.c"
405*62c56f98SSadaf Ebrahimi# Do not link any test objects (that would bring in a static dependency on
406*62c56f98SSadaf Ebrahimi# libmbedcrypto at least). Do not link with libmbed* (that would defeat the
407*62c56f98SSadaf Ebrahimi# purpose of testing dynamic loading).
408*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/dlopen.c $(LDFLAGS) $(DLOPEN_LDFLAGS) -o $@
409*62c56f98SSadaf Ebrahimiendif
410*62c56f98SSadaf Ebrahimi
411*62c56f98SSadaf Ebrahimitest/query_config.o: test/query_config.c test/query_config.h $(DEP)
412*62c56f98SSadaf Ebrahimi	echo "  CC    test/query_config.c"
413*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c test/query_config.c -o $@
414*62c56f98SSadaf Ebrahimi
415*62c56f98SSadaf Ebrahimitest/query_included_headers$(EXEXT): test/query_included_headers.c $(DEP)
416*62c56f98SSadaf Ebrahimi	echo "  CC    test/query_included_headers.c"
417*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/query_included_headers.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
418*62c56f98SSadaf Ebrahimi
419*62c56f98SSadaf Ebrahimitest/selftest$(EXEXT): test/selftest.c $(DEP)
420*62c56f98SSadaf Ebrahimi	echo "  CC    test/selftest.c"
421*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/selftest.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
422*62c56f98SSadaf Ebrahimi
423*62c56f98SSadaf Ebrahimitest/udp_proxy$(EXEXT): test/udp_proxy.c $(DEP)
424*62c56f98SSadaf Ebrahimi	echo "  CC    test/udp_proxy.c"
425*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/udp_proxy.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
426*62c56f98SSadaf Ebrahimi
427*62c56f98SSadaf Ebrahimitest/zeroize$(EXEXT): test/zeroize.c $(DEP)
428*62c56f98SSadaf Ebrahimi	echo "  CC    test/zeroize.c"
429*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/zeroize.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
430*62c56f98SSadaf Ebrahimi
431*62c56f98SSadaf Ebrahimitest/query_compile_time_config$(EXEXT): test/query_compile_time_config.c test/query_config.o test/query_config.h $(DEP)
432*62c56f98SSadaf Ebrahimi	echo "  CC    test/query_compile_time_config.c"
433*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/query_compile_time_config.c test/query_config.o $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
434*62c56f98SSadaf Ebrahimi
435*62c56f98SSadaf Ebrahimiutil/pem2der$(EXEXT): util/pem2der.c $(DEP)
436*62c56f98SSadaf Ebrahimi	echo "  CC    util/pem2der.c"
437*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/pem2der.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
438*62c56f98SSadaf Ebrahimi
439*62c56f98SSadaf Ebrahimiutil/strerror$(EXEXT): util/strerror.c $(DEP)
440*62c56f98SSadaf Ebrahimi	echo "  CC    util/strerror.c"
441*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/strerror.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
442*62c56f98SSadaf Ebrahimi
443*62c56f98SSadaf Ebrahimix509/cert_app$(EXEXT): x509/cert_app.c $(DEP)
444*62c56f98SSadaf Ebrahimi	echo "  CC    x509/cert_app.c"
445*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_app.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
446*62c56f98SSadaf Ebrahimi
447*62c56f98SSadaf Ebrahimix509/cert_write$(EXEXT): x509/cert_write.c $(DEP)
448*62c56f98SSadaf Ebrahimi	echo "  CC    x509/cert_write.c"
449*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_write.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
450*62c56f98SSadaf Ebrahimi
451*62c56f98SSadaf Ebrahimix509/crl_app$(EXEXT): x509/crl_app.c $(DEP)
452*62c56f98SSadaf Ebrahimi	echo "  CC    x509/crl_app.c"
453*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/crl_app.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
454*62c56f98SSadaf Ebrahimi
455*62c56f98SSadaf Ebrahimix509/cert_req$(EXEXT): x509/cert_req.c $(DEP)
456*62c56f98SSadaf Ebrahimi	echo "  CC    x509/cert_req.c"
457*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/cert_req.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
458*62c56f98SSadaf Ebrahimi
459*62c56f98SSadaf Ebrahimix509/load_roots$(EXEXT): x509/load_roots.c $(DEP)
460*62c56f98SSadaf Ebrahimi	echo "  CC    x509/load_roots.c"
461*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/load_roots.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
462*62c56f98SSadaf Ebrahimi
463*62c56f98SSadaf Ebrahimix509/req_app$(EXEXT): x509/req_app.c $(DEP)
464*62c56f98SSadaf Ebrahimi	echo "  CC    x509/req_app.c"
465*62c56f98SSadaf Ebrahimi	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) x509/req_app.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
466*62c56f98SSadaf Ebrahimi
467*62c56f98SSadaf Ebrahimiclean:
468*62c56f98SSadaf Ebrahimiifndef WINDOWS
469*62c56f98SSadaf Ebrahimi	rm -f $(EXES)
470*62c56f98SSadaf Ebrahimi	-rm -f ssl/ssl_pthread_server$(EXEXT)
471*62c56f98SSadaf Ebrahimi	-rm -f test/cpp_dummy_build.cpp test/cpp_dummy_build$(EXEXT)
472*62c56f98SSadaf Ebrahimi	-rm -f test/dlopen$(EXEXT)
473*62c56f98SSadaf Ebrahimielse
474*62c56f98SSadaf Ebrahimi	if exist *.o del /Q /F *.o
475*62c56f98SSadaf Ebrahimi	if exist *.exe del /Q /F *.exe
476*62c56f98SSadaf Ebrahimi	if exist test\cpp_dummy_build.cpp del /Q /F test\cpp_dummy_build.cpp
477*62c56f98SSadaf Ebrahimiendif
478*62c56f98SSadaf Ebrahimi	$(MAKE) -C fuzz clean
479*62c56f98SSadaf Ebrahimi
480*62c56f98SSadaf Ebrahimineat: clean
481*62c56f98SSadaf Ebrahimiifndef WINDOWS
482*62c56f98SSadaf Ebrahimi	rm -f $(GENERATED_FILES)
483*62c56f98SSadaf Ebrahimielse
484*62c56f98SSadaf Ebrahimi	for %f in ($(subst /,\,$(GENERATED_FILES))) if exist %f del /Q /F %f
485*62c56f98SSadaf Ebrahimiendif
486*62c56f98SSadaf Ebrahimi
487*62c56f98SSadaf Ebrahimilist:
488*62c56f98SSadaf Ebrahimi	echo $(EXES)
489