mirror of
				https://github.com/Mbed-TLS/mbedtls.git
				synced 2025-11-03 20:33:16 +03:00 
			
		
		
		
	Even with a shallow clone of the repo where there are no tags available to version with, don't error and instead show a unique abbreviated commit hash as fallback.
		
			
				
	
	
		
			230 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			230 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
###########################################################################
 | 
						|
#
 | 
						|
#  Copyright (c) 2018, ARM Limited, All Rights Reserved
 | 
						|
#  SPDX-License-Identifier: Apache-2.0
 | 
						|
#
 | 
						|
#  Licensed under the Apache License, Version 2.0 (the "License"); you may
 | 
						|
#  not use this file except in compliance with the License.
 | 
						|
#  You may obtain a copy of the License at
 | 
						|
#
 | 
						|
#  http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
#
 | 
						|
#  Unless required by applicable law or agreed to in writing, software
 | 
						|
#  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
						|
#  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
#  See the License for the specific language governing permissions and
 | 
						|
#  limitations under the License.
 | 
						|
#
 | 
						|
###########################################################################
 | 
						|
 | 
						|
#
 | 
						|
# Use this file to export an Mbed Crypto release tarball as follows, from the
 | 
						|
# top level of the mbedtls repo:
 | 
						|
#
 | 
						|
#   1) make -f scripts/mbed_crypto.make
 | 
						|
#
 | 
						|
 | 
						|
.PHONY: all clean FORCE
 | 
						|
 | 
						|
all: mbedcrypto.tar.gz
 | 
						|
 | 
						|
#
 | 
						|
# Crypto-necessary library files
 | 
						|
#
 | 
						|
LIB_FILES := \
 | 
						|
	aes.c \
 | 
						|
	aesni.c \
 | 
						|
	arc4.c \
 | 
						|
	asn1parse.c \
 | 
						|
	asn1write.c \
 | 
						|
	base64.c \
 | 
						|
	bignum.c \
 | 
						|
	blowfish.c \
 | 
						|
	camellia.c \
 | 
						|
	ccm.c \
 | 
						|
	cipher.c \
 | 
						|
	cipher_wrap.c \
 | 
						|
	cmac.c \
 | 
						|
	ctr_drbg.c \
 | 
						|
	des.c \
 | 
						|
	ecdsa.c \
 | 
						|
	ecp.c \
 | 
						|
	ecp_curves.c \
 | 
						|
	entropy.c \
 | 
						|
	entropy_poll.c \
 | 
						|
	gcm.c \
 | 
						|
	hmac_drbg.c \
 | 
						|
	md.c \
 | 
						|
	md2.c \
 | 
						|
	md4.c \
 | 
						|
	md5.c \
 | 
						|
	md_wrap.c \
 | 
						|
	oid.c \
 | 
						|
	pem.c \
 | 
						|
	pk.c \
 | 
						|
	pk_wrap.c \
 | 
						|
	pkcs12.c \
 | 
						|
	pkcs5.c \
 | 
						|
	pkparse.c \
 | 
						|
	pkwrite.c \
 | 
						|
	platform.c \
 | 
						|
	platform_util.c \
 | 
						|
	psa_crypto.c \
 | 
						|
	ripemd160.c \
 | 
						|
	rsa_internal.c \
 | 
						|
	rsa.c \
 | 
						|
	sha1.c \
 | 
						|
	sha256.c \
 | 
						|
	sha512.c \
 | 
						|
	xtea.c \
 | 
						|
# Don't delete this line.
 | 
						|
 | 
						|
#
 | 
						|
# Crypto-necessary include files
 | 
						|
#
 | 
						|
INC_FILES := \
 | 
						|
	mbedcrypto/aes.h \
 | 
						|
	mbedcrypto/aesni.h \
 | 
						|
	mbedcrypto/arc4.h \
 | 
						|
	mbedcrypto/asn1.h \
 | 
						|
	mbedcrypto/asn1write.h \
 | 
						|
	mbedcrypto/base64.h \
 | 
						|
	mbedcrypto/bignum.h \
 | 
						|
	mbedcrypto/blowfish.h \
 | 
						|
	mbedcrypto/bn_mul.h \
 | 
						|
	mbedcrypto/camellia.h \
 | 
						|
	mbedcrypto/ccm.h \
 | 
						|
	mbedcrypto/certs.h \
 | 
						|
	mbedcrypto/check_config.h \
 | 
						|
	mbedcrypto/cipher.h \
 | 
						|
	mbedcrypto/cipher_internal.h \
 | 
						|
	mbedcrypto/cmac.h \
 | 
						|
	mbedcrypto/config.h \
 | 
						|
	mbedcrypto/ctr_drbg.h \
 | 
						|
	mbedcrypto/des.h \
 | 
						|
	mbedcrypto/ecdsa.h \
 | 
						|
	mbedcrypto/ecp.h \
 | 
						|
	mbedcrypto/ecp_internal.h \
 | 
						|
	mbedcrypto/entropy.h \
 | 
						|
	mbedcrypto/entropy_poll.h \
 | 
						|
	mbedcrypto/error.h \
 | 
						|
	mbedcrypto/gcm.h \
 | 
						|
	mbedcrypto/hmac_drbg.h \
 | 
						|
	mbedcrypto/md.h \
 | 
						|
	mbedcrypto/md2.h \
 | 
						|
	mbedcrypto/md4.h \
 | 
						|
	mbedcrypto/md5.h \
 | 
						|
	mbedcrypto/md_internal.h \
 | 
						|
	mbedcrypto/oid.h \
 | 
						|
	mbedcrypto/pem.h \
 | 
						|
	mbedcrypto/pk.h \
 | 
						|
	mbedcrypto/pk_internal.h \
 | 
						|
	mbedcrypto/pkcs11.h \
 | 
						|
	mbedcrypto/pkcs12.h \
 | 
						|
	mbedcrypto/pkcs5.h \
 | 
						|
	mbedcrypto/platform.h \
 | 
						|
	mbedcrypto/platform_util.h \
 | 
						|
	mbedcrypto/ripemd160.h \
 | 
						|
	mbedcrypto/rsa.h \
 | 
						|
	mbedcrypto/rsa_internal.h \
 | 
						|
	mbedcrypto/sha1.h \
 | 
						|
	mbedcrypto/sha256.h \
 | 
						|
	mbedcrypto/sha512.h \
 | 
						|
	mbedcrypto/threading.h \
 | 
						|
	mbedcrypto/xtea.h \
 | 
						|
	psa/crypto.h \
 | 
						|
	psa/crypto_extra.h \
 | 
						|
	psa/crypto_platform.h \
 | 
						|
	psa/crypto_sizes.h \
 | 
						|
	psa/crypto_struct.h \
 | 
						|
# Don't delete this line.
 | 
						|
 | 
						|
TEST_FILES := \
 | 
						|
	tests/scripts/generate_test_code.py \
 | 
						|
	tests/scripts/mbedtls_test.py \
 | 
						|
	tests/scripts/test_generate_test_code.py \
 | 
						|
	tests/scripts/run-test-suites.pl \
 | 
						|
	tests/suites/helpers.function \
 | 
						|
	tests/suites/host_test.function \
 | 
						|
	tests/suites/main_test.function \
 | 
						|
	tests/suites/target_test.function \
 | 
						|
	tests/suites/test_suite_psa_crypto.data \
 | 
						|
	tests/suites/test_suite_psa_crypto.function \
 | 
						|
	tests/suites/test_suite_psa_crypto_metadata.data \
 | 
						|
	tests/suites/test_suite_psa_crypto_metadata.function \
 | 
						|
# Don't delete this line.
 | 
						|
 | 
						|
OTHER_FILES := \
 | 
						|
	LICENSE \
 | 
						|
	VERSION.txt \
 | 
						|
	programs/psa/crypto_examples.c \
 | 
						|
	programs/psa/key_ladder_demo.c \
 | 
						|
	programs/psa/key_ladder_demo.sh \
 | 
						|
	programs/psa/psa_constant_names.c \
 | 
						|
	scripts/config.pl \
 | 
						|
	scripts/generate_psa_constants.py \
 | 
						|
# Don't delete this line.
 | 
						|
 | 
						|
# Prepend destination directory
 | 
						|
LIB_FILES := $(addprefix crypto/library/,$(LIB_FILES))
 | 
						|
INC_FILES := $(addprefix crypto/include/,$(INC_FILES))
 | 
						|
TEST_FILES := $(addprefix crypto/,$(TEST_FILES))
 | 
						|
OTHER_FILES := $(addprefix crypto/,$(OTHER_FILES))
 | 
						|
 | 
						|
define rename_mbedcrypto
 | 
						|
	@sed -i -e 's/Mbed TLS/Mbed Crypto/g' $(1)
 | 
						|
	@sed -i -e 's/mbed TLS/Mbed Crypto/g' $(1)
 | 
						|
	@sed -i -e 's/MBEDTLS_/MBEDCRYPTO_/g' $(1)
 | 
						|
	@sed -i -e 's/mbedtls/mbedcrypto/g' $(1)
 | 
						|
	@sed -i -e 's/MbedTls/MbedCrypto/g' $(1)
 | 
						|
	@sed -i -e 's/include\/mbedtls/include\/mbedcrypto/g' $(1)
 | 
						|
endef
 | 
						|
 | 
						|
crypto/include/mbedcrypto/config.h: configs/config-psa-crypto.h
 | 
						|
	@echo $@
 | 
						|
	@mkdir -p $(dir $@)
 | 
						|
	@cp $< $@
 | 
						|
	@#Rename the file in the comments
 | 
						|
	@sed -i -e 's/config-psa-crypto.h/config.h/g' $@
 | 
						|
	$(call rename_mbedcrypto,$@)
 | 
						|
 | 
						|
crypto/tests/data_files/%: tests/data_files/%
 | 
						|
	@echo $@
 | 
						|
	@mkdir -p $(dir $@)
 | 
						|
	@cp $< $@
 | 
						|
	@#Don't rename things inside data files
 | 
						|
 | 
						|
crypto/include/mbedcrypto/%.h: include/mbedtls/%.h
 | 
						|
	@echo $@
 | 
						|
	@mkdir -p $(dir $@)
 | 
						|
	@cp $< $@
 | 
						|
	$(call rename_mbedcrypto,$@)
 | 
						|
 | 
						|
crypto/LICENSE: apache-2.0.txt
 | 
						|
	@echo $@
 | 
						|
	@mkdir -p $(dir $@)
 | 
						|
	@cp $< $@
 | 
						|
	@#Don't rename anything in the license
 | 
						|
 | 
						|
crypto/%: %
 | 
						|
	@echo $@
 | 
						|
	@mkdir -p $(dir $@)
 | 
						|
	@cp $< $@
 | 
						|
	$(call rename_mbedcrypto,$@)
 | 
						|
 | 
						|
crypto/VERSION.txt: FORCE
 | 
						|
	@git describe --tags --abbrev=12 --dirty --always > $@
 | 
						|
 | 
						|
mbedcrypto.tar.gz: $(LIB_FILES) $(INC_FILES) $(TEST_FILES) $(OTHER_FILES)
 | 
						|
	@echo $@
 | 
						|
	@tar czf mbedcrypto.tar.gz crypto
 | 
						|
 | 
						|
clean:
 | 
						|
	@echo clean
 | 
						|
	@rm -rf mbedcrypto.tar.gz \
 | 
						|
		$(LIB_FILES) $(INC_FILES) $(TEST_FILES) $(OTHER_FILES)
 | 
						|
 | 
						|
FORCE:
 | 
						|
 | 
						|
# vi: ft=make
 |