]>
Commit | Line | Data |
---|---|---|
7c673cae | 1 | # ################################################################ |
11fdf7f2 | 2 | # Copyright (c) 2015-present, Yann Collet, Facebook, Inc. |
7c673cae FG |
3 | # All rights reserved. |
4 | # | |
11fdf7f2 TL |
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). | |
7c673cae FG |
8 | # ################################################################ |
9 | ||
10 | PRGDIR = programs | |
11 | ZSTDDIR = lib | |
12 | BUILDIR = build | |
13 | ZWRAPDIR = zlibWrapper | |
14 | TESTDIR = tests | |
11fdf7f2 | 15 | FUZZDIR = $(TESTDIR)/fuzz |
7c673cae FG |
16 | |
17 | # Define nul output | |
18 | VOID = /dev/null | |
19 | ||
20 | ifneq (,$(filter Windows%,$(OS))) | |
21 | EXT =.exe | |
22 | else | |
23 | EXT = | |
24 | endif | |
25 | ||
9f95a23c | 26 | ## default: Build lib-release and zstd-release |
7c673cae | 27 | .PHONY: default |
11fdf7f2 | 28 | default: lib-release zstd-release |
7c673cae FG |
29 | |
30 | .PHONY: all | |
9f95a23c | 31 | all: allmost examples manual contrib |
11fdf7f2 TL |
32 | |
33 | .PHONY: allmost | |
9f95a23c | 34 | allmost: allzstd zlibwrapper |
11fdf7f2 | 35 | |
9f95a23c | 36 | # skip zwrapper, can't build that on alternate architectures without the proper zlib installed |
11fdf7f2 | 37 | .PHONY: allzstd |
9f95a23c | 38 | allzstd: lib |
11fdf7f2 TL |
39 | $(MAKE) -C $(PRGDIR) all |
40 | $(MAKE) -C $(TESTDIR) all | |
41 | ||
42 | .PHONY: all32 | |
43 | all32: | |
44 | $(MAKE) -C $(PRGDIR) zstd32 | |
45 | $(MAKE) -C $(TESTDIR) all32 | |
7c673cae | 46 | |
9f95a23c TL |
47 | .PHONY: lib lib-release libzstd.a |
48 | lib lib-release : | |
11fdf7f2 TL |
49 | @$(MAKE) -C $(ZSTDDIR) $@ |
50 | ||
9f95a23c TL |
51 | .PHONY: zstd zstd-release |
52 | zstd zstd-release: | |
7c673cae FG |
53 | @$(MAKE) -C $(PRGDIR) $@ |
54 | cp $(PRGDIR)/zstd$(EXT) . | |
55 | ||
11fdf7f2 TL |
56 | .PHONY: zstdmt |
57 | zstdmt: | |
58 | @$(MAKE) -C $(PRGDIR) $@ | |
59 | cp $(PRGDIR)/zstd$(EXT) ./zstdmt$(EXT) | |
60 | ||
7c673cae | 61 | .PHONY: zlibwrapper |
9f95a23c TL |
62 | zlibwrapper: lib |
63 | $(MAKE) -C $(ZWRAPDIR) all | |
7c673cae | 64 | |
9f95a23c TL |
65 | ## test: run long-duration tests |
66 | .PHONY: test | |
67 | DEBUGLEVEL ?= 1 | |
68 | test: MOREFLAGS += -g -DDEBUGLEVEL=$(DEBUGLEVEL) -Werror | |
69 | test: | |
70 | MOREFLAGS="$(MOREFLAGS)" $(MAKE) -j -C $(PRGDIR) allVariants | |
7c673cae FG |
71 | $(MAKE) -C $(TESTDIR) $@ |
72 | ||
9f95a23c TL |
73 | ## shortest: same as `make check` |
74 | .PHONY: shortest | |
75 | shortest: | |
76 | $(MAKE) -C $(TESTDIR) $@ | |
77 | ||
78 | ## check: run basic tests for `zstd` cli | |
79 | .PHONY: check | |
80 | check: shortest | |
81 | ||
82 | ## examples: build all examples in `/examples` directory | |
11fdf7f2 | 83 | .PHONY: examples |
9f95a23c | 84 | examples: lib |
11fdf7f2 TL |
85 | CPPFLAGS=-I../lib LDFLAGS=-L../lib $(MAKE) -C examples/ all |
86 | ||
9f95a23c | 87 | ## manual: generate API documentation in html format |
11fdf7f2 TL |
88 | .PHONY: manual |
89 | manual: | |
90 | $(MAKE) -C contrib/gen_html $@ | |
91 | ||
9f95a23c TL |
92 | ## man: generate man page |
93 | .PHONY: man | |
94 | man: | |
95 | $(MAKE) -C programs $@ | |
96 | ||
97 | ## contrib: build all supported projects in `/contrib` directory | |
98 | .PHONY: contrib | |
99 | contrib: lib | |
100 | $(MAKE) -C contrib/pzstd all | |
101 | $(MAKE) -C contrib/seekable_format/examples all | |
102 | $(MAKE) -C contrib/adaptive-compression all | |
103 | $(MAKE) -C contrib/largeNbDicts all | |
104 | ||
11fdf7f2 TL |
105 | .PHONY: cleanTabs |
106 | cleanTabs: | |
107 | cd contrib; ./cleanTabs | |
108 | ||
7c673cae FG |
109 | .PHONY: clean |
110 | clean: | |
111 | @$(MAKE) -C $(ZSTDDIR) $@ > $(VOID) | |
112 | @$(MAKE) -C $(PRGDIR) $@ > $(VOID) | |
113 | @$(MAKE) -C $(TESTDIR) $@ > $(VOID) | |
114 | @$(MAKE) -C $(ZWRAPDIR) $@ > $(VOID) | |
11fdf7f2 TL |
115 | @$(MAKE) -C examples/ $@ > $(VOID) |
116 | @$(MAKE) -C contrib/gen_html $@ > $(VOID) | |
9f95a23c TL |
117 | @$(MAKE) -C contrib/pzstd $@ > $(VOID) |
118 | @$(MAKE) -C contrib/seekable_format/examples $@ > $(VOID) | |
119 | @$(MAKE) -C contrib/adaptive-compression $@ > $(VOID) | |
120 | @$(MAKE) -C contrib/largeNbDicts $@ > $(VOID) | |
11fdf7f2 TL |
121 | @$(RM) zstd$(EXT) zstdmt$(EXT) tmp* |
122 | @$(RM) -r lz4 | |
7c673cae FG |
123 | @echo Cleaning completed |
124 | ||
7c673cae | 125 | #------------------------------------------------------------------------------ |
9f95a23c | 126 | # make install is validated only for Linux, macOS, Hurd and some BSD targets |
7c673cae | 127 | #------------------------------------------------------------------------------ |
9f95a23c | 128 | ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD DragonFly NetBSD MSYS_NT Haiku)) |
11fdf7f2 | 129 | |
7c673cae | 130 | HOST_OS = POSIX |
9f95a23c | 131 | CMAKE_PARAMS = -DZSTD_BUILD_CONTRIB:BOOL=ON -DZSTD_BUILD_STATIC:BOOL=ON -DZSTD_BUILD_TESTS:BOOL=ON -DZSTD_ZLIB_SUPPORT:BOOL=ON -DZSTD_LZMA_SUPPORT:BOOL=ON -DCMAKE_BUILD_TYPE=Release |
11fdf7f2 | 132 | |
9f95a23c TL |
133 | HAVE_COLORNEVER = $(shell echo a | egrep --color=never a > /dev/null 2> /dev/null && echo 1 || echo 0) |
134 | EGREP_OPTIONS ?= | |
135 | ifeq ($HAVE_COLORNEVER, 1) | |
136 | EGREP_OPTIONS += --color=never | |
137 | endif | |
138 | EGREP = egrep $(EGREP_OPTIONS) | |
139 | ||
140 | # Print a two column output of targets and their description. To add a target description, put a | |
141 | # comment in the Makefile with the format "## <TARGET>: <DESCRIPTION>". For example: | |
142 | # | |
143 | ## list: Print all targets and their descriptions (if provided) | |
11fdf7f2 TL |
144 | .PHONY: list |
145 | list: | |
9f95a23c TL |
146 | @TARGETS=$$($(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null \ |
147 | | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' \ | |
148 | | $(EGREP) -v -e '^[^[:alnum:]]' | sort); \ | |
149 | { \ | |
150 | printf "Target Name\tDescription\n"; \ | |
151 | printf "%0.s-" {1..16}; printf "\t"; printf "%0.s-" {1..40}; printf "\n"; \ | |
152 | for target in $$TARGETS; do \ | |
153 | line=$$($(EGREP) "^##[[:space:]]+$$target:" $(lastword $(MAKEFILE_LIST))); \ | |
154 | description=$$(echo $$line | awk '{i=index($$0,":"); print substr($$0,i+1)}' | xargs); \ | |
155 | printf "$$target\t$$description\n"; \ | |
156 | done \ | |
157 | } | column -t -s $$'\t' | |
158 | ||
159 | .PHONY: install armtest usan asan uasan | |
7c673cae FG |
160 | install: |
161 | @$(MAKE) -C $(ZSTDDIR) $@ | |
162 | @$(MAKE) -C $(PRGDIR) $@ | |
163 | ||
11fdf7f2 | 164 | .PHONY: uninstall |
7c673cae FG |
165 | uninstall: |
166 | @$(MAKE) -C $(ZSTDDIR) $@ | |
167 | @$(MAKE) -C $(PRGDIR) $@ | |
168 | ||
11fdf7f2 | 169 | .PHONY: travis-install |
7c673cae FG |
170 | travis-install: |
171 | $(MAKE) install PREFIX=~/install_test_dir | |
172 | ||
11fdf7f2 TL |
173 | .PHONY: gcc5build |
174 | gcc5build: clean | |
175 | gcc-5 -v | |
176 | CC=gcc-5 $(MAKE) all MOREFLAGS="-Werror" | |
177 | ||
178 | .PHONY: gcc6build | |
179 | gcc6build: clean | |
180 | gcc-6 -v | |
181 | CC=gcc-6 $(MAKE) all MOREFLAGS="-Werror" | |
182 | ||
183 | .PHONY: gcc7build | |
184 | gcc7build: clean | |
185 | gcc-7 -v | |
186 | CC=gcc-7 $(MAKE) all MOREFLAGS="-Werror" | |
187 | ||
188 | .PHONY: clangbuild | |
189 | clangbuild: clean | |
190 | clang -v | |
9f95a23c | 191 | CXX=clang++ CC=clang CFLAGS="-Werror -Wconversion -Wno-sign-conversion -Wdocumentation" $(MAKE) all |
11fdf7f2 TL |
192 | |
193 | m32build: clean | |
194 | gcc -v | |
195 | $(MAKE) all32 | |
196 | ||
197 | armbuild: clean | |
198 | CC=arm-linux-gnueabi-gcc CFLAGS="-Werror" $(MAKE) allzstd | |
199 | ||
200 | aarch64build: clean | |
201 | CC=aarch64-linux-gnu-gcc CFLAGS="-Werror" $(MAKE) allzstd | |
202 | ||
203 | ppcbuild: clean | |
9f95a23c | 204 | CC=powerpc-linux-gnu-gcc CFLAGS="-m32 -Wno-attributes -Werror" $(MAKE) allzstd |
11fdf7f2 TL |
205 | |
206 | ppc64build: clean | |
207 | CC=powerpc-linux-gnu-gcc CFLAGS="-m64 -Werror" $(MAKE) allzstd | |
208 | ||
209 | armfuzz: clean | |
210 | CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static MOREFLAGS="-static" FUZZER_FLAGS=--no-big-tests $(MAKE) -C $(TESTDIR) fuzztest | |
211 | ||
212 | aarch64fuzz: clean | |
9f95a23c | 213 | ld -v |
11fdf7f2 TL |
214 | CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static MOREFLAGS="-static" FUZZER_FLAGS=--no-big-tests $(MAKE) -C $(TESTDIR) fuzztest |
215 | ||
216 | ppcfuzz: clean | |
217 | CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static MOREFLAGS="-static" FUZZER_FLAGS=--no-big-tests $(MAKE) -C $(TESTDIR) fuzztest | |
218 | ||
219 | ppc64fuzz: clean | |
220 | CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static MOREFLAGS="-m64 -static" FUZZER_FLAGS=--no-big-tests $(MAKE) -C $(TESTDIR) fuzztest | |
221 | ||
222 | .PHONY: cxxtest | |
223 | cxxtest: CXXFLAGS += -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror | |
224 | cxxtest: clean | |
225 | $(MAKE) -C $(PRGDIR) all CC="$(CXX) -Wno-deprecated" CFLAGS="$(CXXFLAGS)" # adding -Wno-deprecated to avoid clang++ warning on dealing with C files directly | |
7c673cae FG |
226 | |
227 | gcc5test: clean | |
228 | gcc-5 -v | |
229 | $(MAKE) all CC=gcc-5 MOREFLAGS="-Werror" | |
230 | ||
231 | gcc6test: clean | |
232 | gcc-6 -v | |
233 | $(MAKE) all CC=gcc-6 MOREFLAGS="-Werror" | |
234 | ||
7c673cae FG |
235 | armtest: clean |
236 | $(MAKE) -C $(TESTDIR) datagen # use native, faster | |
11fdf7f2 | 237 | $(MAKE) -C $(TESTDIR) test CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static" FUZZER_FLAGS=--no-big-tests |
7c673cae FG |
238 | |
239 | aarch64test: | |
240 | $(MAKE) -C $(TESTDIR) datagen # use native, faster | |
11fdf7f2 | 241 | $(MAKE) -C $(TESTDIR) test CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static ZSTDRTTEST= MOREFLAGS="-Werror -static" FUZZER_FLAGS=--no-big-tests |
7c673cae FG |
242 | |
243 | ppctest: clean | |
244 | $(MAKE) -C $(TESTDIR) datagen # use native, faster | |
11fdf7f2 | 245 | $(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static ZSTDRTTEST= MOREFLAGS="-Werror -Wno-attributes -static" FUZZER_FLAGS=--no-big-tests |
7c673cae FG |
246 | |
247 | ppc64test: clean | |
248 | $(MAKE) -C $(TESTDIR) datagen # use native, faster | |
11fdf7f2 TL |
249 | $(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static ZSTDRTTEST= MOREFLAGS="-m64 -static" FUZZER_FLAGS=--no-big-tests |
250 | ||
251 | arm-ppc-compilation: | |
252 | $(MAKE) -C $(PRGDIR) clean zstd CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static" | |
253 | $(MAKE) -C $(PRGDIR) clean zstd CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static ZSTDRTTEST= MOREFLAGS="-Werror -static" | |
254 | $(MAKE) -C $(PRGDIR) clean zstd CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static ZSTDRTTEST= MOREFLAGS="-Werror -Wno-attributes -static" | |
255 | $(MAKE) -C $(PRGDIR) clean zstd CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static ZSTDRTTEST= MOREFLAGS="-m64 -static" | |
256 | ||
257 | regressiontest: | |
258 | $(MAKE) -C $(FUZZDIR) regressiontest | |
259 | ||
260 | uasanregressiontest: | |
261 | $(MAKE) -C $(FUZZDIR) regressiontest CC=clang CXX=clang++ CFLAGS="-O3 -fsanitize=address,undefined" CXXFLAGS="-O3 -fsanitize=address,undefined" | |
262 | ||
263 | msanregressiontest: | |
264 | $(MAKE) -C $(FUZZDIR) regressiontest CC=clang CXX=clang++ CFLAGS="-O3 -fsanitize=memory" CXXFLAGS="-O3 -fsanitize=memory" | |
265 | ||
266 | # run UBsan with -fsanitize-recover=signed-integer-overflow | |
267 | # due to a bug in UBsan when doing pointer subtraction | |
268 | # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63303 | |
7c673cae FG |
269 | |
270 | usan: clean | |
9f95a23c | 271 | $(MAKE) test CC=clang MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize-recover=signed-integer-overflow -fsanitize=undefined -Werror" |
7c673cae FG |
272 | |
273 | asan: clean | |
9f95a23c | 274 | $(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=address -Werror" |
7c673cae | 275 | |
11fdf7f2 | 276 | asan-%: clean |
9f95a23c | 277 | LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize=address -Werror" $(MAKE) -C $(TESTDIR) $* |
11fdf7f2 | 278 | |
7c673cae | 279 | msan: clean |
9f95a23c | 280 | $(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=memory -fno-omit-frame-pointer -Werror" HAVE_LZMA=0 # datagen.c fails this test for no obvious reason |
11fdf7f2 TL |
281 | |
282 | msan-%: clean | |
9f95a23c | 283 | LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize=memory -fno-omit-frame-pointer -Werror" FUZZER_FLAGS=--no-big-tests $(MAKE) -C $(TESTDIR) HAVE_LZMA=0 $* |
7c673cae FG |
284 | |
285 | asan32: clean | |
286 | $(MAKE) -C $(TESTDIR) test32 CC=clang MOREFLAGS="-g -fsanitize=address" | |
287 | ||
288 | uasan: clean | |
9f95a23c | 289 | $(MAKE) test CC=clang MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize-recover=signed-integer-overflow -fsanitize=address,undefined -Werror" |
11fdf7f2 TL |
290 | |
291 | uasan-%: clean | |
9f95a23c | 292 | LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize-recover=signed-integer-overflow -fsanitize=address,undefined -Werror" $(MAKE) -C $(TESTDIR) $* |
11fdf7f2 TL |
293 | |
294 | tsan-%: clean | |
9f95a23c | 295 | LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize=thread -Werror" $(MAKE) -C $(TESTDIR) $* FUZZER_FLAGS=--no-big-tests |
11fdf7f2 TL |
296 | |
297 | apt-install: | |
298 | sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install $(APT_PACKAGES) | |
299 | ||
300 | apt-add-repo: | |
301 | sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test | |
302 | sudo apt-get update -y -qq | |
303 | ||
304 | ppcinstall: | |
305 | APT_PACKAGES="qemu-system-ppc qemu-user-static gcc-powerpc-linux-gnu" $(MAKE) apt-install | |
306 | ||
307 | arminstall: | |
308 | APT_PACKAGES="qemu-system-arm qemu-user-static gcc-arm-linux-gnueabi libc6-dev-armel-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross" $(MAKE) apt-install | |
309 | ||
310 | valgrindinstall: | |
311 | APT_PACKAGES="valgrind" $(MAKE) apt-install | |
312 | ||
313 | libc6install: | |
314 | APT_PACKAGES="libc6-dev-i386 gcc-multilib" $(MAKE) apt-install | |
315 | ||
316 | gcc6install: apt-add-repo | |
317 | APT_PACKAGES="libc6-dev-i386 gcc-multilib gcc-6 gcc-6-multilib" $(MAKE) apt-install | |
318 | ||
9f95a23c TL |
319 | gcc7install: apt-add-repo |
320 | APT_PACKAGES="libc6-dev-i386 gcc-multilib gcc-7 gcc-7-multilib" $(MAKE) apt-install | |
321 | ||
322 | gcc8install: apt-add-repo | |
323 | APT_PACKAGES="libc6-dev-i386 gcc-multilib gcc-8 gcc-8-multilib" $(MAKE) apt-install | |
324 | ||
11fdf7f2 TL |
325 | gpp6install: apt-add-repo |
326 | APT_PACKAGES="libc6-dev-i386 g++-multilib gcc-6 g++-6 g++-6-multilib" $(MAKE) apt-install | |
327 | ||
328 | clang38install: | |
329 | APT_PACKAGES="clang-3.8" $(MAKE) apt-install | |
330 | ||
331 | # Ubuntu 14.04 ships a too-old lz4 | |
332 | lz4install: | |
333 | [ -e lz4 ] || git clone https://github.com/lz4/lz4 && sudo $(MAKE) -C lz4 install | |
7c673cae FG |
334 | |
335 | endif | |
336 | ||
337 | ||
338 | ifneq (,$(filter MSYS%,$(shell uname))) | |
339 | HOST_OS = MSYS | |
11fdf7f2 | 340 | CMAKE_PARAMS = -G"MSYS Makefiles" -DZSTD_MULTITHREAD_SUPPORT:BOOL=OFF -DZSTD_BUILD_STATIC:BOOL=ON -DZSTD_BUILD_TESTS:BOOL=ON |
7c673cae FG |
341 | endif |
342 | ||
343 | ||
344 | #------------------------------------------------------------------------ | |
11fdf7f2 | 345 | # target specific tests |
7c673cae FG |
346 | #------------------------------------------------------------------------ |
347 | ifneq (,$(filter $(HOST_OS),MSYS POSIX)) | |
11fdf7f2 | 348 | cmakebuild: |
7c673cae FG |
349 | cmake --version |
350 | $(RM) -r $(BUILDIR)/cmake/build | |
351 | mkdir $(BUILDIR)/cmake/build | |
11fdf7f2 | 352 | cd $(BUILDIR)/cmake/build ; cmake -DCMAKE_INSTALL_PREFIX:PATH=~/install_test_dir $(CMAKE_PARAMS) .. ; $(MAKE) install ; $(MAKE) uninstall |
7c673cae | 353 | |
11fdf7f2 TL |
354 | c90build: clean |
355 | $(CC) -v | |
9f95a23c | 356 | CFLAGS="-std=c90 -Werror" $(MAKE) allmost # will fail, due to missing support for `long long` |
7c673cae | 357 | |
11fdf7f2 TL |
358 | gnu90build: clean |
359 | $(CC) -v | |
9f95a23c | 360 | CFLAGS="-std=gnu90 -Werror" $(MAKE) allmost |
7c673cae | 361 | |
11fdf7f2 TL |
362 | c99build: clean |
363 | $(CC) -v | |
9f95a23c | 364 | CFLAGS="-std=c99 -Werror" $(MAKE) allmost |
7c673cae | 365 | |
11fdf7f2 TL |
366 | gnu99build: clean |
367 | $(CC) -v | |
9f95a23c | 368 | CFLAGS="-std=gnu99 -Werror" $(MAKE) allmost |
7c673cae | 369 | |
11fdf7f2 TL |
370 | c11build: clean |
371 | $(CC) -v | |
9f95a23c | 372 | CFLAGS="-std=c11 -Werror" $(MAKE) allmost |
7c673cae | 373 | |
11fdf7f2 TL |
374 | bmix64build: clean |
375 | $(CC) -v | |
7c673cae FG |
376 | CFLAGS="-O3 -mbmi -Werror" $(MAKE) -C $(TESTDIR) test |
377 | ||
11fdf7f2 TL |
378 | bmix32build: clean |
379 | $(CC) -v | |
7c673cae FG |
380 | CFLAGS="-O3 -mbmi -mx32 -Werror" $(MAKE) -C $(TESTDIR) test |
381 | ||
11fdf7f2 TL |
382 | bmi32build: clean |
383 | $(CC) -v | |
7c673cae FG |
384 | CFLAGS="-O3 -mbmi -m32 -Werror" $(MAKE) -C $(TESTDIR) test |
385 | ||
9f95a23c TL |
386 | # static analyzer test uses clang's scan-build |
387 | # does not analyze zlibWrapper, due to detected issues in zlib source code | |
388 | staticAnalyze: SCANBUILD ?= scan-build | |
389 | staticAnalyze: | |
11fdf7f2 | 390 | $(CC) -v |
9f95a23c | 391 | CC=$(CC) CPPFLAGS=-g $(SCANBUILD) --status-bugs -v $(MAKE) allzstd examples contrib |
7c673cae | 392 | endif |