@@ -28,10 +28,44 @@ DEBUGFLAGS = -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \
28
28
CFLAGS += $(DEBUGFLAGS ) $(MOREFLAGS )
29
29
FLAGS = $(CPPFLAGS ) $(CFLAGS )
30
30
31
-
32
- ZSTD_FILES := $(sort $(wildcard common/* .c compress/* .c decompress/* .c dictBuilder/* .c deprecated/* .c) )
31
+ ZSTDCOMMON_FILES := $(sort $(wildcard common/* .c) )
32
+ ZSTDCOMP_FILES := $(sort $(wildcard compress/* .c) )
33
+ ZSTDDECOMP_FILES := $(sort $(wildcard decompress/* .c) )
34
+ ZDICT_FILES := $(sort $(wildcard dictBuilder/* .c) )
35
+ ZDEPR_FILES := $(sort $(wildcard deprecated/* .c) )
36
+ ZSTD_FILES := $(ZSTDCOMMON_FILES )
33
37
34
38
ZSTD_LEGACY_SUPPORT ?= 4
39
+ ZSTD_LIB_COMPRESSION ?= 1
40
+ ZSTD_LIB_DECOMPRESSION ?= 1
41
+ ZSTD_LIB_DICTBUILDER ?= 1
42
+ ZSTD_LIB_DEPRECATED ?= 1
43
+
44
+ ifeq ($(ZSTD_LIB_COMPRESSION ) , 0)
45
+ ZSTD_LIB_DICTBUILDER = 0
46
+ ZSTD_LIB_DEPRECATED = 0
47
+ endif
48
+
49
+ ifeq ($(ZSTD_LIB_DECOMPRESSION ) , 0)
50
+ ZSTD_LEGACY_SUPPORT = 0
51
+ ZSTD_LIB_DEPRECATED = 0
52
+ endif
53
+
54
+ ifneq ($(ZSTD_LIB_COMPRESSION ) , 0)
55
+ ZSTD_FILES += $(ZSTDCOMP_FILES)
56
+ endif
57
+
58
+ ifneq ($(ZSTD_LIB_DECOMPRESSION ) , 0)
59
+ ZSTD_FILES += $(ZSTDDECOMP_FILES)
60
+ endif
61
+
62
+ ifneq ($(ZSTD_LIB_DEPRECATED ) , 0)
63
+ ZSTD_FILES += $(ZDEPR_FILES)
64
+ endif
65
+
66
+ ifneq ($(ZSTD_LIB_DICTBUILDER ) , 0)
67
+ ZSTD_FILES += $(ZDICT_FILES)
68
+ endif
35
69
36
70
ifneq ($(ZSTD_LEGACY_SUPPORT ) , 0)
37
71
ifeq ($(shell test $(ZSTD_LEGACY_SUPPORT ) -lt 8; echo $$? ) , 0)
@@ -43,7 +77,7 @@ CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT)
43
77
44
78
ZSTD_OBJ := $(patsubst % .c,% .o,$(ZSTD_FILES ) )
45
79
46
- # OS X linker doesn't support -soname, and use different extension
80
+ # macOS linker doesn't support -soname, and use different extension
47
81
# see : https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryDesignGuidelines.html
48
82
ifeq ($(shell uname) , Darwin)
49
83
SHARED_EXT = dylib
@@ -111,14 +145,14 @@ libzstd-nomt: $(ZSTD_NOMT_FILES)
111
145
@$(CC ) $(FLAGS ) $^ $(LDFLAGS ) $(SONAME_FLAGS ) -o $@
112
146
113
147
clean :
114
- @$(RM ) -r * .dSYM # Mac OS-X specific
148
+ @$(RM ) -r * .dSYM # macOS- specific
115
149
@$(RM ) core * .o * .a * .gcda * .$(SHARED_EXT ) * .$(SHARED_EXT ) .* libzstd.pc
116
150
@$(RM ) dll/libzstd.dll dll/libzstd.lib libzstd-nomt*
117
151
@$(RM ) common/* .o compress/* .o decompress/* .o dictBuilder/* .o legacy/* .o deprecated/* .o
118
152
@echo Cleaning library completed
119
153
120
154
# -----------------------------------------------------------------------------
121
- # make install is validated only for Linux, OSX , BSD, Hurd and Solaris targets
155
+ # make install is validated only for Linux, macOS , BSD, Hurd and Solaris targets
122
156
# -----------------------------------------------------------------------------
123
157
ifneq (,$(filter $(shell uname) ,Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD NetBSD DragonFly SunOS) )
124
158
@@ -134,7 +168,7 @@ LIBDIR ?= $(libdir)
134
168
includedir ?= $(PREFIX ) /include
135
169
INCLUDEDIR ?= $(includedir )
136
170
137
- ifneq (,$(filter $(shell uname) ,OpenBSD FreeBSD NetBSD DragonFly) )
171
+ ifneq (,$(filter $(shell uname) ,FreeBSD NetBSD DragonFly) )
138
172
PKGCONFIGDIR ?= $(PREFIX ) /libdata/pkgconfig
139
173
else
140
174
PKGCONFIGDIR ?= $(LIBDIR ) /pkgconfig
@@ -159,20 +193,32 @@ libzstd.pc: libzstd.pc.in
159
193
-e 's|@VERSION@|$(VERSION)|' \
160
194
$< >$@
161
195
162
- install : libzstd.a libzstd libzstd.pc
163
- @$(INSTALL ) -d -m 755 $(DESTDIR )$(PKGCONFIGDIR ) / $(DESTDIR )$(INCLUDEDIR ) /
196
+ install : install-pc install-static install-shared install-includes
197
+ @echo zstd static and shared library installed
198
+
199
+ install-pc : libzstd.pc
200
+ @$(INSTALL ) -d -m 755 $(DESTDIR )$(PKGCONFIGDIR ) /
164
201
@$(INSTALL_DATA ) libzstd.pc $(DESTDIR )$(PKGCONFIGDIR ) /
165
- @echo Installing libraries
202
+
203
+ install-static : libzstd.a
204
+ @echo Installing static library
205
+ @$(INSTALL ) -d -m 755 $(DESTDIR )$(LIBDIR ) /
166
206
@$(INSTALL_DATA ) libzstd.a $(DESTDIR )$(LIBDIR )
207
+
208
+ install-shared : libzstd
209
+ @echo Installing shared library
210
+ @$(INSTALL ) -d -m 755 $(DESTDIR )$(LIBDIR ) /
167
211
@$(INSTALL_PROGRAM ) $(LIBZSTD ) $(DESTDIR )$(LIBDIR )
168
212
@ln -sf $(LIBZSTD ) $(DESTDIR )$(LIBDIR ) /libzstd.$(SHARED_EXT_MAJOR )
169
213
@ln -sf $(LIBZSTD ) $(DESTDIR )$(LIBDIR ) /libzstd.$(SHARED_EXT )
214
+
215
+ install-includes :
170
216
@echo Installing includes
217
+ @$(INSTALL ) -d -m 755 $(DESTDIR )$(INCLUDEDIR ) /
171
218
@$(INSTALL_DATA ) zstd.h $(DESTDIR )$(INCLUDEDIR )
172
219
@$(INSTALL_DATA ) common/zstd_errors.h $(DESTDIR )$(INCLUDEDIR )
173
220
@$(INSTALL_DATA ) deprecated/zbuff.h $(DESTDIR )$(INCLUDEDIR ) # prototypes generate deprecation warnings
174
221
@$(INSTALL_DATA ) dictBuilder/zdict.h $(DESTDIR )$(INCLUDEDIR )
175
- @echo zstd static and shared library installed
176
222
177
223
uninstall :
178
224
@$(RM ) $(DESTDIR )$(LIBDIR ) /libzstd.a
0 commit comments