]> git.proxmox.com Git - ceph.git/blob - ceph/src/zstd/contrib/linux-kernel/test/Makefile
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / zstd / contrib / linux-kernel / test / Makefile
1
2 IFLAGS := -isystem include/ -I ../include/ -I ../lib/zstd/ -isystem googletest/googletest/include -isystem ../../../lib/common/
3
4 SOURCES := $(wildcard ../lib/zstd/*.c)
5 OBJECTS := $(patsubst %.c,%.o,$(SOURCES))
6
7 ARFLAGS := rcs
8 CXXFLAGS += -std=c++11 -g -O3 -Wcast-align
9 CFLAGS += -g -O3 -Wframe-larger-than=400 -Wcast-align
10 CPPFLAGS += $(IFLAGS)
11
12 ../lib/zstd/libzstd.a: $(OBJECTS)
13 $(AR) $(ARFLAGS) $@ $^
14
15 DecompressCrash: DecompressCrash.o $(OBJECTS) libFuzzer.a
16 $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $^ -o $@
17
18 RoundTripCrash: RoundTripCrash.o $(OBJECTS) ../lib/xxhash.o libFuzzer.a
19 $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $^ -o $@
20
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 $@
23
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 $@
26
27 # Install libfuzzer
28 libFuzzer.a:
29 @$(RM) -rf Fuzzer
30 @git clone https://chromium.googlesource.com/chromium/llvm-project/llvm/lib/Fuzzer
31 @./Fuzzer/build.sh
32
33 # Install googletest
34 .PHONY: googletest
35 googletest:
36 @$(RM) -rf googletest
37 @git clone https://github.com/google/googletest
38 @mkdir -p googletest/build
39 @cd googletest/build && cmake .. && $(MAKE)
40
41 clean:
42 $(RM) -f *.{o,a} ../lib/zstd/*.{o,a} ../lib/*.o
43 $(RM) -f DecompressCrash RoundTripCrash UserlandTest XXHashUserlandTest