diff options
Diffstat (limited to 'tests/fuzzer/makefile.unix')
-rw-r--r-- | tests/fuzzer/makefile.unix | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/fuzzer/makefile.unix b/tests/fuzzer/makefile.unix new file mode 100644 index 00000000..e2425639 --- /dev/null +++ b/tests/fuzzer/makefile.unix @@ -0,0 +1,30 @@ +# This Makefile will compile all fuzzing targets. It doesn't check tool +# requirements and paths may need to be updated depending on your environment. +# Note a clang 6+ toolchain is assumed for use of -fsanitize=fuzzer. + +CC = clang +CXX = clang++ +CFLAGS = -fsanitize=fuzzer -I../../src -I../.. -Wall -Wextra +CXXFLAGS = $(CFLAGS) +LDFLAGS = -fsanitize=fuzzer +LDLIBS = ../../src/mux/libwebpmux.a ../../src/demux/libwebpdemux.a +LDLIBS += ../../src/libwebp.a ../../imageio/libimageio_util.a + +FUZZERS = advanced_api_fuzzer animation_api_fuzzer animencoder_fuzzer +FUZZERS += animdecoder_fuzzer mux_demux_api_fuzzer enc_dec_fuzzer +FUZZERS += simple_api_fuzzer + +%.o: fuzz_utils.h img_alpha.h img_grid.h img_peak.h +all: $(FUZZERS) + +define FUZZER_template +$(1): $$(addsuffix .o, $(1)) $(LDLIBS) +OBJS += $$(addsuffix .o, $(1)) +endef + +$(foreach fuzzer, $(FUZZERS), $(eval $(call FUZZER_template, $(fuzzer)))) + +clean: + $(RM) $(FUZZERS) $(OBJS) + +.PHONY: all clean |