git subrepo pull (merge) --force deps/libchdr
[pcsx_rearmed.git] / deps / libchdr / deps / zstd-1.5.5 / examples / Makefile
diff --git a/deps/libchdr/deps/zstd-1.5.5/examples/Makefile b/deps/libchdr/deps/zstd-1.5.5/examples/Makefile
new file mode 100644 (file)
index 0000000..31f52d3
--- /dev/null
@@ -0,0 +1,93 @@
+# ################################################################
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under both the BSD-style license (found in the
+# LICENSE file in the root directory of this source tree) and the GPLv2 (found
+# in the COPYING file in the root directory of this source tree).
+# You may select, at your option, one of the above-listed licenses.
+# ################################################################
+
+LIBDIR =../lib
+CPPFLAGS += -I$(LIBDIR)
+LIB = $(LIBDIR)/libzstd.a
+
+
+.PHONY: default
+default: all
+
+.PHONY: all
+all: simple_compression simple_decompression \
+       multiple_simple_compression\
+       dictionary_compression dictionary_decompression \
+       streaming_compression streaming_decompression \
+       multiple_streaming_compression streaming_memory_usage
+
+$(LIB) :
+       $(MAKE) -C $(LIBDIR) libzstd.a
+
+simple_compression.o: common.h
+simple_compression : $(LIB)
+
+simple_decompression.o: common.h
+simple_decompression : $(LIB)
+
+multiple_simple_compression.o: common.h
+multiple_simple_compression : $(LIB)
+
+dictionary_compression.o: common.h
+dictionary_compression : $(LIB)
+
+dictionary_decompression.o: common.h
+dictionary_decompression : $(LIB)
+
+streaming_compression.o: common.h
+streaming_compression : $(LIB)
+
+multiple_streaming_compression.o: common.h
+multiple_streaming_compression : $(LIB)
+
+streaming_decompression.o: common.h
+streaming_decompression : $(LIB)
+
+streaming_memory_usage.o: common.h
+streaming_memory_usage : $(LIB)
+
+
+.PHONY:clean
+clean:
+       @$(RM) core *.o tmp* result* *.zst \
+        simple_compression simple_decompression \
+        multiple_simple_compression \
+        dictionary_compression dictionary_decompression \
+        streaming_compression streaming_decompression \
+        multiple_streaming_compression streaming_memory_usage
+       @echo Cleaning completed
+
+.PHONY:test
+test: all
+       cp README.md tmp
+       cp Makefile tmp2
+       @echo -- Simple compression tests
+       ./simple_compression tmp
+       ./simple_decompression tmp.zst
+       ./multiple_simple_compression *.c
+       ./streaming_decompression tmp.zst > /dev/null
+       @echo -- Streaming memory usage
+       ./streaming_memory_usage
+       @echo -- Streaming compression tests
+       ./streaming_compression tmp
+       ./streaming_decompression tmp.zst > /dev/null
+       @echo -- Edge cases detection
+       ! ./streaming_decompression tmp    # invalid input, must fail
+       ! ./simple_decompression tmp       # invalid input, must fail
+       touch tmpNull                      # create 0-size file
+       ./simple_compression tmpNull
+       ./simple_decompression tmpNull.zst # 0-size frame : must work
+       @echo -- Multiple streaming tests
+       ./multiple_streaming_compression *.c
+       @echo -- Dictionary compression tests
+       ./dictionary_compression tmp2 tmp README.md
+       ./dictionary_decompression tmp2.zst tmp.zst README.md
+       $(RM) tmp* *.zst
+       @echo tests completed