1CC=gcc
2CFLAGS=-O3 -Wall -pthread
3LDFLAGS=-pthread
4BLOSC_LIB= $(wildcard ../blosc/*.c)
5
6# The list of executables
7# Generated PNG (intermediate) files
8SOURCES := $(wildcard *.c)
9EXECUTABLES := $(patsubst %.c, %.exe, $(SOURCES))
10
11# Support for internal LZ4 and LZ4HC
12LZ4_DIR = ../internal-complibs/lz4-1.7.5
13CFLAGS += -DHAVE_LZ4 -I$(LZ4_DIR)
14BLOSC_LIB += $(wildcard $(LZ4_DIR)/*.c)
15
16# Support for external LZ4 and LZ4HC
17#LDFLAGS += -DHAVE_LZ4 -llz4
18
19# Support for internal Snappy
20#SNAPPY_DIR = ../internal-complibs/snappy-1.1.1
21#CFLAGS += -DHAVE_SNAPPY -I$(SNAPPY_DIR)
22#BLOSC_LIB += $(wildcard $(SNAPPY_DIR)/*.cc)
23
24# Support for external Snappy
25LDFLAGS += -DHAVE_SNAPPY -lsnappy
26
27# Support for external Zlib
28LDFLAGS += -DHAVE_ZLIB -lz
29
30# Support for internal Zlib
31#ZLIB_DIR = ../internal-complibs/zlib-1.2.8
32#CFLAGS += -DHAVE_ZLIB -I$(ZLIB_DIR)
33#BLOSC_LIB += $(wildcard $(ZLIB_DIR)/*.c)
34
35
36# Support for internal Zstd
37ZSTD_DIR = ../internal-complibs/zstd-1.1.4
38CFLAGS += -DHAVE_ZSTD -I$(ZSTD_DIR) -I$(ZSTD_DIR)/common
39BLOSC_LIB += $(wildcard $(ZSTD_DIR)/*/*.c)
40
41
42.PHONY: all
43all: $(EXECUTABLES)
44
45test: $(EXECUTABLES)
46	sh test_all.sh
47
48%.exe: %.c $(BLOSC_LIB)
49	$(CC) $(CFLAGS) $(LDFLAGS) "$<" $(BLOSC_LIB) -o "$@"
50
51clean:
52	rm -rf $(EXECUTABLES)
53