1*01826a49SYabin Cui# ################################################################ 2*01826a49SYabin Cui# Copyright (c) Meta Platforms, Inc. and affiliates. 3*01826a49SYabin Cui# All rights reserved. 4*01826a49SYabin Cui# 5*01826a49SYabin Cui# This source code is licensed under both the BSD-style license (found in the 6*01826a49SYabin Cui# LICENSE file in the root directory of this source tree) and the GPLv2 (found 7*01826a49SYabin Cui# in the COPYING file in the root directory of this source tree). 8*01826a49SYabin Cui# You may select, at your option, one of the above-listed licenses. 9*01826a49SYabin Cui# ################################################################ 10*01826a49SYabin Cui 11*01826a49SYabin CuiVOID := /dev/null 12*01826a49SYabin CuiZSTDDIR := ../include 13*01826a49SYabin CuiLIBDIR := ../static 14*01826a49SYabin CuiDLLDIR := ../dll 15*01826a49SYabin Cui 16*01826a49SYabin CuiCFLAGS ?= -O3 # can select custom flags. For example : CFLAGS="-O2 -g" make 17*01826a49SYabin CuiCFLAGS += -Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow -Wswitch-enum \ 18*01826a49SYabin Cui -Wdeclaration-after-statement -Wstrict-prototypes \ 19*01826a49SYabin Cui -Wpointer-arith -Wstrict-aliasing=1 20*01826a49SYabin CuiCFLAGS += $(MOREFLAGS) 21*01826a49SYabin CuiCPPFLAGS:= -I$(ZSTDDIR) -DXXH_NAMESPACE=ZSTD_ 22*01826a49SYabin CuiFLAGS := $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) 23*01826a49SYabin Cui 24*01826a49SYabin Cui 25*01826a49SYabin Cui# Define *.exe as extension for Windows systems 26*01826a49SYabin Cuiifneq (,$(filter Windows%,$(OS))) 27*01826a49SYabin CuiEXT =.exe 28*01826a49SYabin Cuielse 29*01826a49SYabin CuiEXT = 30*01826a49SYabin Cuiendif 31*01826a49SYabin Cui 32*01826a49SYabin Cui.PHONY: default fullbench-dll fullbench-lib 33*01826a49SYabin Cui 34*01826a49SYabin Cui 35*01826a49SYabin Cuidefault: all 36*01826a49SYabin Cui 37*01826a49SYabin Cuiall: fullbench-dll fullbench-lib 38*01826a49SYabin Cui 39*01826a49SYabin Cui 40*01826a49SYabin Cuifullbench-lib: fullbench.c datagen.c 41*01826a49SYabin Cui $(CC) $(FLAGS) $^ -o $@$(EXT) $(LIBDIR)/libzstd_static.lib 42*01826a49SYabin Cui 43*01826a49SYabin Cuifullbench-dll: fullbench.c datagen.c 44*01826a49SYabin Cui $(CC) $(FLAGS) $^ -o $@$(EXT) -DZSTD_DLL_IMPORT=1 $(DLLDIR)/libzstd.dll 45*01826a49SYabin Cui 46*01826a49SYabin Cuiclean: 47*01826a49SYabin Cui @$(RM) fullbench-dll$(EXT) fullbench-lib$(EXT) \ 48*01826a49SYabin Cui @echo Cleaning completed 49