2 IFLAGS
:= -isystem
include/ -I ..
/include/ -I ..
/lib
/zstd
/ -isystem googletest
/googletest
/include -isystem ..
/..
/..
/lib
/common
/
4 SOURCES
:= $(wildcard ..
/lib
/zstd
/*.c
)
5 OBJECTS
:= $(patsubst %.c
,%.o
,$(SOURCES
))
8 CXXFLAGS
+= -std
=c
++11 -g
-O3
-Wcast-align
9 CFLAGS
+= -g
-O3
-Wframe-larger-than
=400 -Wcast-align
12 ..
/lib
/zstd
/libzstd.a
: $(OBJECTS
)
13 $(AR
) $(ARFLAGS
) $@
$^
15 DecompressCrash
: DecompressCrash.o
$(OBJECTS
) libFuzzer.a
16 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $(LDFLAGS
) $^
-o
$@
18 RoundTripCrash
: RoundTripCrash.o
$(OBJECTS
) ..
/lib
/xxhash.o libFuzzer.a
19 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $(LDFLAGS
) $^
-o
$@
21 UserlandTest
: UserlandTest.
cpp ..
/lib
/zstd
/libzstd.a ..
/lib
/xxhash.o
22 $(CXX
) $(CXXFLAGS
) $(CPPFLAGS
) $^ googletest
/build
/googlemock
/gtest
/libgtest.a googletest
/build
/googlemock
/gtest
/libgtest_main.a
-o
$@
24 XXHashUserlandTest
: XXHashUserlandTest.
cpp ..
/lib
/xxhash.o ..
/..
/..
/lib
/common
/xxhash.o
25 $(CXX
) $(CXXFLAGS
) $(CFLAGS
) $(CPPFLAGS
) $^ googletest
/build
/googlemock
/gtest
/libgtest.a googletest
/build
/googlemock
/gtest
/libgtest_main.a
-o
$@
30 @git clone https
://chromium.googlesource.com
/chromium
/llvm-project
/llvm
/lib
/Fuzzer
37 @git clone https
://github.com
/google
/googletest
38 @mkdir
-p googletest
/build
39 @cd googletest
/build
&& cmake ..
&& $(MAKE
)
42 $(RM
) -f
*.
{o
,a
} ..
/lib
/zstd
/*.
{o
,a
} ..
/lib
/*.o
43 $(RM
) -f DecompressCrash RoundTripCrash UserlandTest XXHashUserlandTest