
PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS)
PKG_CPPFLAGS = -I. -Ifstlib -Ifstlib/LZ4 -Ifstlib/ZSTD -Ifstlib/ZSTD/common \
	-Ifstlib/ZSTD/decompress -Ifstlib/ZSTD/compress
CXX_STD      = CXX11
PKG_LIBS     = $(SHLIB_OPENMP_CXXFLAGS) -L. -lFRAME -lCOMPRESSION -lLZ4 -lZSTD

# libraries
LIBLZ4  = fstlib/LZ4/lz4.o fstlib/LZ4/xxhash.o
LIBZSTD = fstlib/ZSTD/common/entropy_common.o fstlib/ZSTD/common/error_private.o fstlib/ZSTD/common/fse_decompress.o \
	fstlib/ZSTD/compress/fse_compress.o fstlib/ZSTD/compress/zstd_compress_literals.o \
	fstlib/ZSTD/compress/zstd_compress_sequences.o fstlib/ZSTD/decompress/huf_decompress.o fstlib/ZSTD/compress/huf_compress.o \
	fstlib/ZSTD/decompress/zstd_ddict.o fstlib/ZSTD/decompress/zstd_decompress.o fstlib/ZSTD/decompress/zstd_decompress_block.o \
	fstlib/ZSTD/decompress/zstd_decompress.o fstlib/ZSTD/common/zstd_common.o fstlib/ZSTD/common/debug.o \
	fstlib/ZSTD/compress/zstd_compress.o fstlib/ZSTD/dictBuilder/cover.o fstlib/ZSTD/dictBuilder/divsufsort.o \
	fstlib/ZSTD/compress/zstd_fast.o fstlib/ZSTD/compress/zstd_lazy.o fstlib/ZSTD/compress/zstd_ldm.o \
	fstlib/ZSTD/common/pool.o fstlib/ZSTD/compress/zstd_opt.o fstlib/ZSTD/dictBuilder/zdict.o \
	fstlib/ZSTD/compress/zstd_double_fast.o fstlib/ZSTD/compress/hist.o fstlib/ZSTD/dictBuilder/fastcover.o
LIBCOMPRESSION  = fstlib/compression/compression.o fstlib/compression/compressor.o
LIBFRAME = fstlib/interface/openmphelper.o fstlib/interface/fststore.o fstlib/logical/logical_v10.o \
	fstlib/integer/integer_v8.o fstlib/byte/byte_v12.o fstlib/double/double_v9.o fstlib/character/character_v6.o \
	fstlib/factor/factor_v7.o fstlib/blockstreamer/blockstreamer_v2.o fstlib/integer64/integer64_v11.o \
  fstlib/byteblock/byteblock_v13.o
$(SHLIB): libLZ4.a libZSTD.a libCOMPRESSION.a libFRAME.a

libLZ4.a: $(LIBLZ4)
	$(AR) rcs libLZ4.a $(LIBLZ4)

libZSTD.a: $(LIBZSTD)
	$(AR) rcs libZSTD.a $(LIBZSTD)

libCOMPRESSION.a: $(LIBCOMPRESSION) libLZ4.a libZSTD.a
	$(AR) rcs libCOMPRESSION.a $(LIBCOMPRESSION)

libFRAME.a: $(LIBFRAME) libCOMPRESSION.a
	$(AR) rcs libFRAME.a $(LIBFRAME)

clean:
	rm -f $(SHLIB) $(OBJECTS) $(LIBLZ4) libLZ4.a $(LIBZSTD) libZSTD.a $(LIBFRAME) \
	libFRAME.a libCOMPRESSION.a $(LIBCOMPRESSION)
