3d07ffade2
Resolve conflicts by performing the following operations: - Reject changes to files removed during the creation of Mbed Crypto from Mbed TLS. - Reject the addition of certificates that would not be used by any tests, including rejecting the addition of Makefile rules to generate these certificates. - Reject changes to error.c referencing modules that are not part of Mbed Crypto. * origin/development: (80 commits) Style fix Fix test data Update test data Add some negative test cases Fix minor issues Add ChangeLog entry about listing all SAN Remove unneeded whitespaces Fix mingw CI failures Initialize psa_crypto in ssl test Check that SAN is not malformed when parsing Documentation fixes Fix ChangeLog entry Fix missing tls version test failures Fix typo Fix ChangeLog entry location Add changeLog entry Add test for export keys functionality Add function to retrieve the tls_prf type Add tests for the public tls_prf API Add public API for tls_prf ...
127 lines
3.9 KiB
Makefile
127 lines
3.9 KiB
Makefile
|
|
DESTDIR=/usr/local
|
|
PREFIX=mbedtls_
|
|
|
|
.SILENT:
|
|
|
|
.PHONY: all no_test programs lib tests install uninstall clean test check covtest lcov apidoc apidoc_clean
|
|
|
|
all: programs tests
|
|
$(MAKE) post_build
|
|
|
|
no_test: programs
|
|
|
|
programs: lib
|
|
$(MAKE) -C programs
|
|
|
|
lib:
|
|
$(MAKE) -C library
|
|
|
|
tests: lib
|
|
$(MAKE) -C tests
|
|
|
|
ifndef WINDOWS
|
|
install: no_test
|
|
mkdir -p $(DESTDIR)/include/mbedtls
|
|
cp -rp include/mbedtls $(DESTDIR)/include
|
|
mkdir -p $(DESTDIR)/include/psa
|
|
cp -rp include/psa $(DESTDIR)/include
|
|
|
|
mkdir -p $(DESTDIR)/lib
|
|
cp -RP library/libmbedcrypto.* $(DESTDIR)/lib
|
|
|
|
mkdir -p $(DESTDIR)/bin
|
|
for p in programs/*/* ; do \
|
|
if [ -x $$p ] && [ ! -d $$p ] ; \
|
|
then \
|
|
f=$(PREFIX)`basename $$p` ; \
|
|
cp $$p $(DESTDIR)/bin/$$f ; \
|
|
fi \
|
|
done
|
|
|
|
uninstall:
|
|
rm -rf $(DESTDIR)/include/mbedtls
|
|
rm -f $(DESTDIR)/lib/libmbedcrypto.*
|
|
|
|
for p in programs/*/* ; do \
|
|
if [ -x $$p ] && [ ! -d $$p ] ; \
|
|
then \
|
|
f=$(PREFIX)`basename $$p` ; \
|
|
rm -f $(DESTDIR)/bin/$$f ; \
|
|
fi \
|
|
done
|
|
endif
|
|
|
|
WARNING_BORDER =*******************************************************\n
|
|
NULL_ENTROPY_WARN_L1=**** WARNING! MBEDTLS_TEST_NULL_ENTROPY defined! ****\n
|
|
NULL_ENTROPY_WARN_L2=**** THIS BUILD HAS NO DEFINED ENTROPY SOURCES ****\n
|
|
NULL_ENTROPY_WARN_L3=**** AND IS *NOT* SUITABLE FOR PRODUCTION USE ****\n
|
|
|
|
NULL_ENTROPY_WARNING=\n$(WARNING_BORDER)$(NULL_ENTROPY_WARN_L1)$(NULL_ENTROPY_WARN_L2)$(NULL_ENTROPY_WARN_L3)$(WARNING_BORDER)
|
|
|
|
WARNING_BORDER_LONG =**********************************************************************************\n
|
|
CTR_DRBG_128_BIT_KEY_WARN_L1=**** WARNING! MBEDTLS_CTR_DRBG_USE_128_BIT_KEY defined! ****\n
|
|
CTR_DRBG_128_BIT_KEY_WARN_L2=**** Using 128-bit keys for CTR_DRBG limits the security of generated ****\n
|
|
CTR_DRBG_128_BIT_KEY_WARN_L3=**** keys and operations that use random values generated to 128-bit security ****\n
|
|
|
|
CTR_DRBG_128_BIT_KEY_WARNING=\n$(WARNING_BORDER_LONG)$(CTR_DRBG_128_BIT_KEY_WARN_L1)$(CTR_DRBG_128_BIT_KEY_WARN_L2)$(CTR_DRBG_128_BIT_KEY_WARN_L3)$(WARNING_BORDER_LONG)
|
|
|
|
# Post build steps
|
|
post_build:
|
|
ifndef WINDOWS
|
|
|
|
# If 128-bit keys are configured for CTR_DRBG, display an appropriate warning
|
|
-scripts/config.pl get MBEDTLS_CTR_DRBG_USE_128_BIT_KEY && ([ $$? -eq 0 ]) && \
|
|
echo '$(CTR_DRBG_128_BIT_KEY_WARNING)'
|
|
|
|
# If NULL Entropy is configured, display an appropriate warning
|
|
-scripts/config.pl get MBEDTLS_TEST_NULL_ENTROPY && ([ $$? -eq 0 ]) && \
|
|
echo '$(NULL_ENTROPY_WARNING)'
|
|
endif
|
|
|
|
clean:
|
|
$(MAKE) -C library clean
|
|
$(MAKE) -C programs clean
|
|
$(MAKE) -C tests clean
|
|
ifndef WINDOWS
|
|
find . \( -name \*.gcno -o -name \*.gcda -o -name \*.info \) -exec rm {} +
|
|
endif
|
|
|
|
check: lib tests
|
|
$(MAKE) -C tests check
|
|
|
|
test: check
|
|
|
|
ifndef WINDOWS
|
|
# note: for coverage testing, build with:
|
|
# make CFLAGS='--coverage -g3 -O0'
|
|
covtest:
|
|
$(MAKE) check
|
|
programs/test/selftest
|
|
|
|
lcov:
|
|
rm -rf Coverage
|
|
lcov --capture --initial --directory library -o files.info
|
|
lcov --capture --directory library -o tests.info
|
|
lcov --add-tracefile files.info --add-tracefile tests.info -o all.info
|
|
lcov --remove all.info -o final.info '*.h'
|
|
gendesc tests/Descriptions.txt -o descriptions
|
|
genhtml --title "mbed TLS" --description-file descriptions --keep-descriptions --legend --no-branch-coverage -o Coverage final.info
|
|
rm -f files.info tests.info all.info final.info descriptions
|
|
|
|
apidoc:
|
|
mkdir -p apidoc
|
|
cd doxygen && doxygen mbedtls.doxyfile
|
|
|
|
apidoc_clean:
|
|
rm -rf apidoc
|
|
endif
|
|
|
|
## Editor navigation files
|
|
C_SOURCE_FILES = $(wildcard include/*/*.h library/*.[hc] programs/*/*.[hc] tests/suites/*.function)
|
|
tags: $(C_SOURCE_FILES)
|
|
ctags -o $@ $(C_SOURCE_FILES)
|
|
TAGS: $(C_SOURCE_FILES)
|
|
etags -o $@ $(C_SOURCE_FILES)
|
|
GPATH GRTAGS GSYMS GTAGS: $(C_SOURCE_FILES)
|
|
ls $(C_SOURCE_FILES) | gtags -f - --gtagsconf .globalrc
|