1# Makefile for zlib 2# Copyright (C) 1995-2013 Jean-loup Gailly, Mark Adler 3# For conditions of distribution and use, see copyright notice in zlib.h 4 5CC= 6CFLAGS= 7SFLAGS= 8INCLUDES= 9SUFFIX= 10 11AVX512FLAG=-mavx512f -mavx512dq -mavx512vl -mavx512bw 12AVX512VNNIFLAG=-mavx512vnni 13AVX2FLAG=-mavx2 14SSE2FLAG=-msse2 15SSSE3FLAG=-mssse3 16SSE41FLAG=-msse4.1 17SSE42FLAG=-msse4.2 18PCLMULFLAG=-mpclmul 19VPCLMULFLAG=-mvpclmulqdq 20NOLTOFLAG= 21 22SRCDIR=. 23SRCTOP=../.. 24TOPDIR=$(SRCTOP) 25 26all: \ 27 x86_features.o x86_features.lo \ 28 adler32_avx2.o adler32_avx2.lo \ 29 adler32_avx512.o adler32_avx512.lo \ 30 adler32_avx512_vnni.o adler32_avx512_vnni.lo \ 31 adler32_sse42.o adler32_sse42.lo \ 32 adler32_ssse3.o adler32_ssse3.lo \ 33 chunkset_avx.o chunkset_avx.lo \ 34 chunkset_sse2.o chunkset_sse2.lo \ 35 chunkset_sse41.o chunkset_sse41.lo \ 36 compare256_avx2.o compare256_avx2.lo \ 37 compare256_sse2.o compare256_sse2.lo \ 38 insert_string_sse42.o insert_string_sse42.lo \ 39 crc32_fold_pclmulqdq.o crc32_fold_pclmulqdq.lo \ 40 crc32_fold_vpclmulqdq.o crc32_fold_vpclmulqdq.lo \ 41 slide_hash_avx2.o slide_hash_avx2.lo \ 42 slide_hash_sse2.o slide_hash_sse2.lo 43 44x86_features.o: 45 $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $(SRCDIR)/x86_features.c 46 47x86_features.lo: 48 $(CC) $(SFLAGS) $(INCLUDES) -c -o $@ $(SRCDIR)/x86_features.c 49 50chunkset_avx.o: 51 $(CC) $(CFLAGS) $(AVX2FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/chunkset_avx.c 52 53chunkset_avx.lo: 54 $(CC) $(SFLAGS) $(AVX2FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/chunkset_avx.c 55 56chunkset_sse2.o: 57 $(CC) $(CFLAGS) $(SSE2FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/chunkset_sse2.c 58 59chunkset_sse2.lo: 60 $(CC) $(SFLAGS) $(SSE2FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/chunkset_sse2.c 61 62chunkset_sse41.o: 63 $(CC) $(CFLAGS) $(SSE41FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/chunkset_sse41.c 64 65chunkset_sse41.lo: 66 $(CC) $(SFLAGS) $(SSE41FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/chunkset_sse41.c 67 68compare256_avx2.o: 69 $(CC) $(CFLAGS) $(AVX2FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/compare256_avx2.c 70 71compare256_avx2.lo: 72 $(CC) $(SFLAGS) $(AVX2FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/compare256_avx2.c 73 74compare256_sse2.o: 75 $(CC) $(CFLAGS) $(SSE2FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/compare256_sse2.c 76 77compare256_sse2.lo: 78 $(CC) $(SFLAGS) $(SSE2FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/compare256_sse2.c 79 80insert_string_sse42.o: 81 $(CC) $(CFLAGS) $(SSE42FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/insert_string_sse42.c 82 83insert_string_sse42.lo: 84 $(CC) $(SFLAGS) $(SSE42FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/insert_string_sse42.c 85 86crc32_fold_pclmulqdq.o: 87 $(CC) $(CFLAGS) $(PCLMULFLAG) $(SSE42FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/crc32_fold_pclmulqdq.c 88 89crc32_fold_pclmulqdq.lo: 90 $(CC) $(SFLAGS) $(PCLMULFLAG) $(SSE42FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/crc32_fold_pclmulqdq.c 91 92crc32_fold_vpclmulqdq.o: 93 $(CC) $(CFLAGS) $(VPCLMULFLAG) $(AVX512FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/crc32_fold_vpclmulqdq.c 94 95crc32_fold_vpclmulqdq.lo: 96 $(CC) $(SFLAGS) $(VPCLMULFLAG) $(AVX512FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/crc32_fold_vpclmulqdq.c 97 98slide_hash_avx2.o: 99 $(CC) $(CFLAGS) $(AVX2FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/slide_hash_avx2.c 100 101slide_hash_avx2.lo: 102 $(CC) $(SFLAGS) $(AVX2FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/slide_hash_avx2.c 103 104slide_hash_sse2.o: 105 $(CC) $(CFLAGS) $(SSE2FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/slide_hash_sse2.c 106 107slide_hash_sse2.lo: 108 $(CC) $(SFLAGS) $(SSE2FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/slide_hash_sse2.c 109 110adler32_avx2.o: $(SRCDIR)/adler32_avx2.c 111 $(CC) $(CFLAGS) $(AVX2FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_avx2.c 112 113adler32_avx2.lo: $(SRCDIR)/adler32_avx2.c 114 $(CC) $(SFLAGS) $(AVX2FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_avx2.c 115 116adler32_avx512.o: $(SRCDIR)/adler32_avx512.c 117 $(CC) $(CFLAGS) $(AVX512FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_avx512.c 118 119adler32_avx512.lo: $(SRCDIR)/adler32_avx512.c 120 $(CC) $(SFLAGS) $(AVX512FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_avx512.c 121 122adler32_avx512_vnni.o: $(SRCDIR)/adler32_avx512_vnni.c 123 $(CC) $(CFLAGS) $(AVX512VNNIFLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_avx512_vnni.c 124 125adler32_avx512_vnni.lo: $(SRCDIR)/adler32_avx512_vnni.c 126 $(CC) $(SFLAGS) $(AVX512VNNIFLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_avx512_vnni.c 127 128adler32_ssse3.o: $(SRCDIR)/adler32_ssse3.c 129 $(CC) $(CFLAGS) $(SSSE3FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_ssse3.c 130 131adler32_ssse3.lo: $(SRCDIR)/adler32_ssse3.c 132 $(CC) $(SFLAGS) $(SSSE3FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_ssse3.c 133 134adler32_sse42.o: $(SRCDIR)/adler32_sse42.c 135 $(CC) $(CFLAGS) $(SSE42FLAG) $(NOLTOFLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_sse42.c 136 137adler32_sse42.lo: $(SRCDIR)/adler32_sse42.c 138 $(CC) $(SFLAGS) $(SSE42FLAG) $(NOLTOFLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_sse42.c 139 140mostlyclean: clean 141clean: 142 rm -f *.o *.lo *~ 143 rm -rf objs 144 rm -f *.gcda *.gcno *.gcov 145 146distclean: 147 rm -f Makefile 148