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