|
| 1 | +#BUILD_SYSTEM = linux |
| 2 | +BUILD_ARCH = 64-bit |
| 3 | + |
| 4 | +ifeq ($(BUILD_SYSTEM),linux) |
| 5 | + DEFINES += -DFREEARC_UNIX |
| 6 | + LDFLAGS = -lrt |
| 7 | + GCC = gcc |
| 8 | + GPP = g++ |
| 9 | +else |
| 10 | +# DEFINES = -march=core2 -march=nocona -march=k8 -march=native |
| 11 | + DEFINES += -DFREEARC_WIN |
| 12 | + LDFLAGS = -lshell32 -lole32 -loleaut32 |
| 13 | + GCC = gcc.exe |
| 14 | + GPP = g++.exe |
| 15 | +endif |
| 16 | + |
| 17 | + |
| 18 | +ifeq ($(BUILD_ARCH),64-bit) |
| 19 | + DEFINES += -D__x86_64__ |
| 20 | + LDFLAGS += -static -L C:\Aplikacje\win-builds64\lib |
| 21 | +else |
| 22 | + LDFLAGS += -static -L C:\Aplikacje\win-builds32\lib |
| 23 | +endif |
| 24 | + |
| 25 | + |
| 26 | +#DEFINES += -DBENCH_REMOVE_XXX |
| 27 | +DEFINES += -I. -DFREEARC_INTEL_BYTE_ORDER -D_UNICODE -DUNICODE |
| 28 | +CODE_FLAGS = -Wno-unknown-pragmas -Wno-sign-compare -Wno-conversion |
| 29 | +OPT_FLAGS = -fomit-frame-pointer -fstrict-aliasing -fforce-addr -ffast-math |
| 30 | + |
| 31 | +#BUILD_TYPE = debug |
| 32 | + |
| 33 | +ifeq ($(BUILD_TYPE),debug) |
| 34 | + OPT_FLAGS += -g |
| 35 | +else |
| 36 | + OPT_FLAGS += -O3 -DNDEBUG |
| 37 | +endif |
| 38 | + |
| 39 | +CFLAGS = $(CODE_FLAGS) $(OPT_FLAGS) $(DEFINES) |
| 40 | + |
| 41 | + |
| 42 | +all: lzbench |
| 43 | + |
| 44 | + |
| 45 | +ZLING_FILES = libzling/libzling.o libzling/libzling_huffman.o libzling/libzling_lz.o libzling/libzling_utils.o |
| 46 | + |
| 47 | +LZO_FILES = lzo/lzo1.o lzo/lzo1a.o lzo/lzo1a_99.o lzo/lzo1b_1.o lzo/lzo1b_2.o lzo/lzo1b_3.o lzo/lzo1b_4.o lzo/lzo1b_5.o |
| 48 | +LZO_FILES += lzo/lzo1b_6.o lzo/lzo1b_7.o lzo/lzo1b_8.o lzo/lzo1b_9.o lzo/lzo1b_99.o lzo/lzo1b_9x.o lzo/lzo1b_cc.o |
| 49 | +LZO_FILES += lzo/lzo1b_d1.o lzo/lzo1b_d2.o lzo/lzo1b_rr.o lzo/lzo1b_xx.o lzo/lzo1c_1.o lzo/lzo1c_2.o lzo/lzo1c_3.o |
| 50 | +LZO_FILES += lzo/lzo1c_4.o lzo/lzo1c_5.o lzo/lzo1c_6.o lzo/lzo1c_7.o lzo/lzo1c_8.o lzo/lzo1c_9.o lzo/lzo1c_99.o |
| 51 | +LZO_FILES += lzo/lzo1c_9x.o lzo/lzo1c_cc.o lzo/lzo1c_d1.o lzo/lzo1c_d2.o lzo/lzo1c_rr.o lzo/lzo1c_xx.o lzo/lzo1f_1.o |
| 52 | +LZO_FILES += lzo/lzo1f_9x.o lzo/lzo1f_d1.o lzo/lzo1f_d2.o lzo/lzo1x_1.o lzo/lzo1x_1k.o lzo/lzo1x_1l.o lzo/lzo1x_1o.o |
| 53 | +LZO_FILES += lzo/lzo1x_9x.o lzo/lzo1x_d1.o lzo/lzo1x_d2.o lzo/lzo1x_d3.o lzo/lzo1x_o.o lzo/lzo1y_1.o lzo/lzo1y_9x.o |
| 54 | +LZO_FILES += lzo/lzo1y_d1.o lzo/lzo1y_d2.o lzo/lzo1y_d3.o lzo/lzo1y_o.o lzo/lzo1z_9x.o lzo/lzo1z_d1.o lzo/lzo1z_d2.o |
| 55 | +LZO_FILES += lzo/lzo1z_d3.o lzo/lzo1_99.o lzo/lzo2a_9x.o lzo/lzo2a_d1.o lzo/lzo2a_d2.o lzo/lzo_crc.o lzo/lzo_init.o |
| 56 | +LZO_FILES += lzo/lzo_ptr.o lzo/lzo_str.o lzo/lzo_util.o |
| 57 | + |
| 58 | +UCL_FILES = ucl/alloc.o ucl/n2b_99.o ucl/n2b_d.o ucl/n2b_ds.o ucl/n2b_to.o ucl/n2d_99.o ucl/n2d_d.o ucl/n2d_ds.o |
| 59 | +UCL_FILES += ucl/n2d_to.o ucl/n2e_99.o ucl/n2e_d.o ucl/n2e_ds.o ucl/n2e_to.o ucl/ucl_crc.o ucl/ucl_init.o |
| 60 | +UCL_FILES += ucl/ucl_ptr.o ucl/ucl_str.o ucl/ucl_util.o |
| 61 | + |
| 62 | +LZHAM_FILES = lzham/lzham_assert.o lzham/lzham_checksum.o lzham/lzham_huffman_codes.o lzham/lzham_lzbase.cpp |
| 63 | +LZHAM_FILES += lzham/lzham_lzcomp.o lzham/lzham_lzcomp_internal.o lzham/lzham_lzdecomp.o lzham/lzham_lzdecompbase.o |
| 64 | +LZHAM_FILES += lzham/lzham_match_accel.o lzham/lzham_mem.o lzham/lzham_platform.o lzham/lzham_lzcomp_state.o |
| 65 | +LZHAM_FILES += lzham/lzham_prefix_coding.o lzham/lzham_symbol_codec.o lzham/lzham_timer.o lzham/lzham_vector.o lzham/lzham_lib.o |
| 66 | + |
| 67 | +ZLIB_FILES = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/gzclose.o zlib/gzlib.o zlib/gzread.o |
| 68 | +ZLIB_FILES += zlib/gzwrite.o zlib/infback.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o |
| 69 | +ZLIB_FILES += zlib/uncompr.o zlib/zutil.o |
| 70 | + |
| 71 | +LZMAT_FILES = lzmat/lzmat_dec.o lzmat/lzmat_enc.o |
| 72 | + |
| 73 | +LZRW_FILES = lzrw/lzrw1-a.o lzrw/lzrw1.o lzrw/lzrw2.o lzrw/lzrw3.o lzrw/lzrw3-a.o |
| 74 | + |
| 75 | +LZMA_FILES = lzma/LzFind.o lzma/LzmaDec.o lzma/LzmaEnc.o |
| 76 | + |
| 77 | +LZ4_FILES = lz5/lz5.o lz5/lz5hc.o lz4/lz4.o lz4/lz4hc.o |
| 78 | + |
| 79 | +LZF_FILES = lzf/lzf_c_ultra.o lzf/lzf_c_very.o lzf/lzf_d.o |
| 80 | + |
| 81 | +QUICKLZ_FILES = quicklz/quicklz151b7.o quicklz/quicklz1.o quicklz/quicklz2.o quicklz/quicklz3.o |
| 82 | + |
| 83 | +DENSITY_FILES = density/block_decode.o density/block_encode.o density/block_footer.o density/block_header.o density/block_mode_marker.o |
| 84 | +DENSITY_FILES += density/buffer.o density/globals.o density/kernel_chameleon_decode.o density/kernel_chameleon_dictionary.o |
| 85 | +DENSITY_FILES += density/kernel_chameleon_encode.o density/kernel_cheetah_decode.o density/kernel_cheetah_dictionary.o |
| 86 | +DENSITY_FILES += density/kernel_cheetah_encode.o density/kernel_lion_decode.o density/kernel_lion_dictionary.o |
| 87 | +DENSITY_FILES += density/kernel_lion_encode.o density/kernel_lion_form_model.o density/main_decode.o density/main_encode.o |
| 88 | +DENSITY_FILES += density/main_footer.o density/main_header.o density/memory_location.o density/memory_teleport.o density/stream.o |
| 89 | +DENSITY_FILES += density/spookyhash/spookyhash.o density/spookyhash/context.o |
| 90 | + |
| 91 | +SNAPPY_FILES = snappy/snappy-sinksource.o snappy/snappy-stubs-internal.o snappy/snappy.o |
| 92 | + |
| 93 | +CSC_FILES = libcsc/csc_analyzer.o libcsc/csc_coder.o libcsc/csc_dec.o libcsc/csc_enc.o libcsc/csc_encoder_main.o |
| 94 | +CSC_FILES += libcsc/csc_filters.o libcsc/csc_lz.o libcsc/csc_memio.o libcsc/csc_mf.o libcsc/csc_model.o libcsc/csc_profiler.o |
| 95 | + |
| 96 | +BROTLI_FILES = brotli/dec/bit_reader.o brotli/dec/decode.o brotli/dec/dictionary.o brotli/dec/huffman.o brotli/dec/state.o brotli/dec/streams.o |
| 97 | +BROTLI_FILES += brotli/enc/backward_references.o brotli/enc/block_splitter.o brotli/enc/brotli_bit_stream.o brotli/enc/encode.o |
| 98 | +BROTLI_FILES += brotli/enc/encode_parallel.o brotli/enc/entropy_encode.o brotli/enc/histogram.o brotli/enc/literal_cost.o |
| 99 | +BROTLI_FILES += brotli/enc/metablock.o brotli/enc/static_dict.o brotli/enc/streams.o brotli/enc/utf8_util.o |
| 100 | + |
| 101 | +ZSTD_FILES = zstd/fse.o zstd/huff0.o zstd/zstd.o zstd/zstdhc.o |
| 102 | + |
| 103 | +MISC_FILES = crush/crush.o shrinker/shrinker.o yappy/yappy.o fastlz/fastlz.o tornado/tor_test.o pithy/pithy.o lzjb/lzjb2010.o wflz/wfLZ.o |
| 104 | + |
| 105 | +lzbench: $(LZF_FILES) $(LZRW_FILES) $(ZSTD_FILES) $(BROTLI_FILES) $(CSC_FILES) $(LZMA_FILES) $(DENSITY_FILES) $(ZLING_FILES) $(QUICKLZ_FILES) $(SNAPPY_FILES) $(ZLIB_FILES) $(LZHAM_FILES) $(LZO_FILES) $(UCL_FILES) $(LZMAT_FILES) $(LZ4_FILES) $(MISC_FILES) _lzbench/lzbench.o _lzbench/compressors.o |
| 106 | + $(GPP) $^ -o $@ $(LDFLAGS) |
| 107 | + |
| 108 | +.c.o: |
| 109 | + $(GCC) $(CFLAGS) $< -std=c99 -c -o $@ |
| 110 | + |
| 111 | +.cc.o: |
| 112 | + $(GPP) $(CFLAGS) $< -c -o $@ |
| 113 | + |
| 114 | +.cpp.o: |
| 115 | + $(GPP) $(CFLAGS) $< -c -o $@ |
| 116 | + |
| 117 | +clean: |
| 118 | + rm -f _lzbench/*.o brotli/enc/*.o brotli/dec/*.o libcsc/*.o wflz/*.o lzjb/*.o lzma/*.o density/spookyhash/*.o density/*.o pithy/*.o zstd/*.o libzling/*.o yappy/*.o shrinker/*.o fastlz/*.o ucl/*.o zlib/*.o lzham/*.o lzmat/*.o lz5/*.o lz4/*.o crush/*.o lzf/*.o lzrw/*.o lzo/*.o snappy/*.o quicklz/*.o tornado/*.o *.o *.exe |
0 commit comments