19cbefe25SConrad Meyer# ################################################################ 25ff13fbcSAllan Jude# Copyright (c) Yann Collet, Facebook, Inc. 39cbefe25SConrad Meyer# All rights reserved. 49cbefe25SConrad Meyer# 59cbefe25SConrad Meyer# This source code is licensed under both the BSD-style license (found in the 69cbefe25SConrad Meyer# LICENSE file in the root directory of this source tree) and the GPLv2 (found 79cbefe25SConrad Meyer# in the COPYING file in the root directory of this source tree). 837f1f268SConrad Meyer# You may select, at your option, one of the above-listed licenses. 99cbefe25SConrad Meyer# ################################################################ 109cbefe25SConrad Meyer 119cbefe25SConrad MeyerZSTD ?= zstd # note: requires zstd installation on local system 129cbefe25SConrad Meyer 139cbefe25SConrad MeyerUNAME?= $(shell uname) 149cbefe25SConrad Meyerifeq ($(UNAME), SunOS) 159cbefe25SConrad MeyerDIFF ?= gdiff 169cbefe25SConrad Meyerelse 179cbefe25SConrad MeyerDIFF ?= diff 189cbefe25SConrad Meyerendif 199cbefe25SConrad Meyer 200c16b537SWarner LoshHARNESS_FILES=*.c 210c16b537SWarner Losh 220c16b537SWarner LoshMULTITHREAD_LDFLAGS = -pthread 230c16b537SWarner LoshDEBUGFLAGS= -g -DZSTD_DEBUG=1 240c16b537SWarner LoshCPPFLAGS += -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(ZSTDDIR)/compress \ 250c16b537SWarner Losh -I$(ZSTDDIR)/dictBuilder -I$(ZSTDDIR)/deprecated -I$(PRGDIR) 269cbefe25SConrad MeyerCFLAGS ?= -O2 270c16b537SWarner LoshCFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \ 289cbefe25SConrad Meyer -Wstrict-aliasing=1 -Wswitch-enum \ 299cbefe25SConrad Meyer -Wredundant-decls -Wstrict-prototypes -Wundef \ 300c16b537SWarner Losh -Wvla -Wformat=2 -Winit-self -Wfloat-equal -Wwrite-strings \ 319cbefe25SConrad Meyer -std=c99 320c16b537SWarner LoshCFLAGS += $(DEBUGFLAGS) 330c16b537SWarner LoshCFLAGS += $(MOREFLAGS) 340c16b537SWarner LoshFLAGS = $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(MULTITHREAD_LDFLAGS) 350c16b537SWarner Losh 360c16b537SWarner Loshharness: $(HARNESS_FILES) 370c16b537SWarner Losh $(CC) $(FLAGS) $^ -o $@ 380c16b537SWarner Losh 390c16b537SWarner Loshclean: 4037f1f268SConrad Meyer @$(RM) harness *.o 419cbefe25SConrad Meyer @$(RM) -rf harness.dSYM # MacOS specific 420c16b537SWarner Losh 430c16b537SWarner Loshtest: harness 449cbefe25SConrad Meyer # 459cbefe25SConrad Meyer # Testing single-file decompression with educational decoder 469cbefe25SConrad Meyer # 479cbefe25SConrad Meyer @$(ZSTD) -f README.md -o tmp.zst 480c16b537SWarner Losh @./harness tmp.zst tmp 499cbefe25SConrad Meyer @$(DIFF) -s tmp README.md 509cbefe25SConrad Meyer @$(RM) tmp* 519cbefe25SConrad Meyer # 529cbefe25SConrad Meyer # Testing dictionary decompression with education decoder 539cbefe25SConrad Meyer # 549cbefe25SConrad Meyer # note : files are presented multiple for training, to reach minimum threshold 559cbefe25SConrad Meyer @$(ZSTD) --train harness.c zstd_decompress.c zstd_decompress.h README.md \ 569cbefe25SConrad Meyer harness.c zstd_decompress.c zstd_decompress.h README.md \ 579cbefe25SConrad Meyer harness.c zstd_decompress.c zstd_decompress.h README.md \ 589cbefe25SConrad Meyer -o dictionary 599cbefe25SConrad Meyer @$(ZSTD) -f README.md -D dictionary -o tmp.zst 600c16b537SWarner Losh @./harness tmp.zst tmp dictionary 619cbefe25SConrad Meyer @$(DIFF) -s tmp README.md 629cbefe25SConrad Meyer @$(RM) tmp* dictionary 63