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.0
13CFLAGS += -I$(LZ4_DIR)
14BLOSC_LIB += $(wildcard $(LZ4_DIR)/*.c)
15
16# Support for external LZ4 and LZ4HC
17#LDFLAGS += -llz4
18
19# Support for external Zlib
20LDFLAGS += -DHAVE_ZLIB -lz
21
22# Support for internal Zlib
23#ZLIB_DIR = ../internal-complibs/zlib-1.2.8
24#CFLAGS += -DHAVE_ZLIB -I$(ZLIB_DIR)
25#BLOSC_LIB += $(wildcard $(ZLIB_DIR)/*.c)
26
27
28# Support for internal Zstd
29ZSTD_DIR = ../internal-complibs/zstd-1.2.0
30CFLAGS += -DHAVE_ZSTD -I$(ZSTD_DIR) -I$(ZSTD_DIR)/common
31BLOSC_LIB += $(wildcard $(ZSTD_DIR)/*/*.c)
32
33
34.PHONY: all
35all: $(EXECUTABLES)
36
37test: $(EXECUTABLES)
38	sh test_all.sh
39
40%.exe: %.c $(BLOSC_LIB)
41	$(CC) $(CFLAGS) $(LDFLAGS) "$<" $(BLOSC_LIB) -o "$@"
42
43clean:
44	rm -rf $(EXECUTABLES)
45