xref: /btstack/3rd-party/lc3-google/fuzz/makefile.mk (revision 6897da5c53aac5b1f90f41b5b15d0bd43d61dfff)
1*6897da5cSDirk Helbig#
2*6897da5cSDirk Helbig# Copyright 2022 Google LLC
3*6897da5cSDirk Helbig#
4*6897da5cSDirk Helbig# Licensed under the Apache License, Version 2.0 (the "License");
5*6897da5cSDirk Helbig# you may not use this file except in compliance with the License.
6*6897da5cSDirk Helbig# You may obtain a copy of the License at:
7*6897da5cSDirk Helbig#
8*6897da5cSDirk Helbig# http://www.apache.org/licenses/LICENSE-2.0
9*6897da5cSDirk Helbig#
10*6897da5cSDirk Helbig# Unless required by applicable law or agreed to in writing, software
11*6897da5cSDirk Helbig# distributed under the License is distributed on an "AS IS" BASIS,
12*6897da5cSDirk Helbig# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*6897da5cSDirk Helbig# See the License for the specific language governing permissions and
14*6897da5cSDirk Helbig# limitations under the License.
15*6897da5cSDirk Helbig#
16*6897da5cSDirk Helbig
17*6897da5cSDirk Helbigefuzz_src += \
18*6897da5cSDirk Helbig    $(FUZZ_DIR)/efuzz.cc
19*6897da5cSDirk Helbig
20*6897da5cSDirk Helbigefuzz_ldlibs += lc3 m
21*6897da5cSDirk Helbigefuzz_dependencies += liblc3
22*6897da5cSDirk Helbig
23*6897da5cSDirk Helbig$(eval $(call add-bin,efuzz))
24*6897da5cSDirk Helbig
25*6897da5cSDirk Helbig
26*6897da5cSDirk Helbigdfuzz_src += \
27*6897da5cSDirk Helbig    $(FUZZ_DIR)/dfuzz.cc
28*6897da5cSDirk Helbig
29*6897da5cSDirk Helbigdfuzz_ldlibs += lc3 m
30*6897da5cSDirk Helbigdfuzz_dependencies += liblc3
31*6897da5cSDirk Helbig
32*6897da5cSDirk Helbig$(eval $(call add-bin,dfuzz))
33*6897da5cSDirk Helbig
34*6897da5cSDirk Helbig
35*6897da5cSDirk Helbig.PHONY: fuzz dfuzz efuzz
36*6897da5cSDirk Helbig
37*6897da5cSDirk Helbigefuzz dfuzz: CC  = clang
38*6897da5cSDirk Helbigefuzz dfuzz: CXX = clang++
39*6897da5cSDirk Helbigefuzz dfuzz: LD  = clang
40*6897da5cSDirk Helbig
41*6897da5cSDirk HelbigFUZZER_SANITIZE := -fsanitize=fuzzer,address
42*6897da5cSDirk Helbigefuzz dfuzz: CFLAGS   += $(FUZZER_SANITIZE)
43*6897da5cSDirk Helbigefuzz dfuzz: CXXFLAGS += $(FUZZER_SANITIZE)
44*6897da5cSDirk Helbigefuzz dfuzz: LDFLAGS  += $(FUZZER_SANITIZE)
45*6897da5cSDirk Helbig
46*6897da5cSDirk Helbigdfuzz:
47*6897da5cSDirk Helbig	$(V)LD_LIBRARY_PATH=$(BIN_DIR) $(dfuzz_bin) -runs=1000000
48*6897da5cSDirk Helbig
49*6897da5cSDirk Helbigefuzz:
50*6897da5cSDirk Helbig	$(V)LD_LIBRARY_PATH=$(BIN_DIR) $(efuzz_bin) -runs=1000000
51*6897da5cSDirk Helbig
52*6897da5cSDirk Helbigfuzz: efuzz dfuzz
53