| |
| # To compile on SunOS: add "-lsocket -lnsl" to LDFLAGS |
| |
| CFLAGS ?= -O2 |
| WARNING_CFLAGS ?= -Wall -Wextra |
| WARNING_CXXFLAGS ?= -Wall -Wextra |
| LDFLAGS ?= |
| |
| LOCAL_CFLAGS = $(WARNING_CFLAGS) -I../include -D_FILE_OFFSET_BITS=64 |
| LOCAL_CXXFLAGS = $(WARNING_CXXFLAGS) -I../include -D_FILE_OFFSET_BITS=64 |
| LOCAL_LDFLAGS = -L../library \ |
| -lmbedcrypto$(SHARED_SUFFIX) |
| |
| LOCAL_CFLAGS+=-I../3rdparty/everest/include |
| |
| ifndef SHARED |
| DEP=../library/libmbedcrypto.a |
| else |
| DEP=../library/libmbedcrypto.$(DLEXT) |
| endif |
| |
| ifdef DEBUG |
| LOCAL_CFLAGS += -g3 |
| endif |
| |
| # if we're running on Windows, build for Windows |
| ifdef WINDOWS |
| WINDOWS_BUILD=1 |
| endif |
| |
| ifdef WINDOWS_BUILD |
| DLEXT=dll |
| EXEXT=.exe |
| LOCAL_LDFLAGS += -lws2_32 |
| ifdef SHARED |
| SHARED_SUFFIX=.$(DLEXT) |
| endif |
| else |
| DLEXT ?= so |
| EXEXT= |
| SHARED_SUFFIX= |
| endif |
| |
| APPS = \ |
| aes/aescrypt2$(EXEXT) \ |
| aes/crypt_and_hash$(EXEXT) \ |
| hash/hello$(EXEXT) \ |
| hash/generic_sum$(EXEXT) \ |
| pkey/dh_genprime$(EXEXT) \ |
| pkey/ecdh_curve25519$(EXEXT) \ |
| pkey/ecdsa$(EXEXT) \ |
| pkey/gen_key$(EXEXT) \ |
| pkey/key_app$(EXEXT) \ |
| pkey/key_app_writer$(EXEXT) \ |
| pkey/mpi_demo$(EXEXT) \ |
| pkey/pk_decrypt$(EXEXT) \ |
| pkey/pk_encrypt$(EXEXT) \ |
| pkey/pk_sign$(EXEXT) \ |
| pkey/pk_verify$(EXEXT) \ |
| pkey/rsa_genkey$(EXEXT) \ |
| pkey/rsa_decrypt$(EXEXT) \ |
| pkey/rsa_encrypt$(EXEXT) \ |
| pkey/rsa_sign$(EXEXT) \ |
| pkey/rsa_verify$(EXEXT) \ |
| pkey/rsa_sign_pss$(EXEXT) \ |
| pkey/rsa_verify_pss$(EXEXT) \ |
| psa/crypto_examples$(EXEXT) \ |
| psa/key_ladder_demo$(EXEXT) \ |
| psa/psa_constant_names$(EXEXT) \ |
| random/gen_entropy$(EXEXT) \ |
| random/gen_random_havege$(EXEXT) \ |
| random/gen_random_ctr_drbg$(EXEXT) \ |
| test/benchmark$(EXEXT) \ |
| test/selftest$(EXEXT) \ |
| test/zeroize$(EXEXT) \ |
| test/query_compile_time_config$(EXEXT) \ |
| util/pem2der$(EXEXT) \ |
| util/strerror$(EXEXT) \ |
| # End of APPS |
| |
| ifdef TEST_CPP |
| APPS += test/cpp_dummy_build$(EXEXT) |
| endif |
| |
| EXTRA_GENERATED = |
| |
| .SILENT: |
| |
| .PHONY: all clean list |
| |
| all: $(APPS) |
| |
| $(DEP): |
| $(MAKE) -C ../library |
| |
| ifdef WINDOWS |
| EXTRA_GENERATED += psa\psa_constant_names_generated.c |
| else |
| EXTRA_GENERATED += psa/psa_constant_names_generated.c |
| endif |
| |
| psa/psa_constant_names$(EXEXT): psa/psa_constant_names_generated.c |
| psa/psa_constant_names_generated.c: ../scripts/generate_psa_constants.py ../include/psa/crypto_values.h ../include/psa/crypto_extra.h |
| ../scripts/generate_psa_constants.py |
| |
| aes/aescrypt2$(EXEXT): aes/aescrypt2.c $(DEP) |
| echo " CC aes/aescrypt2.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/aescrypt2.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| aes/crypt_and_hash$(EXEXT): aes/crypt_and_hash.c $(DEP) |
| echo " CC aes/crypt_and_hash.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/crypt_and_hash.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| hash/hello$(EXEXT): hash/hello.c $(DEP) |
| echo " CC hash/hello.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/hello.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| hash/generic_sum$(EXEXT): hash/generic_sum.c $(DEP) |
| echo " CC hash/generic_sum.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/generic_sum.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/dh_genprime$(EXEXT): pkey/dh_genprime.c $(DEP) |
| echo " CC pkey/dh_genprime.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_genprime.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/ecdh_curve25519$(EXEXT): pkey/ecdh_curve25519.c $(DEP) |
| echo " CC pkey/ecdh_curve25519.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdh_curve25519.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/ecdsa$(EXEXT): pkey/ecdsa.c $(DEP) |
| echo " CC pkey/ecdsa.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdsa.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/gen_key$(EXEXT): pkey/gen_key.c $(DEP) |
| echo " CC pkey/gen_key.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/gen_key.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/key_app$(EXEXT): pkey/key_app.c $(DEP) |
| echo " CC pkey/key_app.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/key_app_writer$(EXEXT): pkey/key_app_writer.c $(DEP) |
| echo " CC pkey/key_app_writer.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app_writer.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/mpi_demo$(EXEXT): pkey/mpi_demo.c $(DEP) |
| echo " CC pkey/mpi_demo.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/mpi_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/pk_decrypt$(EXEXT): pkey/pk_decrypt.c $(DEP) |
| echo " CC pkey/pk_decrypt.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_decrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/pk_encrypt$(EXEXT): pkey/pk_encrypt.c $(DEP) |
| echo " CC pkey/pk_encrypt.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_encrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/pk_sign$(EXEXT): pkey/pk_sign.c $(DEP) |
| echo " CC pkey/pk_sign.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_sign.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/pk_verify$(EXEXT): pkey/pk_verify.c $(DEP) |
| echo " CC pkey/pk_verify.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_verify.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/rsa_genkey$(EXEXT): pkey/rsa_genkey.c $(DEP) |
| echo " CC pkey/rsa_genkey.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_genkey.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/rsa_sign$(EXEXT): pkey/rsa_sign.c $(DEP) |
| echo " CC pkey/rsa_sign.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/rsa_verify$(EXEXT): pkey/rsa_verify.c $(DEP) |
| echo " CC pkey/rsa_verify.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/rsa_sign_pss$(EXEXT): pkey/rsa_sign_pss.c $(DEP) |
| echo " CC pkey/rsa_sign_pss.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign_pss.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/rsa_verify_pss$(EXEXT): pkey/rsa_verify_pss.c $(DEP) |
| echo " CC pkey/rsa_verify_pss.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify_pss.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/rsa_decrypt$(EXEXT): pkey/rsa_decrypt.c $(DEP) |
| echo " CC pkey/rsa_decrypt.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_decrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| pkey/rsa_encrypt$(EXEXT): pkey/rsa_encrypt.c $(DEP) |
| echo " CC pkey/rsa_encrypt.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_encrypt.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| psa/key_ladder_demo$(EXEXT): psa/key_ladder_demo.c $(DEP) |
| echo " CC psa/key_ladder_demo.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/key_ladder_demo.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| psa/psa_constant_names$(EXEXT): psa/psa_constant_names.c $(DEP) |
| echo " CC psa/psa_constant_names.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/psa_constant_names.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| random/gen_entropy$(EXEXT): random/gen_entropy.c $(DEP) |
| echo " CC random/gen_entropy.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_entropy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| random/gen_random_havege$(EXEXT): random/gen_random_havege.c $(DEP) |
| echo " CC random/gen_random_havege.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_havege.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| random/gen_random_ctr_drbg$(EXEXT): random/gen_random_ctr_drbg.c $(DEP) |
| echo " CC random/gen_random_ctr_drbg.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_ctr_drbg.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| test/benchmark$(EXEXT): test/benchmark.c $(DEP) |
| echo " CC test/benchmark.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/benchmark.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| test/cpp_dummy_build$(EXEXT): test/cpp_dummy_build.cpp $(DEP) |
| echo " CXX test/cpp_dummy_build.cpp" |
| $(CXX) $(LOCAL_CXXFLAGS) $(CXXFLAGS) test/cpp_dummy_build.cpp $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| test/selftest$(EXEXT): test/selftest.c $(DEP) |
| echo " CC test/selftest.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/selftest.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| test/zeroize$(EXEXT): test/zeroize.c $(DEP) |
| echo " CC test/zeroize.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/zeroize.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| test/query_compile_time_config$(EXEXT): test/query_compile_time_config.c test/query_config.c $(DEP) |
| echo " CC test/query_compile_time_config.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/query_compile_time_config.c test/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| util/pem2der$(EXEXT): util/pem2der.c $(DEP) |
| echo " CC util/pem2der.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/pem2der.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| util/strerror$(EXEXT): util/strerror.c $(DEP) |
| echo " CC util/strerror.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/strerror.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| psa/crypto_examples$(EXEXT): psa/crypto_examples.c $(DEP) |
| echo " CC psa/crypto_examples.c" |
| $(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/crypto_examples.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ |
| |
| clean: |
| ifndef WINDOWS |
| rm -f $(APPS) $(EXTRA_GENERATED) |
| -rm -f test/cpp_dummy_build$(EXEXT) |
| else |
| if exist *.o del /S /Q /F *.o |
| if exist *.exe del /S /Q /F *.exe |
| if exist $(EXTRA_GENERATED) del /S /Q /F $(EXTRA_GENERATED) |
| endif |
| |
| list: |
| echo $(APPS) |