blob: b66457322441799166c2a1531bf7dd8e1ec4cc92 [file] [log] [blame]
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
AUTOMAKE_OPTIONS = subdir-objects serial-tests nostdinc
# Generate FuzzTest code
BUILT_SOURCES = gen-cpp/FuzzTest_types.h
noinst_LTLIBRARIES = libfuzztest_gen.la
nodist_libfuzztest_gen_la_SOURCES = \
gen-cpp/FuzzTest_types.cpp \
gen-cpp/FuzzTest_types.h
libfuzztest_gen_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
# Common fuzzing headers
noinst_HEADERS = FuzzCommon.tcc
# Fuzzing executables
AM_CPPFLAGS = -I$(top_srcdir)/lib/cpp/src -I$(top_srcdir)/lib/cpp/src/thrift -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I.
check_PROGRAMS = FuzzParseCompact FuzzParseBinary FuzzRoundtripCompact FuzzRoundtripBinary FuzzParseJson FuzzRoundtripJson
FuzzParseCompact_SOURCES = FuzzParseCompact.cpp FuzzCommon.tcc
FuzzParseCompact_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
FuzzParseCompact_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
if USING_CLANG
FuzzParseCompact_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
endif
FuzzRoundtripCompact_SOURCES = FuzzRoundtripCompact.cpp FuzzCommon.tcc
FuzzRoundtripCompact_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
FuzzRoundtripCompact_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
if USING_CLANG
FuzzRoundtripCompact_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
endif
FuzzParseBinary_SOURCES = FuzzParseBinary.cpp FuzzCommon.tcc
FuzzParseBinary_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
FuzzParseBinary_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
if USING_CLANG
FuzzParseBinary_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
endif
FuzzRoundtripBinary_SOURCES = FuzzRoundtripBinary.cpp FuzzCommon.tcc
FuzzRoundtripBinary_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
FuzzRoundtripBinary_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
if USING_CLANG
FuzzRoundtripBinary_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
endif
FuzzParseJson_SOURCES = FuzzParseJson.cpp FuzzCommon.tcc
FuzzParseJson_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
FuzzParseJson_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
if USING_CLANG
FuzzParseJson_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
endif
FuzzRoundtripJson_SOURCES = FuzzRoundtripJson.cpp FuzzCommon.tcc
FuzzRoundtripJson_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
FuzzRoundtripJson_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
if USING_CLANG
FuzzRoundtripJson_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
endif
# Generate thrift files
gen-cpp/FuzzTest_types.cpp gen-cpp/FuzzTest_types.h: $(top_srcdir)/test/FuzzTest.thrift
$(THRIFT) --gen cpp $<
# Clean target
clean-local:
$(RM) -rf gen-cpp
$(RM) -f $(check_PROGRAMS)
$(RM) -f *.o *.lo *.la
$(RM) -rf .libs
CLEANFILES = gen-cpp/*
EXTRA_DIST = CMakeLists.txt FuzzParseCompact.cpp FuzzParseBinary.cpp FuzzRoundtripCompact.cpp FuzzRoundtripBinary.cpp FuzzParseJson.cpp FuzzRoundtripJson.cpp