summaryrefslogtreecommitdiffstats
path: root/src/zstd/tests/regression/Makefile
blob: 87c1c2b966f3e15dbc8b88debe2fbe8c38eae699 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# ################################################################
# Copyright (c) 2015-2020, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under both the BSD-style license (found in the
# LICENSE file in the root directory of this source tree) and the GPLv2 (found
# in the COPYING file in the root directory of this source tree).
# You may select, at your option, one of the above-listed licenses.
# ################################################################

CFLAGS ?= -O3

CURL_CFLAGS := $(shell curl-config --cflags)
CURL_LDFLAGS := $(shell curl-config --libs) -pthread

PROGDIR := ../../programs
LIBDIR := ../../lib
ZSTD_CPPFLAGS := -I$(PROGDIR) -I$(LIBDIR) -I$(LIBDIR)/common

REGRESSION_CFLAGS = $(CFLAGS) $(CURL_CFLAGS)
REGRESSION_CPPFLAGS = $(CPPFLAGS) $(ZSTD_CPPFLAGS)
REGRESSION_LDFLAGS = $(LDFLAGS) $(CURL_LDFLAGS)

all: test

xxhash.o: $(LIBDIR)/common/xxhash.c $(LIBDIR)/common/xxhash.h
	$(CC) $(REGRESSION_CFLAGS) $(REGRESSION_CPPFLAGS) $< -c -o $@

util.o: $(PROGDIR)/util.c $(PROGDIR)/util.h
	$(CC) $(REGRESSION_CFLAGS) $(REGRESSION_CPPFLAGS) $< -c -o $@

data.o: data.c data.h $(PROGDIR)/util.h $(LIBDIR)/common/xxhash.h
	$(CC) $(REGRESSION_CFLAGS) $(REGRESSION_CPPFLAGS) $< -c -o $@

config.o: config.c config.h levels.h
	$(CC) $(REGRESSION_CFLAGS) $(REGRESSION_CPPFLAGS) $< -c -o $@

method.h: data.h config.h result.h

method.o: method.c method.h
	$(CC) $(REGRESSION_CFLAGS) $(REGRESSION_CPPFLAGS) $< -c -o $@

result.o: result.c result.h
	$(CC) $(REGRESSION_CFLAGS) $(REGRESSION_CPPFLAGS) $< -c -o $@

test.o: test.c data.h config.h method.h
	$(CC) $(REGRESSION_CFLAGS) $(REGRESSION_CPPFLAGS) $< -c -o $@

libzstd.a:
	$(MAKE) -C $(LIBDIR) libzstd.a-mt
	cp $(LIBDIR)/libzstd.a .

test: test.o data.o config.o util.o method.o result.o xxhash.o libzstd.a
	$(CC) $^ $(REGRESSION_LDFLAGS) -o $@

.PHONY: clean
clean:
	$(MAKE) -C $(LIBDIR) clean
	$(RM) *.o *.a test