31f52d35763f991af04374ef0c800b33eb0b0c00
[pcsx_rearmed.git] / deps / libchdr / deps / zstd-1.5.5 / examples / Makefile
1 # ################################################################
2 # Copyright (c) Meta Platforms, Inc. and affiliates.
3 # All rights reserved.
4 #
5 # This source code is licensed under both the BSD-style license (found in the
6 # LICENSE file in the root directory of this source tree) and the GPLv2 (found
7 # in the COPYING file in the root directory of this source tree).
8 # You may select, at your option, one of the above-listed licenses.
9 # ################################################################
10
11 LIBDIR =../lib
12 CPPFLAGS += -I$(LIBDIR)
13 LIB = $(LIBDIR)/libzstd.a
14
15
16 .PHONY: default
17 default: all
18
19 .PHONY: all
20 all: simple_compression simple_decompression \
21         multiple_simple_compression\
22         dictionary_compression dictionary_decompression \
23         streaming_compression streaming_decompression \
24         multiple_streaming_compression streaming_memory_usage
25
26 $(LIB) :
27         $(MAKE) -C $(LIBDIR) libzstd.a
28
29 simple_compression.o: common.h
30 simple_compression : $(LIB)
31
32 simple_decompression.o: common.h
33 simple_decompression : $(LIB)
34
35 multiple_simple_compression.o: common.h
36 multiple_simple_compression : $(LIB)
37
38 dictionary_compression.o: common.h
39 dictionary_compression : $(LIB)
40
41 dictionary_decompression.o: common.h
42 dictionary_decompression : $(LIB)
43
44 streaming_compression.o: common.h
45 streaming_compression : $(LIB)
46
47 multiple_streaming_compression.o: common.h
48 multiple_streaming_compression : $(LIB)
49
50 streaming_decompression.o: common.h
51 streaming_decompression : $(LIB)
52
53 streaming_memory_usage.o: common.h
54 streaming_memory_usage : $(LIB)
55
56
57 .PHONY:clean
58 clean:
59         @$(RM) core *.o tmp* result* *.zst \
60         simple_compression simple_decompression \
61         multiple_simple_compression \
62         dictionary_compression dictionary_decompression \
63         streaming_compression streaming_decompression \
64         multiple_streaming_compression streaming_memory_usage
65         @echo Cleaning completed
66
67 .PHONY:test
68 test: all
69         cp README.md tmp
70         cp Makefile tmp2
71         @echo -- Simple compression tests
72         ./simple_compression tmp
73         ./simple_decompression tmp.zst
74         ./multiple_simple_compression *.c
75         ./streaming_decompression tmp.zst > /dev/null
76         @echo -- Streaming memory usage
77         ./streaming_memory_usage
78         @echo -- Streaming compression tests
79         ./streaming_compression tmp
80         ./streaming_decompression tmp.zst > /dev/null
81         @echo -- Edge cases detection
82         ! ./streaming_decompression tmp    # invalid input, must fail
83         ! ./simple_decompression tmp       # invalid input, must fail
84         touch tmpNull                      # create 0-size file
85         ./simple_compression tmpNull
86         ./simple_decompression tmpNull.zst # 0-size frame : must work
87         @echo -- Multiple streaming tests
88         ./multiple_streaming_compression *.c
89         @echo -- Dictionary compression tests
90         ./dictionary_compression tmp2 tmp README.md
91         ./dictionary_decompression tmp2.zst tmp.zst README.md
92         $(RM) tmp* *.zst
93         @echo tests completed