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