1# ################################################################
2# Copyright (c) 2017-present, Facebook, Inc.
3# All rights reserved.
4#
5# This source code is licensed under both the BSD-style license (found in the
6# LICENSE file in the root directory of this source tree) and the GPLv2 (found
7# in the COPYING file in the root directory of this source tree).
8# ################################################################
9
10# This Makefile presumes libzstd is built, using `make` in / or /lib/
11
12ZSTDLIB_PATH = ../../../lib
13ZSTDLIB_NAME = libzstd.a
14ZSTDLIB = $(ZSTDLIB_PATH)/$(ZSTDLIB_NAME)
15
16CPPFLAGS += -I../ -I../../../lib -I../../../lib/common
17
18CFLAGS ?= -O3
19CFLAGS += -g
20
21SEEKABLE_OBJS = ../zstdseek_compress.c ../zstdseek_decompress.c $(ZSTDLIB)
22
23.PHONY: default all clean test
24
25default: all
26
27all: seekable_compression seekable_decompression parallel_processing
28
29$(ZSTDLIB):
30	make -C $(ZSTDLIB_PATH) $(ZSTDLIB_NAME)
31
32seekable_compression : seekable_compression.c $(SEEKABLE_OBJS)
33	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
34
35seekable_decompression : seekable_decompression.c $(SEEKABLE_OBJS)
36	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
37
38parallel_processing : parallel_processing.c $(SEEKABLE_OBJS)
39	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@ -pthread
40
41parallel_compression : parallel_compression.c $(SEEKABLE_OBJS)
42	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@ -pthread
43
44clean:
45	@rm -f core *.o tmp* result* *.zst \
46		seekable_compression seekable_decompression \
47		parallel_processing parallel_compression
48	@echo Cleaning completed
49