xref: /isa-l/igzip/Makefile.am (revision 180c74aefd006073e2f6272aaef33b5c957224ed)
1########################################################################
2#  Copyright(c) 2011-2016 Intel Corporation All rights reserved.
3#
4#  Redistribution and use in source and binary forms, with or without
5#  modification, are permitted provided that the following conditions
6#  are met:
7#    * Redistributions of source code must retain the above copyright
8#      notice, this list of conditions and the following disclaimer.
9#    * Redistributions in binary form must reproduce the above copyright
10#      notice, this list of conditions and the following disclaimer in
11#      the documentation and/or other materials provided with the
12#      distribution.
13#    * Neither the name of Intel Corporation nor the names of its
14#      contributors may be used to endorse or promote products derived
15#      from this software without specific prior written permission.
16#
17#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18#  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19#  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20#  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21#  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23#  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24#  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25#  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26#  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27#  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28########################################################################
29
30lsrc        += 	igzip/igzip.c \
31		igzip/hufftables_c.c \
32		igzip/igzip_base.c \
33		igzip/igzip_icf_base.c \
34		igzip/adler32_base.c \
35		igzip/flatten_ll.c \
36		igzip/encode_df.c \
37		igzip/igzip_icf_body.c
38
39lsrc_base_aliases += igzip/igzip_base_aliases.c igzip/proc_heap_base.c
40lsrc_x86_32       += igzip/igzip_base_aliases.c igzip/proc_heap_base.c
41lsrc_ppc64le      += igzip/igzip_base_aliases.c igzip/proc_heap_base.c
42
43lsrc_aarch64 +=	igzip/aarch64/igzip_inflate_multibinary_arm64.S  \
44		igzip/aarch64/igzip_multibinary_arm64.S	\
45		igzip/aarch64/igzip_isal_adler32_neon.S	\
46		igzip/aarch64/igzip_multibinary_aarch64_dispatcher.c \
47		igzip/aarch64/igzip_deflate_body_aarch64.S \
48		igzip/aarch64/igzip_deflate_finish_aarch64.S \
49		igzip/aarch64/isal_deflate_icf_body_hash_hist.S \
50		igzip/aarch64/isal_deflate_icf_finish_hash_hist.S \
51		igzip/aarch64/igzip_set_long_icf_fg.S \
52		igzip/aarch64/encode_df.S \
53		igzip/aarch64/isal_update_histogram.S \
54		igzip/aarch64/gen_icf_map.S \
55		igzip/aarch64/igzip_deflate_hash_aarch64.S \
56		igzip/aarch64/igzip_decode_huffman_code_block_aarch64.S \
57		igzip/proc_heap_base.c
58
59lsrc_x86_64 +=	igzip/igzip_body.asm \
60		igzip/igzip_finish.asm \
61		igzip/igzip_icf_body_h1_gr_bt.asm \
62		igzip/igzip_icf_finish.asm \
63		igzip/rfc1951_lookup.asm \
64		igzip/adler32_sse.asm \
65		igzip/adler32_avx2_4.asm \
66		igzip/igzip_multibinary.asm \
67		igzip/igzip_update_histogram_01.asm \
68		igzip/igzip_update_histogram_04.asm \
69		igzip/igzip_decode_block_stateless_01.asm \
70		igzip/igzip_decode_block_stateless_04.asm \
71		igzip/igzip_inflate_multibinary.asm \
72		igzip/encode_df_04.asm \
73		igzip/encode_df_06.asm \
74		igzip/proc_heap.asm \
75		igzip/igzip_deflate_hash.asm \
76		igzip/igzip_gen_icf_map_lh1_06.asm \
77		igzip/igzip_gen_icf_map_lh1_04.asm \
78		igzip/igzip_set_long_icf_fg_04.asm \
79		igzip/igzip_set_long_icf_fg_06.asm
80
81src_include += -I $(srcdir)/igzip
82extern_hdrs +=	include/igzip_lib.h
83
84check_tests +=  igzip/igzip_rand_test
85check_tests +=  igzip/igzip_wrapper_hdr_test
86check_tests +=  igzip/checksum32_funcs_test
87
88other_tests +=  igzip/igzip_file_perf igzip/igzip_hist_perf
89other_tests +=  igzip/igzip_perf
90other_tests +=  igzip/igzip_semi_dyn_file_perf
91other_tests +=  igzip/igzip_build_hash_table_perf
92
93other_src   += 	igzip/bitbuf2.asm  \
94		igzip/data_struct2.asm \
95		igzip/inflate_data_structs.asm \
96		igzip/igzip_body.asm \
97		igzip/igzip_finish.asm \
98		igzip/lz0a_const.asm \
99		igzip/options.asm \
100		igzip/stdmac.asm \
101		igzip/igzip_compare_types.asm \
102		igzip/bitbuf2.h \
103		igzip/repeated_char_result.h \
104		igzip/igzip_update_histogram.asm \
105		igzip/huffman.asm \
106		include/reg_sizes.asm \
107		include/multibinary.asm \
108		include/test.h \
109		include/unaligned.h \
110		igzip/huffman.h \
111		igzip/igzip_level_buf_structs.h \
112		igzip/igzip_decode_block_stateless.asm \
113		igzip/inflate_std_vects.h \
114		igzip/flatten_ll.h \
115		igzip/encode_df.h \
116		igzip/heap_macros.asm \
117		igzip/igzip_wrapper.h \
118		igzip/static_inflate.h \
119		igzip/igzip_checksums.h
120
121perf_tests  +=  igzip/adler32_perf
122
123examples    += 	igzip/igzip_example igzip/igzip_sync_flush_example
124
125igzip_igzip_rand_test_LDADD = libisal.la
126
127# Include tools to make custom Huffman tables based on sample data
128other_tests += igzip/generate_custom_hufftables
129other_tests += igzip/generate_static_inflate
130other_src   += igzip/huff_codes.h
131lsrc        += igzip/huff_codes.c
132
133# Include tools and tests using the reference inflate
134other_tests += igzip/igzip_inflate_test
135lsrc   += igzip/igzip_inflate.c
136other_src   += igzip/checksum_test_ref.h
137
138igzip_perf: LDLIBS += -lz
139igzip_igzip_perf_LDADD = libisal.la
140igzip_igzip_perf_LDFLAGS = -lz
141igzip_inflate_test: LDLIBS += -lz
142igzip_igzip_inflate_test_LDADD = libisal.la
143igzip_igzip_inflate_test_LDFLAGS = -lz
144igzip_igzip_hist_perf_LDADD = libisal.la
145