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
11AVX2FLAG=-mavx2
12SSE2FLAG=-msse2
13SSSE3FLAG=-mssse3
14SSE4FLAG=-msse4
15PCLMULFLAG=-mpclmul
16
17SRCDIR=.
18SRCTOP=../..
19TOPDIR=$(SRCTOP)
20
21all: \
22	x86.o x86.lo \
23	adler32_avx.o adler32.lo \
24	adler32_ssse3.o adler32_ssse3.lo \
25	chunkset_sse.o chunkset_sse.lo \
26	compare258_avx.o compare258_avx.lo \
27	compare258_sse.o compare258_sse.lo \
28	insert_string_sse.o insert_string_sse.lo \
29	crc_folding.o crc_folding.lo \
30	slide_avx.o slide_avx.lo \
31	slide_sse.o slide_sse.lo
32
33x86.o:
34	$(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $(SRCDIR)/x86.c
35
36x86.lo:
37	$(CC) $(SFLAGS) $(INCLUDES) -c -o $@ $(SRCDIR)/x86.c
38
39chunkset_sse.o:
40	$(CC) $(CFLAGS) $(SSE2FLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/chunkset_sse.c
41
42chunkset_sse.lo:
43	$(CC) $(SFLAGS) $(SSE2FLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/chunkset_sse.c
44
45compare258_avx.o:
46	$(CC) $(CFLAGS) $(AVX2FLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/compare258_avx.c
47
48compare258_avx.lo:
49	$(CC) $(SFLAGS) $(AVX2FLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/compare258_avx.c
50
51compare258_sse.o:
52	$(CC) $(CFLAGS) $(SSE4FLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/compare258_sse.c
53
54compare258_sse.lo:
55	$(CC) $(SFLAGS) $(SSE4FLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/compare258_sse.c
56
57insert_string_sse.o:
58	$(CC) $(CFLAGS) $(SSE4FLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/insert_string_sse.c
59
60insert_string_sse.lo:
61	$(CC) $(SFLAGS) $(SSE4FLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/insert_string_sse.c
62
63crc_folding.o:
64	$(CC) $(CFLAGS) $(PCLMULFLAG) $(SSE4FLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/crc_folding.c
65
66crc_folding.lo:
67	$(CC) $(SFLAGS) $(PCLMULFLAG) $(SSE4FLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/crc_folding.c
68
69slide_avx.o:
70	$(CC) $(CFLAGS) $(AVX2FLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/slide_avx.c
71
72slide_avx.lo:
73	$(CC) $(SFLAGS) $(AVX2FLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/slide_avx.c
74
75slide_sse.o:
76	$(CC) $(CFLAGS) $(SSE2FLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/slide_sse.c
77
78slide_sse.lo:
79	$(CC) $(SFLAGS) $(SSE2FLAG) -DPIC $(INCLUDES) -c -o $@ $(SRCDIR)/slide_sse.c
80
81adler32_avx.o: $(SRCDIR)/adler32_avx.c
82	$(CC) $(CFLAGS) $(AVX2FLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_avx.c
83
84adler32_avx.lo: $(SRCDIR)/adler32_avx.c
85	$(CC) $(SFLAGS) $(AVX2FLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_avx.c
86
87adler32_ssse3.o: $(SRCDIR)/adler32_ssse3.c
88	$(CC) $(CFLAGS) $(SSSE3FLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_ssse3.c
89
90adler32_ssse3.lo: $(SRCDIR)/adler32_ssse3.c
91	$(CC) $(SFLAGS) $(SSSE3FLAG) $(INCLUDES) -c -o $@ $(SRCDIR)/adler32_ssse3.c
92
93mostlyclean: clean
94clean:
95	rm -f *.o *.lo *~
96	rm -rf objs
97	rm -f *.gcda *.gcno *.gcov
98
99distclean:
100	rm -f Makefile
101