1c5f01b2fSopenharmony_ci##############################################################################
2c5f01b2fSopenharmony_ci# OSS-Fuzz
3c5f01b2fSopenharmony_ci##############################################################################
4c5f01b2fSopenharmony_ci
5c5f01b2fSopenharmony_ci# The following targets realize the integration to OSS-Fuzz.
6c5f01b2fSopenharmony_ci# See <https://github.com/google/oss-fuzz/blob/master/projects/json/build.sh> for more information.
7c5f01b2fSopenharmony_ci
8c5f01b2fSopenharmony_ci# additional flags
9c5f01b2fSopenharmony_ciCXXFLAGS += -std=c++11
10c5f01b2fSopenharmony_ciCPPFLAGS += -I ../single_include
11c5f01b2fSopenharmony_ci
12c5f01b2fSopenharmony_ciFUZZER_ENGINE = src/fuzzer-driver_afl.cpp
13c5f01b2fSopenharmony_ciFUZZERS = parse_afl_fuzzer parse_bson_fuzzer parse_cbor_fuzzer parse_msgpack_fuzzer parse_ubjson_fuzzer parse_bjdata_fuzzer
14c5f01b2fSopenharmony_cifuzzers: $(FUZZERS)
15c5f01b2fSopenharmony_ci
16c5f01b2fSopenharmony_ciparse_afl_fuzzer:
17c5f01b2fSopenharmony_ci	$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(FUZZER_ENGINE) src/fuzzer-parse_json.cpp -o $@
18c5f01b2fSopenharmony_ci
19c5f01b2fSopenharmony_ciparse_bson_fuzzer:
20c5f01b2fSopenharmony_ci	$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(FUZZER_ENGINE) src/fuzzer-parse_bson.cpp -o $@
21c5f01b2fSopenharmony_ci
22c5f01b2fSopenharmony_ciparse_cbor_fuzzer:
23c5f01b2fSopenharmony_ci	$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(FUZZER_ENGINE) src/fuzzer-parse_cbor.cpp -o $@
24c5f01b2fSopenharmony_ci
25c5f01b2fSopenharmony_ciparse_msgpack_fuzzer:
26c5f01b2fSopenharmony_ci	$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(FUZZER_ENGINE) src/fuzzer-parse_msgpack.cpp -o $@
27c5f01b2fSopenharmony_ci
28c5f01b2fSopenharmony_ciparse_ubjson_fuzzer:
29c5f01b2fSopenharmony_ci	$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(FUZZER_ENGINE) src/fuzzer-parse_ubjson.cpp -o $@
30c5f01b2fSopenharmony_ci
31c5f01b2fSopenharmony_ciparse_bjdata_fuzzer:
32c5f01b2fSopenharmony_ci	$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(FUZZER_ENGINE) src/fuzzer-parse_bjdata.cpp -o $@
33