blob: b66457322441799166c2a1531bf7dd8e1ec4cc92 [file] [log] [blame]
Hasnain Lakhani37f4e0d2025-08-25 11:21:33 -07001# Licensed under the Apache License, Version 2.0 (the "License");
2# you may not use this file except in compliance with the License.
3# You may obtain a copy of the License at
4#
5# http://www.apache.org/licenses/LICENSE-2.0
6
7AUTOMAKE_OPTIONS = subdir-objects serial-tests nostdinc
8
9# Generate FuzzTest code
10BUILT_SOURCES = gen-cpp/FuzzTest_types.h
11
12noinst_LTLIBRARIES = libfuzztest_gen.la
13
14nodist_libfuzztest_gen_la_SOURCES = \
15 gen-cpp/FuzzTest_types.cpp \
16 gen-cpp/FuzzTest_types.h
17
18libfuzztest_gen_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
19
20# Common fuzzing headers
21noinst_HEADERS = FuzzCommon.tcc
22
23# Fuzzing executables
24AM_CPPFLAGS = -I$(top_srcdir)/lib/cpp/src -I$(top_srcdir)/lib/cpp/src/thrift -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I.
25
26check_PROGRAMS = FuzzParseCompact FuzzParseBinary FuzzRoundtripCompact FuzzRoundtripBinary FuzzParseJson FuzzRoundtripJson
27
28FuzzParseCompact_SOURCES = FuzzParseCompact.cpp FuzzCommon.tcc
29FuzzParseCompact_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
30FuzzParseCompact_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
31if USING_CLANG
32FuzzParseCompact_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
33endif
34
35FuzzRoundtripCompact_SOURCES = FuzzRoundtripCompact.cpp FuzzCommon.tcc
36FuzzRoundtripCompact_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
37FuzzRoundtripCompact_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
38if USING_CLANG
39FuzzRoundtripCompact_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
40endif
41
42FuzzParseBinary_SOURCES = FuzzParseBinary.cpp FuzzCommon.tcc
43FuzzParseBinary_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
44FuzzParseBinary_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
45if USING_CLANG
46FuzzParseBinary_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
47endif
48
49FuzzRoundtripBinary_SOURCES = FuzzRoundtripBinary.cpp FuzzCommon.tcc
50FuzzRoundtripBinary_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
51FuzzRoundtripBinary_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
52if USING_CLANG
53FuzzRoundtripBinary_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
54endif
55
56FuzzParseJson_SOURCES = FuzzParseJson.cpp FuzzCommon.tcc
57FuzzParseJson_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
58FuzzParseJson_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
59if USING_CLANG
60FuzzParseJson_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
61endif
62
63FuzzRoundtripJson_SOURCES = FuzzRoundtripJson.cpp FuzzCommon.tcc
64FuzzRoundtripJson_LDADD = libfuzztest_gen.la $(top_builddir)/lib/cpp/libthrift.la
65FuzzRoundtripJson_CXXFLAGS = $(AM_CXXFLAGS) $(AM_CPPFLAGS) -g
66if USING_CLANG
67FuzzRoundtripJson_LDFLAGS = $(AM_LDFLAGS) -fsanitize=fuzzer
68endif
69
70# Generate thrift files
71gen-cpp/FuzzTest_types.cpp gen-cpp/FuzzTest_types.h: $(top_srcdir)/test/FuzzTest.thrift
72 $(THRIFT) --gen cpp $<
73
74# Clean target
75clean-local:
76 $(RM) -rf gen-cpp
77 $(RM) -f $(check_PROGRAMS)
78 $(RM) -f *.o *.lo *.la
79 $(RM) -rf .libs
80
81CLEANFILES = gen-cpp/*
82
83EXTRA_DIST = CMakeLists.txt FuzzParseCompact.cpp FuzzParseBinary.cpp FuzzRoundtripCompact.cpp FuzzRoundtripBinary.cpp FuzzParseJson.cpp FuzzRoundtripJson.cpp