• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: BSD-2-Clause
2# Copyright (c) 2019 Intel Corporation
3# All rights reserved.
4
5TEST_EXTENSIONS += .fuzz
6FUZZ_LOG_COMPILER = $(srcdir)/script/fuzz-log-compiler.sh
7INCLUDE_DIRS += -I$(srcdir)/test/fuzz/tcti
8TESTS_LIBADD = $(lib_LTLIBRARIES) $(libtss2_mu) $(libtss2_sys) $(libutil)
9
10EXTRA_DIST += test/fuzz/main-sapi.cpp
11# tcti library used for fuzzing
12if ENABLE_TCTI_FUZZING
13libtss2_tcti_fuzzing = test/fuzz/tcti/libtss2-tcti-fuzzing.la
14check_LTLIBRARIES += $(libtss2_tcti_fuzzing)
15
16test_fuzz_tcti_libtss2_tcti_fuzzing_la_LIBADD   = $(TESTS_LIBADD)
17test_fuzz_tcti_libtss2_tcti_fuzzing_la_SOURCES  = \
18    src/tss2-tcti/tcti-common.c src/tss2-tcti/tcti-common.h \
19    test/fuzz/tcti/tcti-fuzzing.c test/fuzz/tcti/tcti-fuzzing.h \
20    test/fuzz/tcti/tss2_tcti_fuzzing.h
21endif # ENABLE_TCTI_FUZZING
22
23if ENABLE_FUZZING
24FUZZ_CFLAGS = $(TESTS_CFLAGS) -I$(srcdir)/test/integration
25FUZZ_CPPFLAGS = $(INCLUDE_DIRS) -I$(srcdir)/test/integration $(LIB_FUZZING_ENGINE)
26
27libtss2_utils_fuzzing = test/fuzz/libfuzz_utils.la
28check_LTLIBRARIES += $(libtss2_utils_fuzzing)
29test_fuzz_libfuzz_utils_la_LDFLAGS = $(TESTS_LDFLAGS)
30test_fuzz_libfuzz_utils_la_LIBADD = $(TESTS_LIBADD)
31test_fuzz_libfuzz_utils_la_CFLAGS = $(AM_CFLAGS) $(FUZZ_CFLAGS)
32test_fuzz_libfuzz_utils_la_SOURCES = \
33    test/integration/sapi-context-util.c \
34    test/integration/sapi-test-options.c
35
36TESTS_LDADD += $(libtss2_utils_fuzzing)
37FUZZLDADD = $(TESTS_LDADD) $(TESTS_LDFLAGS) $(FUZZ_LDFLAGS)
38
39fuzzdir = $(srcdir)
40fuzz-targets: $(fuzz_PROGRAMS)
41
42check_PROGRAMS += $(TESTS_FUZZ)
43TESTS += $(TESTS_FUZZ)
44fuzz_PROGRAMS = $(TESTS_FUZZ)
45FUZZ = $(check_PROGRAMS)
46
47DISTCLEANFILES += Makefile-fuzz-generated.am
48
49include Makefile-fuzz-generated.am
50endif # ENABLE_FUZZING
51