summaryrefslogtreecommitdiffstats
path: root/src/zstd/contrib/linux-kernel/test/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/zstd/contrib/linux-kernel/test/Makefile')
-rw-r--r--src/zstd/contrib/linux-kernel/test/Makefile43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/zstd/contrib/linux-kernel/test/Makefile b/src/zstd/contrib/linux-kernel/test/Makefile
new file mode 100644
index 000000000..8411462c9
--- /dev/null
+++ b/src/zstd/contrib/linux-kernel/test/Makefile
@@ -0,0 +1,43 @@
+
+IFLAGS := -isystem include/ -I ../include/ -I ../lib/zstd/ -isystem googletest/googletest/include -isystem ../../../lib/common/
+
+SOURCES := $(wildcard ../lib/zstd/*.c)
+OBJECTS := $(patsubst %.c,%.o,$(SOURCES))
+
+ARFLAGS := rcs
+CXXFLAGS += -std=c++11 -g -O3 -Wcast-align
+CFLAGS += -g -O3 -Wframe-larger-than=400 -Wcast-align
+CPPFLAGS += $(IFLAGS)
+
+../lib/zstd/libzstd.a: $(OBJECTS)
+ $(AR) $(ARFLAGS) $@ $^
+
+DecompressCrash: DecompressCrash.o $(OBJECTS) libFuzzer.a
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $^ -o $@
+
+RoundTripCrash: RoundTripCrash.o $(OBJECTS) ../lib/xxhash.o libFuzzer.a
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $^ -o $@
+
+UserlandTest: UserlandTest.cpp ../lib/zstd/libzstd.a ../lib/xxhash.o
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $^ googletest/build/googlemock/gtest/libgtest.a googletest/build/googlemock/gtest/libgtest_main.a -o $@
+
+XXHashUserlandTest: XXHashUserlandTest.cpp ../lib/xxhash.o ../../../lib/common/xxhash.o
+ $(CXX) $(CXXFLAGS) $(CFLAGS) $(CPPFLAGS) $^ googletest/build/googlemock/gtest/libgtest.a googletest/build/googlemock/gtest/libgtest_main.a -o $@
+
+# Install libfuzzer
+libFuzzer.a:
+ @$(RM) -rf Fuzzer
+ @git clone https://chromium.googlesource.com/chromium/llvm-project/llvm/lib/Fuzzer
+ @./Fuzzer/build.sh
+
+# Install googletest
+.PHONY: googletest
+googletest:
+ @$(RM) -rf googletest
+ @git clone https://github.com/google/googletest
+ @mkdir -p googletest/build
+ @cd googletest/build && cmake .. && $(MAKE)
+
+clean:
+ $(RM) -f *.{o,a} ../lib/zstd/*.{o,a} ../lib/*.o
+ $(RM) -f DecompressCrash RoundTripCrash UserlandTest XXHashUserlandTest