.PHONY: lib lib-release liblz4.a
lib: liblz4.a
lib lib-release liblz4.a:
- @$(MAKE) -C $(LZ4DIR) $@
+ $(MAKE) -C $(LZ4DIR) $@
.PHONY: lz4 lz4-release
lz4 : liblz4.a
lz4-release : lib-release
lz4 lz4-release :
- @$(MAKE) -C $(PRGDIR) $@
- @cp $(PRGDIR)/lz4$(EXT) .
+ $(MAKE) -C $(PRGDIR) $@
+ cp $(PRGDIR)/lz4$(EXT) .
.PHONY: examples
examples: liblz4.a
.PHONY: manuals
manuals:
- @$(MAKE) -C contrib/gen_manual $@
+ $(MAKE) -C contrib/gen_manual $@
.PHONY: build_tests
build_tests:
- @$(MAKE) -C $(TESTDIR) all
+ $(MAKE) -C $(TESTDIR) all
.PHONY: clean
clean:
- @$(MAKE) -C $(LZ4DIR) $@ > $(VOID)
- @$(MAKE) -C $(PRGDIR) $@ > $(VOID)
- @$(MAKE) -C $(TESTDIR) $@ > $(VOID)
- @$(MAKE) -C $(EXDIR) $@ > $(VOID)
- @$(MAKE) -C contrib/gen_manual $@ > $(VOID)
- @$(RM) lz4$(EXT)
- @echo Cleaning completed
+ $(MAKE) -C $(LZ4DIR) $@ > $(VOID)
+ $(MAKE) -C $(PRGDIR) $@ > $(VOID)
+ $(MAKE) -C $(TESTDIR) $@ > $(VOID)
+ $(MAKE) -C $(EXDIR) $@ > $(VOID)
+ $(MAKE) -C contrib/gen_manual $@ > $(VOID)
+ $(RM) lz4$(EXT)
+ echo Cleaning completed
#-----------------------------------------------------------------------------
.PHONY: install uninstall
install uninstall:
- @$(MAKE) -C $(LZ4DIR) $@
- @$(MAKE) -C $(PRGDIR) $@
+ $(MAKE) -C $(LZ4DIR) $@
+ $(MAKE) -C $(PRGDIR) $@
travis-install:
$(MAKE) -j1 install DESTDIR=~/install_test_dir
cmake:
- @cd contrib/cmake_unofficial; cmake $(CMAKE_PARAMS) CMakeLists.txt; $(MAKE)
+ cd contrib/cmake_unofficial; cmake $(CMAKE_PARAMS) CMakeLists.txt; $(MAKE)
endif
.PHONY: list
list:
- @$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs
+ $(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs
.PHONY: check
check:
clangtest: clean
clang -v
- @CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(LZ4DIR) all CC=clang
- @CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(PRGDIR) all CC=clang
- @CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(TESTDIR) all CC=clang
+ CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(LZ4DIR) all CC=clang
+ CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(PRGDIR) all CC=clang
+ CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(TESTDIR) all CC=clang
clangtest-native: clean
clang -v
- @CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(LZ4DIR) all CC=clang
- @CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(PRGDIR) native CC=clang
- @CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(TESTDIR) native CC=clang
+ CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(LZ4DIR) all CC=clang
+ CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(PRGDIR) native CC=clang
+ CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(TESTDIR) native CC=clang
usan: clean
CC=clang CFLAGS="-O3 -g -fsanitize=undefined" $(MAKE) test FUZZER_TIME="-T30s" NB_LOOPS=-i1
cppcheck . --force --enable=warning,portability,performance,style --error-exitcode=1 > /dev/null
platformTest: clean
- @echo "\n ---- test lz4 with $(CC) compiler ----"
- @$(CC) -v
+ echo "\n ---- test lz4 with $(CC) compiler ----"
+ $(CC) -v
CFLAGS="-O3 -Werror" $(MAKE) -C $(LZ4DIR) all
CFLAGS="-O3 -Werror -static" $(MAKE) -C $(PRGDIR) all
CFLAGS="-O3 -Werror -static" $(MAKE) -C $(TESTDIR) all
rm -f .footprint
echo $(DESTDIR)/bin/$(EXE) >> .footprint
cp -v $(EXE) $(DESTDIR)/bin/
- @for T in $(LIB); \
+ for T in $(LIB); \
do ( \
echo $(DESTDIR)/$$T >> .footprint; \
cp -v --parents $$T $(DESTDIR) \
); done
- @for T in $(INC); \
+ for T in $(INC); \
do ( \
echo $(DESTDIR)/include/`basename -a $$T` >> .footprint; \
cp -v $$T $(DESTDIR)/include/ \
); done
uninstall: .footprint
- @for T in $(shell cat .footprint); do rm -v $$T; done
+ for T in $(shell cat .footprint); do rm -v $$T; done
-include $(SDEPS) $(LSDEPS)
showconfig:
- @echo "PWD="$(PWD)
- @echo "VERSION="$(VERSION)
- @echo "RELEASE="$(RELEASE)
- @echo "LIBVER_MAJOR="$(LIBVER_MAJOR)
- @echo "LIBVER_MINOR="$(LIBVER_MINOR)
- @echo "LIBVER_PATCH="$(LIBVER_PATCH)
- @echo "LIBVER="$(LIBVER)
- @echo "CROSS="$(CROSS)
- @echo "CC="$(CC)
- @echo "AR="$(AR)
- @echo "LD="$(LD)
- @echo "DESTDIR="$(DESTDIR)
- @echo "CFLAGS="$(CFLAGS)
- @echo "LDFLAGS="$(LDFLAGS)
- @echo "SRC="$(SRC)
- @echo "OBJ="$(OBJ)
- @echo "IDIR="$(IDIR)
- @echo "INC="$(INC)
- @echo "EDIR="$(EDIR)
- @echo "EXE="$(EXE)
- @echo "LDIR="$(LDIR)
- @echo "LSRC="$(LSRC)
- @echo "LOBJ="$(LOBJ)
- @echo "LNK="$(LNK)
- @echo "LIB="$(LIB)
- @echo "SDEPS="$(SDEPS)
- @echo "LSDEPS="$(LSDEPS)
+ echo "PWD="$(PWD)
+ echo "VERSION="$(VERSION)
+ echo "RELEASE="$(RELEASE)
+ echo "LIBVER_MAJOR="$(LIBVER_MAJOR)
+ echo "LIBVER_MINOR="$(LIBVER_MINOR)
+ echo "LIBVER_PATCH="$(LIBVER_PATCH)
+ echo "LIBVER="$(LIBVER)
+ echo "CROSS="$(CROSS)
+ echo "CC="$(CC)
+ echo "AR="$(AR)
+ echo "LD="$(LD)
+ echo "DESTDIR="$(DESTDIR)
+ echo "CFLAGS="$(CFLAGS)
+ echo "LDFLAGS="$(LDFLAGS)
+ echo "SRC="$(SRC)
+ echo "OBJ="$(OBJ)
+ echo "IDIR="$(IDIR)
+ echo "INC="$(INC)
+ echo "EDIR="$(EDIR)
+ echo "EXE="$(EXE)
+ echo "LDIR="$(LDIR)
+ echo "LSRC="$(LSRC)
+ echo "LOBJ="$(LOBJ)
+ echo "LNK="$(LNK)
+ echo "LIB="$(LIB)
+ echo "SDEPS="$(SDEPS)
+ echo "LSDEPS="$(LSDEPS)
gstat:
git status
.PHONY: clean
clean:
- @$(RM) gen_manual$(EXT)
- @echo Cleaning completed
+ $(RM) gen_manual$(EXT)
+ echo Cleaning completed
$(MAKE) -C ../programs lz4
test : all $(LZ4)
- @echo "\n=== Print Version ==="
+ echo "\n=== Print Version ==="
./printVersion$(EXT)
- @echo "\n=== Simple compression example ==="
+ echo "\n=== Simple compression example ==="
./simpleBuffer$(EXT)
- @echo "\n=== Double-buffer ==="
+ echo "\n=== Double-buffer ==="
./doubleBuffer$(EXT) $(TESTFILE)
- @echo "\n=== Ring Buffer ==="
+ echo "\n=== Ring Buffer ==="
./ringBuffer$(EXT) $(TESTFILE)
- @echo "\n=== Ring Buffer + LZ4 HC ==="
+ echo "\n=== Ring Buffer + LZ4 HC ==="
./ringBufferHC$(EXT) $(TESTFILE)
- @echo "\n=== Compress line by line ==="
+ echo "\n=== Compress line by line ==="
./lineCompress$(EXT) $(TESTFILE)
- @echo "\n=== Dictionary Random Access ==="
+ echo "\n=== Dictionary Random Access ==="
./dictionaryRandomAccess$(EXT) $(TESTFILE) $(TESTFILE) 1100 1400
- @echo "\n=== Frame compression ==="
+ echo "\n=== Frame compression ==="
./frameCompress$(EXT) $(TESTFILE)
$(LZ4) -vt $(TESTFILE).lz4
clean:
- @rm -f core *.o *.dec *-0 *-9 *-8192 *.lz4s *.lz4 \
+ rm -f core *.o *.dec *-0 *-9 *-8192 *.lz4s *.lz4 \
printVersion$(EXT) doubleBuffer$(EXT) dictionaryRandomAccess$(EXT) \
ringBuffer$(EXT) ringBufferHC$(EXT) lineCompress$(EXT) frameCompress$(EXT) \
compressFunctions$(EXT) simpleBuffer$(EXT)
- @echo Cleaning completed
+ echo Cleaning completed
liblz4.a: $(SRCFILES)
ifeq ($(BUILD_STATIC),yes) # can be disabled on command line
- @echo compiling static library
+ echo compiling static library
$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -c $^
$(Q)$(AR) rcs $@ *.o
endif
ifeq ($(WINBASED),yes)
liblz4-dll.rc: liblz4-dll.rc.in
- @echo creating library resource
+ echo creating library resource
$(Q)sed -e 's|@LIBLZ4@|$(LIBLZ4)|' \
-e 's|@LIBVER_MAJOR@|$(LIBVER_MAJOR)|g' \
-e 's|@LIBVER_MINOR@|$(LIBVER_MINOR)|g' \
$(LIBLZ4): $(SRCFILES)
endif
ifeq ($(BUILD_SHARED),yes) # can be disabled on command line
- @echo compiling dynamic library $(LIBVER)
+ echo compiling dynamic library $(LIBVER)
ifeq ($(WINBASED),yes)
$(Q)$(CC) $(FLAGS) -DLZ4_DLL_EXPORT=1 -shared $^ -o dll/$@.dll -Wl,--out-implib,dll/$(LIBLZ4_EXP)
else
$(Q)$(CC) $(FLAGS) -shared $^ -fPIC -fvisibility=hidden $(SONAME_FLAGS) -o $@
- @echo creating versioned links
+ echo creating versioned links
$(Q)$(LN_SF) $@ liblz4.$(SHARED_EXT_MAJOR)
$(Q)$(LN_SF) $@ liblz4.$(SHARED_EXT)
endif
endif
$(Q)$(RM) core *.o liblz4.pc dll/$(LIBLZ4).dll dll/$(LIBLZ4_EXP)
$(Q)$(RM) *.a *.$(SHARED_EXT) *.$(SHARED_EXT_MAJOR) *.$(SHARED_EXT_VER)
- @echo Cleaning library completed
+ echo Cleaning library completed
#-----------------------------------------------------------------------------
# make install is validated only for Linux, OSX, BSD, Hurd and Solaris targets
pkgconfigdir ?= $(PKGCONFIGDIR)
liblz4.pc: liblz4.pc.in Makefile
- @echo creating pkgconfig
+ echo creating pkgconfig
$(Q)sed -e 's|@PREFIX@|$(prefix)|' \
-e 's|@LIBDIR@|$(libdir)|' \
-e 's|@INCLUDEDIR@|$(includedir)|' \
install: lib liblz4.pc
$(Q)$(INSTALL_DIR) $(DESTDIR)$(pkgconfigdir)/ $(DESTDIR)$(includedir)/ $(DESTDIR)$(libdir)/ $(DESTDIR)$(bindir)/
$(Q)$(INSTALL_DATA) liblz4.pc $(DESTDIR)$(pkgconfigdir)/
- @echo Installing libraries
+ echo Installing libraries
ifeq ($(BUILD_STATIC),yes)
$(Q)$(INSTALL_DATA) liblz4.a $(DESTDIR)$(libdir)/liblz4.a
$(Q)$(INSTALL_DATA) lz4frame_static.h $(DESTDIR)$(includedir)/lz4frame_static.h
$(Q)$(LN_SF) liblz4.$(SHARED_EXT_VER) $(DESTDIR)$(libdir)/liblz4.$(SHARED_EXT)
endif
endif
- @echo Installing headers in $(includedir)
+ echo Installing headers in $(includedir)
$(Q)$(INSTALL_DATA) lz4.h $(DESTDIR)$(includedir)/lz4.h
$(Q)$(INSTALL_DATA) lz4hc.h $(DESTDIR)$(includedir)/lz4hc.h
$(Q)$(INSTALL_DATA) lz4frame.h $(DESTDIR)$(includedir)/lz4frame.h
- @echo lz4 libraries installed
+ echo lz4 libraries installed
uninstall:
$(Q)$(RM) $(DESTDIR)$(pkgconfigdir)/liblz4.pc
$(Q)$(RM) $(DESTDIR)$(includedir)/lz4hc.h
$(Q)$(RM) $(DESTDIR)$(includedir)/lz4frame.h
$(Q)$(RM) $(DESTDIR)$(includedir)/lz4frame_static.h
- @echo lz4 libraries successfully uninstalled
+ echo lz4 libraries successfully uninstalled
endif
$(CC) $(FLAGS) $^ -o $@$(EXT) -DLZ4_DLL_IMPORT=1 $(DLLDIR)/liblz4.dll
clean:
- @$(RM) fullbench-dll$(EXT) fullbench-lib$(EXT) \
- @echo Cleaning completed
+ $(RM) fullbench-dll$(EXT) fullbench-lib$(EXT) \
+ echo Cleaning completed
ifeq ($(WINBASED),yes)
lz4-exe.rc: lz4-exe.rc.in
- @echo creating executable resource
+ echo creating executable resource
$(Q)sed -e 's|@PROGNAME@|lz4|' \
-e 's|@LIBVER_MAJOR@|$(LIBVER_MAJOR)|g' \
-e 's|@LIBVER_MINOR@|$(LIBVER_MINOR)|g' \
ifeq ($(WINBASED),yes)
$(Q)$(RM) *.rc
endif
- @$(MAKE) -C $(LZ4DIR) $@ > $(VOID)
- @$(RM) core *.o *.test tmp* \
+ $(MAKE) -C $(LZ4DIR) $@ > $(VOID)
+ $(RM) core *.o *.test tmp* \
lz4$(EXT) lz4c$(EXT) lz4c32$(EXT) unlz4$(EXT) lz4cat$(EXT)
- @echo Cleaning completed
+ echo Cleaning completed
#-----------------------------------------------------------------------------
man1dir ?= $(MAN1DIR)
install: lz4
- @echo Installing binaries
- @$(INSTALL_DIR) $(DESTDIR)$(bindir)/ $(DESTDIR)$(man1dir)/
- @$(INSTALL_PROGRAM) lz4$(EXT) $(DESTDIR)$(bindir)/lz4$(EXT)
- @$(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/lz4c$(EXT)
- @$(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/lz4cat$(EXT)
- @$(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/unlz4$(EXT)
- @echo Installing man pages
- @$(INSTALL_DATA) lz4.1 $(DESTDIR)$(man1dir)/lz4.1
- @$(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/lz4c.1
- @$(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/lz4cat.1
- @$(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/unlz4.1
- @echo lz4 installation completed
+ echo Installing binaries
+ $(INSTALL_DIR) $(DESTDIR)$(bindir)/ $(DESTDIR)$(man1dir)/
+ $(INSTALL_PROGRAM) lz4$(EXT) $(DESTDIR)$(bindir)/lz4$(EXT)
+ $(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/lz4c$(EXT)
+ $(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/lz4cat$(EXT)
+ $(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/unlz4$(EXT)
+ echo Installing man pages
+ $(INSTALL_DATA) lz4.1 $(DESTDIR)$(man1dir)/lz4.1
+ $(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/lz4c.1
+ $(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/lz4cat.1
+ $(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/unlz4.1
+ echo lz4 installation completed
uninstall:
- @$(RM) $(DESTDIR)$(bindir)/lz4cat$(EXT)
- @$(RM) $(DESTDIR)$(bindir)/unlz4$(EXT)
- @$(RM) $(DESTDIR)$(bindir)/lz4$(EXT)
- @$(RM) $(DESTDIR)$(bindir)/lz4c$(EXT)
- @$(RM) $(DESTDIR)$(man1dir)/lz4.1
- @$(RM) $(DESTDIR)$(man1dir)/lz4c.1
- @$(RM) $(DESTDIR)$(man1dir)/lz4cat.1
- @$(RM) $(DESTDIR)$(man1dir)/unlz4.1
- @echo lz4 programs successfully uninstalled
+ $(RM) $(DESTDIR)$(bindir)/lz4cat$(EXT)
+ $(RM) $(DESTDIR)$(bindir)/unlz4$(EXT)
+ $(RM) $(DESTDIR)$(bindir)/lz4$(EXT)
+ $(RM) $(DESTDIR)$(bindir)/lz4c$(EXT)
+ $(RM) $(DESTDIR)$(man1dir)/lz4.1
+ $(RM) $(DESTDIR)$(man1dir)/lz4c.1
+ $(RM) $(DESTDIR)$(man1dir)/lz4cat.1
+ $(RM) $(DESTDIR)$(man1dir)/unlz4.1
+ echo lz4 programs successfully uninstalled
endif
$(CC) $(FLAGS) $^ -o $@$(EXT)
clean:
- @$(MAKE) -C $(LZ4DIR) $@ > $(VOID)
- @$(MAKE) -C $(PRGDIR) $@ > $(VOID)
- @$(RM) -rf core *.o *.test tmp* \
+ $(MAKE) -C $(LZ4DIR) $@ > $(VOID)
+ $(MAKE) -C $(PRGDIR) $@ > $(VOID)
+ $(RM) -rf core *.o *.test tmp* \
fullbench-dll$(EXT) fullbench-lib$(EXT) \
fullbench$(EXT) fullbench32$(EXT) \
fuzzer$(EXT) fuzzer32$(EXT) \
fasttest$(EXT) roundTripTest$(EXT) \
datagen$(EXT) checkTag$(EXT) \
frameTest$(EXT)
- @$(RM) -rf $(TESTDIR)
- @echo Cleaning completed
+ $(RM) -rf $(TESTDIR)
+ echo Cleaning completed
.PHONY: versionsTest
versionsTest:
.PHONY: list
list:
- @$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs
+ $(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs
.PHONY: test
test: test-lz4 test-lz4c test-frametest test-fullbench test-fuzzer test-install test-amalgamation
lz4_root=.. ./test_install.sh
test-lz4-sparse: lz4 datagen
- @echo "\n ---- test sparse file support ----"
+ echo "\n ---- test sparse file support ----"
./datagen -g5M -P100 > tmplsdg5M
$(LZ4) -B4D tmplsdg5M -c | $(LZ4) -dv --sparse > tmplscB4
$(DIFF) -s tmplsdg5M tmplscB4
./datagen -s1 -g1200007 -P100 | $(LZ4) | $(LZ4) -dv --sparse > tmplsodd # Odd size file (to generate non-full last block)
./datagen -s1 -g1200007 -P100 | $(DIFF) -s - tmplsodd
ls -ls tmplsodd
- @$(RM) tmpls*
- @echo "\n Compatibility with Console :"
+ $(RM) tmpls*
+ echo "\n Compatibility with Console :"
echo "Hello World 1 !" | $(LZ4) | $(LZ4) -d -c
echo "Hello World 2 !" | $(LZ4) | $(LZ4) -d | cat
echo "Hello World 3 !" | $(LZ4) --no-frame-crc | $(LZ4) -d -c
- @echo "\n Compatibility with Append :"
+ echo "\n Compatibility with Append :"
./datagen -P100 -g1M > tmplsdg1M
cat tmplsdg1M tmplsdg1M > tmpls2M
$(LZ4) -B5 -v tmplsdg1M tmplsc
$(LZ4) -d -v tmplsc -c >> tmplsr
ls -ls tmp*
$(DIFF) tmpls2M tmplsr
- @$(RM) tmpls*
+ $(RM) tmpls*
test-lz4-contentSize: lz4 datagen
- @echo "\n ---- test original size support ----"
+ echo "\n ---- test original size support ----"
./datagen -g15M > tmplc1
$(LZ4) -v tmplc1 -c | $(LZ4) -t
$(LZ4) -v --content-size tmplc1 -c | $(LZ4) -d > tmplc2
$(DIFF) -s tmplc1 tmplc2
- @$(RM) tmplc*
+ $(RM) tmplc*
test-lz4-frame-concatenation: lz4 datagen
- @echo "\n ---- test frame concatenation ----"
- @echo -n > tmp-lfc-empty
- @echo hi > tmp-lfc-nonempty
+ echo "\n ---- test frame concatenation ----"
+ echo -n > tmp-lfc-empty
+ echo hi > tmp-lfc-nonempty
cat tmp-lfc-nonempty tmp-lfc-empty tmp-lfc-nonempty > tmp-lfc-src
$(LZ4) -zq tmp-lfc-empty -c > tmp-lfc-empty.lz4
$(LZ4) -zq tmp-lfc-nonempty -c > tmp-lfc-nonempty.lz4
cat tmp-lfc-nonempty.lz4 tmp-lfc-empty.lz4 tmp-lfc-nonempty.lz4 > tmp-lfc-concat.lz4
$(LZ4) -d tmp-lfc-concat.lz4 -c > tmp-lfc-result
$(CMP) tmp-lfc-src tmp-lfc-result
- @$(RM) tmp-lfc-*
- @echo frame concatenation test completed
+ $(RM) tmp-lfc-*
+ echo frame concatenation test completed
test-lz4-multiple: lz4 datagen
- @echo "\n ---- test multiple files ----"
- @./datagen -s1 > tmp-tlm1 2> $(VOID)
- @./datagen -s2 -g100K > tmp-tlm2 2> $(VOID)
- @./datagen -s3 -g200K > tmp-tlm3 2> $(VOID)
+ echo "\n ---- test multiple files ----"
+ ./datagen -s1 > tmp-tlm1 2> $(VOID)
+ ./datagen -s2 -g100K > tmp-tlm2 2> $(VOID)
+ ./datagen -s3 -g200K > tmp-tlm3 2> $(VOID)
# compress multiple files : one .lz4 per source file
$(LZ4) -f -m tmp-tlm*
test -f tmp-tlm1.lz4
$(CMP) tmp-tlm-concat1 tmp-tlm-concat2 # must be equivalent
# compress multiple files, one of which is absent (must fail)
! $(LZ4) -f -m tmp-tlm-concat1 notHere tmp-tlm-concat2 # must fail : notHere not present
- @$(RM) tmp-tlm*
+ $(RM) tmp-tlm*
test-lz4-basic: lz4 datagen unlz4 lz4cat
- @echo "\n ---- test lz4 basic compression/decompression ----"
+ echo "\n ---- test lz4 basic compression/decompression ----"
./datagen -g0 | $(LZ4) -v | $(LZ4) -t
./datagen -g16KB | $(LZ4) -9 | $(LZ4) -t
./datagen -g20KB > tmp-tlb-dg20k
./datagen -g17M | $(LZ4) -9v | $(LZ4) -qt
./datagen -g33M | $(LZ4) --no-frame-crc | $(LZ4) -t
./datagen -g256MB | $(LZ4) -vqB4D | $(LZ4) -t
- @echo "hello world" > tmp-tlb-hw
+ echo "hello world" > tmp-tlb-hw
$(LZ4) --rm -f tmp-tlb-hw tmp-tlb-hw.lz4
test ! -f tmp-tlb-hw # must fail (--rm)
test -f tmp-tlb-hw.lz4
! $(LZ4) -c --fast=0 tmp-tlb-dg20K # lz4 should fail when fast=0
! $(LZ4) -c --fast=-1 tmp-tlb-dg20K # lz4 should fail when fast=-1
# Test for #596
- @echo "TEST" > tmp-tlb-test
+ echo "TEST" > tmp-tlb-test
$(LZ4) -m tmp-tlb-test
$(LZ4) tmp-tlb-test.lz4 tmp-tlb-test2
$(DIFF) -q tmp-tlb-test tmp-tlb-test2
- @$(RM) tmp-tlb*
+ $(RM) tmp-tlb*
test-lz4-dict: lz4 datagen
- @echo "\n ---- test lz4 compression/decompression with dictionary ----"
+ echo "\n ---- test lz4 compression/decompression with dictionary ----"
./datagen -g16KB > tmp-dict
./datagen -g32KB > tmp-dict-sample-32k
< tmp-dict-sample-32k $(LZ4) -D tmp-dict | $(LZ4) -dD tmp-dict | diff - tmp-dict-sample-32k
< tmp-dict-sample-32k $(LZ4) -D tmp-dict-sample-0 | $(LZ4) -dD tmp-dict-sample-0 | diff - tmp-dict-sample-32k
< tmp-dict-sample-0 $(LZ4) -D tmp-dict-sample-0 | $(LZ4) -dD tmp-dict-sample-0 | diff - tmp-dict-sample-0
- @echo "\n ---- test lz4 dictionary loading ----"
+ echo "\n ---- test lz4 dictionary loading ----"
./datagen -g128KB > tmp-dict-data-128KB
set -e; \
for l in 0 1 4 128 32767 32768 32769 65535 65536 65537 98303 98304 98305 131071 131072 131073; do \
< tmp-dict-$$l-tail $(LZ4) -D stdin tmp-dict-data-128KB -c | $(LZ4) -dD tmp-dict-$$l | $(DIFF) - tmp-dict-data-128KB; \
done
- @$(RM) tmp-dict*
+ $(RM) tmp-dict*
test-lz4-hugefile: lz4 datagen
- @echo "\n ---- test huge files compression/decompression ----"
+ echo "\n ---- test huge files compression/decompression ----"
./datagen -g6GB | $(LZ4) -vB5D | $(LZ4) -qt
./datagen -g5GB | $(LZ4) -v4BD | $(LZ4) -qt
# test large file size [2-4] GB
- @./datagen -g3G -P100 | $(LZ4) -vv | $(LZ4) --decompress --force --sparse - tmphf1
- @ls -ls tmphf1
- @./datagen -g3G -P100 | $(LZ4) --quiet --content-size | $(LZ4) --verbose --decompress --force --sparse - tmphf2
- @ls -ls tmphf2
+ ./datagen -g3G -P100 | $(LZ4) -vv | $(LZ4) --decompress --force --sparse - tmphf1
+ ls -ls tmphf1
+ ./datagen -g3G -P100 | $(LZ4) --quiet --content-size | $(LZ4) --verbose --decompress --force --sparse - tmphf2
+ ls -ls tmphf2
$(DIFF) -s tmphf1 tmphf2
- @$(RM) tmphf*
+ $(RM) tmphf*
test-lz4-testmode: lz4 datagen
- @echo "\n ---- bench mode ----"
+ echo "\n ---- bench mode ----"
$(LZ4) -bi1
- @echo "\n ---- test mode ----"
+ echo "\n ---- test mode ----"
! ./datagen | $(LZ4) -t
! ./datagen | $(LZ4) -tf
- @echo "\n ---- pass-through mode ----"
- @echo "Why hello there " > tmp-tlt2.lz4
+ echo "\n ---- pass-through mode ----"
+ echo "Why hello there " > tmp-tlt2.lz4
! $(LZ4) -f tmp-tlt2.lz4 > $(VOID)
! ./datagen | $(LZ4) -dc > $(VOID)
! ./datagen | $(LZ4) -df > $(VOID)
./datagen | $(LZ4) -dcf > $(VOID)
- @echo "Hello World !" > tmp-tlt1
+ echo "Hello World !" > tmp-tlt1
$(LZ4) -dcf tmp-tlt1
- @echo "from underground..." > tmp-tlt2
+ echo "from underground..." > tmp-tlt2
$(LZ4) -dcfm tmp-tlt1 tmp-tlt2
- @echo "\n ---- non-existing source ----"
+ echo "\n ---- non-existing source ----"
! $(LZ4) file-does-not-exist
! $(LZ4) -f file-does-not-exist
! $(LZ4) -fm file1-dne file2-dne
- @$(RM) tmp-tlt tmp-tlt1 tmp-tlt2 tmp-tlt2.lz4
+ $(RM) tmp-tlt tmp-tlt1 tmp-tlt2 tmp-tlt2.lz4
test-lz4-opt-parser: lz4 datagen
- @echo "\n ---- test opt-parser ----"
+ echo "\n ---- test opt-parser ----"
./datagen -g16KB | $(LZ4) -12 | $(LZ4) -t
./datagen -P10 | $(LZ4) -12B4 | $(LZ4) -t
./datagen -g256K | $(LZ4) -12B4D | $(LZ4) -t
test-lz4-essentials : lz4 datagen test-lz4-basic test-lz4-multiple \
test-lz4-frame-concatenation test-lz4-testmode \
test-lz4-contentSize test-lz4-dict
- @$(RM) tmp*
+ $(RM) tmp*
test-lz4: lz4 datagen test-lz4-essentials test-lz4-opt-parser \
test-lz4-sparse test-lz4-hugefile test-lz4-dict
- @$(RM) tmp*
+ $(RM) tmp*
test-lz4c: lz4c datagen
- @echo "\n ---- test lz4c variant ----"
+ echo "\n ---- test lz4c variant ----"
./datagen -g256MB | $(LZ4)c -l -v | $(LZ4)c -t
test-lz4c32: CFLAGS+=-m32
test-lz4c32: test-lz4
test-interop-32-64: lz4 lz4c32 datagen
- @echo "\n ---- test interoperability 32-bits -vs- 64 bits ----"
+ echo "\n ---- test interoperability 32-bits -vs- 64 bits ----"
./datagen -g16KB | $(LZ4)c32 -9 | $(LZ4) -t
./datagen -P10 | $(LZ4) -9B4 | $(LZ4)c32 -t
./datagen | $(LZ4)c32 | $(LZ4) -t
./datagen -g6GB | $(LZ4)c32 -vq9BD | $(LZ4) -qt
test-lz4c32-basic: lz4c32 datagen
- @echo "\n ---- test lz4c32 32-bits version ----"
+ echo "\n ---- test lz4c32 32-bits version ----"
./datagen -g16KB | $(LZ4)c32 -9 | $(LZ4)c32 -t
./datagen | $(LZ4)c32 | $(LZ4)c32 -t
./datagen -g256MB | $(LZ4)c32 -vqB4D | $(LZ4)c32 -qt
./datagen -g6GB | $(LZ4)c32 -vqB5D | $(LZ4)c32 -qt
test-platform:
- @echo "\n ---- test lz4 $(QEMU_SYS) platform ----"
+ echo "\n ---- test lz4 $(QEMU_SYS) platform ----"
$(QEMU_SYS) ./datagen -g16KB | $(QEMU_SYS) $(LZ4) -9 | $(QEMU_SYS) $(LZ4) -t
$(QEMU_SYS) ./datagen | $(QEMU_SYS) $(LZ4) | $(QEMU_SYS) $(LZ4) -t
$(QEMU_SYS) ./datagen -g256MB | $(QEMU_SYS) $(LZ4) -vqB4D | $(QEMU_SYS) $(LZ4) -qt
test-frametest32: test-frametest
test-mem: lz4 datagen fuzzer frametest fullbench
- @echo "\n ---- valgrind tests : memory analyzer ----"
+ echo "\n ---- valgrind tests : memory analyzer ----"
valgrind --leak-check=yes --error-exitcode=1 ./datagen -g50M > $(VOID)
./datagen -g16KB > ftmdg16K
valgrind --leak-check=yes --error-exitcode=1 $(LZ4) -9 -BD -f ftmdg16K $(VOID)