| 
     1 # ################################################################
    2 # Copyright (c) Yann Collet, Facebook, Inc.
    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
Cache object: e43a3e01c96ebe3bf723fd638e3ffef3 
 
 |