mirror of
				https://github.com/facebook/zstd.git
				synced 2025-11-04 00:02:59 -05:00 
			
		
		
		
	This fixes a building issue on systems that default to a different flavour of make (as is the case with OpenBSD).
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
# ################################################################
 | 
						|
# Copyright (c) 2016-present, Yann Collet, Facebook, Inc.
 | 
						|
# 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).
 | 
						|
# ################################################################
 | 
						|
 | 
						|
# This Makefile presumes libzstd is installed, using `sudo make install`
 | 
						|
 | 
						|
CPPFLAGS += -I../lib
 | 
						|
LIB = ../lib/libzstd.a
 | 
						|
 | 
						|
.PHONY: default all clean test
 | 
						|
 | 
						|
default: all
 | 
						|
 | 
						|
all: simple_compression simple_decompression \
 | 
						|
	dictionary_compression dictionary_decompression \
 | 
						|
	streaming_compression streaming_decompression \
 | 
						|
	multiple_streaming_compression streaming_memory_usage
 | 
						|
 | 
						|
$(LIB) :
 | 
						|
	$(MAKE) -C ../lib libzstd.a
 | 
						|
 | 
						|
simple_compression : simple_compression.c $(LIB)
 | 
						|
	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
 | 
						|
 | 
						|
simple_decompression : simple_decompression.c $(LIB)
 | 
						|
	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
 | 
						|
 | 
						|
dictionary_compression : dictionary_compression.c $(LIB)
 | 
						|
	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
 | 
						|
 | 
						|
dictionary_decompression : dictionary_decompression.c $(LIB)
 | 
						|
	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
 | 
						|
 | 
						|
streaming_compression : streaming_compression.c $(LIB)
 | 
						|
	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
 | 
						|
 | 
						|
multiple_streaming_compression : multiple_streaming_compression.c $(LIB)
 | 
						|
	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
 | 
						|
 | 
						|
streaming_decompression : streaming_decompression.c $(LIB)
 | 
						|
	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
 | 
						|
 | 
						|
streaming_memory_usage : streaming_memory_usage.c $(LIB)
 | 
						|
	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
 | 
						|
 | 
						|
clean:
 | 
						|
	@rm -f core *.o tmp* result* *.zst \
 | 
						|
        simple_compression simple_decompression \
 | 
						|
        dictionary_compression dictionary_decompression \
 | 
						|
        streaming_compression streaming_decompression \
 | 
						|
        multiple_streaming_compression streaming_memory_usage
 | 
						|
	@echo Cleaning completed
 | 
						|
 | 
						|
test: all
 | 
						|
	cp README.md tmp
 | 
						|
	cp Makefile tmp2
 | 
						|
	@echo -- Simple compression tests
 | 
						|
	./simple_compression tmp
 | 
						|
	./simple_decompression tmp.zst
 | 
						|
	./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
 | 
						|
	! ./simple_decompression tmp.zst   # unknown input size, 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
 |