IcBench: Makefile

This commit is contained in:
x
2018-03-02 17:11:31 +01:00
parent 2415811a61
commit 9a81cbd940

70
makefile Normal file → Executable file
View File

@ -1,9 +1,15 @@
# powturbo (c) Copyright 2013-2018
# powturbo (c) Copyright 2013-2018
# ----------- Downloading + Compiling ----------------------
# git clone --recursive git://github.com/powturbo/TurboPFor.git
# Download or clone TurboPFor:
# git clone git://github.com/powturbo/TurboPFor.git
# make
#
# Minimum make: "make NCODEC1=1 NCODEC2=1 NTRANFORM=1" to compile only TurboPFor
# To compile icapp with LZ4 and BITSHUFFLE. (lz4+Bitshuffle muss be in directory ext)
# make icapp LZ4=1 or make LZ4=1 BITSHUFFLE=1
#
# To benchmark external libraries also:
# git clone --recursive git://github.com/powturbo/TurboPFor.git
# make: "make CODEC1=1 CODEC2=1"
# Linux: "export CC=clang" "export CXX=clang". windows mingw: "set CC=gcc" "set CXX=g++" or uncomment the CC,CXX lines
CC ?= gcc
@ -26,10 +32,7 @@ MARCH=-march=native
ifeq ($(NSIMD),1)
DEFS+=-DNSIMD
NCODEC1=1
NCODEC2=1
else
NSIMD=0
CFLAGS+=-DUSE_SSE -mssse3
CXXFLAGS+=-DUSE_SSE
endif
@ -71,22 +74,13 @@ endif
endif
#---------------------- make args --------------------------
ifeq ($(NCODEC1),1)
DEFS+=-DNCODEC1
else
NCODEC1=0
ifeq ($(CODEC1),1)
DEFS+=-DCODEC1=1
CFLAGS+=-Iext/lz4/lib -Iext/simdcomp/include -Iext/MaskedVByte/include -Iext/LittleIntPacker/include -Iext/streamvbyte/include
endif
ifeq ($(NCODEC2),1)
DEFS+=-DNCODEC2
else
NCODEC2=0
endif
ifeq ($(NTRANFORM),1)
DEFS+=-DNTRANSFORM
else
NTRANSFORM=0
ifeq ($(CODEC2),1)
DEFS+=-DCODEC2=1
endif
ifeq ($(BLOSC),1)
@ -99,7 +93,15 @@ else
CXXFLAGS+=-std=gnu++0x
endif
CFLAGS+=$(DDEBUG) -w -Wall -std=gnu99 -DUSE_THREADS -fstrict-aliasing -Iext -Iext/lz4/lib -Iext/simdcomp/include -Iext/MaskedVByte/include -Iext/LittleIntPacker/include -Iext/streamvbyte/include $(DEFS)
ifeq ($(LZ4),1)
CFLAGS+=-DLZ4 -Ilz4/lib
endif
ifeq ($(BITSHUFFLE),1)
CFLAGS+=-DBITSHUFFLE -Iext/bitshuffle/lz4
endif
CFLAGS+=$(DDEBUG) -w -Wall -std=gnu99 -DUSE_THREADS -fstrict-aliasing -Iext $(DEFS)
CXXFLAGS+=$(DDEBUG) -w -fpermissive -Wall -fno-rtti -Iext/FastPFor/headers $(DEFS)
all: icbench idxcr idxqry idxseg icapp
@ -175,7 +177,7 @@ varintg8iu.o: ext/varintg8iu.c ext/varintg8iu.h
$(CC) -O2 $(CFLAGS) $(MARCH) -c -std=c99 ext/varintg8iu.c
#-------------------------------------------------------------------
ifeq ($(NCODEC1), 0)
ifeq ($(CODEC1), 1)
OB+=ext/streamvbyte/src/streamvbyte.o ext/streamvbyte/src/streamvbytedelta.o
OB+=ext/MaskedVByte/src/varintencode.o ext/MaskedVByte/src/varintdecode.o
OB+=ext/simdcomp/src/simdintegratedbitpacking.o ext/simdcomp/src/simdcomputil.o ext/simdcomp/src/simdbitpacking.o ext/simdcomp/src/simdpackedselect.o
@ -196,10 +198,13 @@ OB+=ext/JASSv2/source/compress_integer_qmx_improved.o ext/JASSv2/source/asserts.
endif
OB+=ext/varintg8iu.o
OB+=ext/rc.o
OB+=ext/lz4/lib/lz4hc.o ext/lz4/lib/lz4.o
LZ4=1
BITSHUFFLE=1
endif
#----------------------------------------
ifeq ($(NCODEC2), 0)
ifeq ($(CODEC2), 1)
ext/polycom/optpfd.o: ext/polycom/optpfd.c
$(CC) -O2 $(MARCH) $(CFLAGS) $< -c -o $@
@ -221,8 +226,6 @@ else
#OB+=$(ZD)adler32.o $(ZD)crc32.o $(ZD)compress.o $(ZD)deflate.o $(ZD)infback.o $(ZD)inffast.o $(ZD)inflate.o $(ZD)inftrees.o $(ZD)trees.o $(ZD)uncompr.o $(ZD)zutil.o
endif
OB+=ext/lz4/lib/lz4hc.o ext/lz4/lib/lz4.o
ifeq ($(BLOSC),1)
LDFLAGS+=-lpthread
#ext/c-blosc/blosc/libblosc.a
@ -250,17 +253,28 @@ DEFS+=-DLZTURBO
OB+=../dev/lz/lz8c.o ../dev/lz/lzbc.o
endif
OB+=eliasfano.o vsimple.o $(TRANSP) transpose.o transpose_sse.o
ifeq ($(AVX2),1)
OB+=transpose_avx2.o
endif
#------------------------
ICLIB=bitpack.o bitpack_sse.o bitunpack.o bitunpack_sse.o vp4c.o vp4c_sse.o vp4d.o vp4d_sse.o bitutil.o fp.o vint.o vsimple.o
ICLIB=bitpack.o bitpack_sse.o bitunpack.o bitunpack_sse.o vp4c.o vp4c_sse.o vp4d.o vp4d_sse.o bitutil.o fp.o vint.o vsimple.o transpose.o transpose_sse.o ext/trlec.o ext/trled.o
ifeq ($(LZ4),1)
ICLIB+=ext/lz4/lib/lz4hc.o ext/lz4/lib/lz4.o
endif
ifeq ($(BITSHUFFLE),1)
ICLIB+=ext/bitshuffle/src/bitshuffle.o ext/bitshuffle/src/iochain.o ext/bitshuffle/src/bitshuffle_core.o
ifeq ($(LZ4),1)
else
ICLIB+=ext/bitshuffle/lz4/lz4.o
endif
endif
ifeq ($(AVX2),1)
ICLIB+=bitpack_avx2.o bitunpack_avx2.o vp4c_avx2.o vp4d_avx2.o
ICLIB+=bitpack_avx2.o bitunpack_avx2.o vp4c_avx2.o vp4d_avx2.o transpose_avx2.o
endif
ifeq ($(SIMDH),1)