mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-07-30 16:26:33 +08:00
Merge dd0933134b5ed0283a5b803163d8e81c25866022 into f4a1aceb8ca7198b11447d6e1885ce70feb2dcc6
This commit is contained in:
commit
dc5f4a85e6
19
Makefile
19
Makefile
@ -56,12 +56,18 @@ programs/%: FORCE
|
||||
tests/%: FORCE
|
||||
$(MAKE) -C tests $*
|
||||
|
||||
.PHONY: generated_files
|
||||
.PHONY: generated_files list_generated_files
|
||||
generated_files: library/generated_files
|
||||
generated_files: programs/generated_files
|
||||
generated_files: tests/generated_files
|
||||
generated_files: visualc_files
|
||||
|
||||
list_generated_files:
|
||||
@$(MAKE) --no-print-directory -C library list_generated_files | sed 's!^!library/!'
|
||||
@$(MAKE) --no-print-directory -C programs list_generated_files | sed 's!^!programs/!'
|
||||
@$(MAKE) --no-print-directory -C tests list_generated_files | sed 's!^!tests/!'
|
||||
@scripts/generate_visualc_files.pl --list
|
||||
|
||||
# Set GEN_FILES to the empty string to disable dependencies on generated
|
||||
# source files. Then `make generated_files` will only build files that
|
||||
# are missing, it will not rebuilt files that are present but out of date.
|
||||
@ -86,8 +92,15 @@ gen_file_dep = |
|
||||
endif
|
||||
|
||||
.PHONY: visualc_files
|
||||
VISUALC_FILES = visualc/VS2017/mbedTLS.sln visualc/VS2017/mbedTLS.vcxproj
|
||||
# TODO: $(app).vcxproj for each $(app) in programs/
|
||||
ifdef GEN_FILES
|
||||
# Complete list. Requires perl, so make sure we don't execute this line
|
||||
# when GEN_FILES is off.
|
||||
VISUALC_FILES := $(shell $(PERL) scripts/generate_visualc_files.pl --list)
|
||||
else
|
||||
# Incomplete list, just enough to generate the files if they're all absent
|
||||
# but not to generate files for new apps.
|
||||
VISUALC_FILES := visualc/VS2017/mbedTLS.sln visualc/VS2017/mbedTLS.vcxproj
|
||||
endif
|
||||
visualc_files: $(VISUALC_FILES)
|
||||
|
||||
# Ensure that the .c files that generate_visualc_files.pl enumerates are
|
||||
|
||||
@ -341,8 +341,10 @@ libmbedcrypto.dll: $(OBJS_CRYPTO)
|
||||
echo " CC $<"
|
||||
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) -S -o $@ -c $<
|
||||
|
||||
.PHONY: generated_files
|
||||
.PHONY: generated_files list_generated_files
|
||||
generated_files: $(GENERATED_FILES)
|
||||
list_generated_files:
|
||||
@for x in $(GENERATED_FILES); do echo "$$x"; done
|
||||
|
||||
# See root Makefile
|
||||
GEN_FILES ?= yes
|
||||
|
||||
@ -131,9 +131,11 @@ fuzz: ${MBEDLIBS} ${MBEDTLS_TEST_OBJS}
|
||||
${MBEDTLS_TEST_OBJS}:
|
||||
$(MAKE) -C ../tests mbedtls_test
|
||||
|
||||
.PHONY: generated_files
|
||||
GENERATED_FILES = psa/psa_constant_names_generated.c test/query_config.c
|
||||
.PHONY: generated_files list_generated_files
|
||||
generated_files: $(GENERATED_FILES)
|
||||
list_generated_files:
|
||||
@for x in $(GENERATED_FILES); do echo "$$x"; done
|
||||
|
||||
psa/psa_constant_names_generated.c: $(gen_file_dep) ../scripts/generate_psa_constants.py
|
||||
psa/psa_constant_names_generated.c: $(gen_file_dep) ../include/psa/crypto_values.h
|
||||
|
||||
@ -13,6 +13,12 @@ use warnings;
|
||||
use strict;
|
||||
use Digest::MD5 'md5_hex';
|
||||
|
||||
my $help = <<EOF;
|
||||
Usage: $0 [--help|--list]
|
||||
Generate Visual Studio solutions and project files from templates.
|
||||
Must be run from the Mbed TLS root or the scripts directory.
|
||||
EOF
|
||||
|
||||
my $vsx_dir = "visualc/VS2017";
|
||||
my $vsx_ext = "vcxproj";
|
||||
my $vsx_app_tpl_file = "scripts/data_files/vs2017-app-template.$vsx_ext";
|
||||
@ -265,6 +271,25 @@ sub main {
|
||||
check_dirs or die "Must be run from Mbed TLS root or scripts dir\n";
|
||||
}
|
||||
|
||||
if (@ARGV == 0) {
|
||||
# normal operation, code below
|
||||
} elsif (@ARGV == 1 && $ARGV[0] eq '--help') {
|
||||
print $help;
|
||||
exit;
|
||||
} elsif (@ARGV == 1 && $ARGV[0] eq '--list') {
|
||||
my @app_list = get_app_list();
|
||||
my @project_list = map {s!.*/!!; "$_.$vsx_ext"} @app_list;
|
||||
foreach (@project_list) {
|
||||
print "$vsx_dir/$_\n";
|
||||
}
|
||||
print "$vsx_main_file\n";
|
||||
print "$vsx_sln_file\n";
|
||||
exit;
|
||||
} else {
|
||||
print STDERR $help;
|
||||
exit 120;
|
||||
}
|
||||
|
||||
# Remove old files to ensure that, for example, project files from deleted
|
||||
# apps are not kept
|
||||
del_vsx_files();
|
||||
|
||||
@ -72,8 +72,10 @@ opt-testcases/tls13-compat.sh: ../framework/scripts/generate_tls13_compat_tests.
|
||||
GENERATED_FILES += opt-testcases/tls13-compat.sh
|
||||
ssl-opt: opt-testcases/tls13-compat.sh
|
||||
|
||||
.PHONY: generated_files
|
||||
.PHONY: generated_files list_generated_files
|
||||
generated_files: $(GENERATED_FILES)
|
||||
list_generated_files:
|
||||
@for x in $(GENERATED_FILES); do echo "$$x"; done
|
||||
|
||||
# generate_bignum_tests.py and generate_psa_tests.py spend more time analyzing
|
||||
# inputs than generating outputs. Its inputs are the same no matter which files
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user