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# ################################################################ 9*01826a49SYabin Cui 10*01826a49SYabin CuiPROGDIR = ../../programs 11*01826a49SYabin CuiLIBDIR = ../../lib 12*01826a49SYabin Cui 13*01826a49SYabin CuiLIBZSTD = $(LIBDIR)/libzstd.a 14*01826a49SYabin Cui 15*01826a49SYabin CuiCPPFLAGS+= -I$(LIBDIR) -I$(LIBDIR)/common -I$(LIBDIR)/dictBuilder -I$(PROGDIR) 16*01826a49SYabin Cui 17*01826a49SYabin CuiCFLAGS ?= -O3 -g 18*01826a49SYabin CuiCFLAGS += -std=gnu99 19*01826a49SYabin CuiDEBUGFLAGS= -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \ 20*01826a49SYabin Cui -Wstrict-aliasing=1 -Wswitch-enum \ 21*01826a49SYabin Cui -Wstrict-prototypes -Wundef -Wpointer-arith \ 22*01826a49SYabin Cui -Wvla -Wformat=2 -Winit-self -Wfloat-equal -Wwrite-strings \ 23*01826a49SYabin Cui -Wredundant-decls 24*01826a49SYabin CuiCFLAGS += $(DEBUGFLAGS) $(MOREFLAGS) 25*01826a49SYabin Cui 26*01826a49SYabin Cui 27*01826a49SYabin Cuidefault: seqBench 28*01826a49SYabin Cui 29*01826a49SYabin Cuiall : seqBench 30*01826a49SYabin Cui 31*01826a49SYabin CuiseqBench: util.o timefn.o benchfn.o datagen.o xxhash.o seqBench.c $(LIBZSTD) 32*01826a49SYabin Cui $(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@ 33*01826a49SYabin Cui 34*01826a49SYabin Cui.PHONY: $(LIBZSTD) 35*01826a49SYabin Cui$(LIBZSTD): 36*01826a49SYabin Cui $(MAKE) -C $(LIBDIR) libzstd.a CFLAGS="$(CFLAGS)" 37*01826a49SYabin Cui 38*01826a49SYabin Cuibenchfn.o: $(PROGDIR)/benchfn.c 39*01826a49SYabin Cui $(CC) $(CPPFLAGS) $(CFLAGS) $^ -c 40*01826a49SYabin Cui 41*01826a49SYabin Cuitimefn.o: $(PROGDIR)/timefn.c 42*01826a49SYabin Cui $(CC) $(CPPFLAGS) $(CFLAGS) $^ -c 43*01826a49SYabin Cui 44*01826a49SYabin Cuidatagen.o: $(PROGDIR)/datagen.c 45*01826a49SYabin Cui $(CC) $(CPPFLAGS) $(CFLAGS) $^ -c 46*01826a49SYabin Cui 47*01826a49SYabin Cuiutil.o: $(PROGDIR)/util.c 48*01826a49SYabin Cui $(CC) $(CPPFLAGS) $(CFLAGS) $^ -c 49*01826a49SYabin Cui 50*01826a49SYabin Cui 51*01826a49SYabin Cuixxhash.o : $(LIBDIR)/common/xxhash.c 52*01826a49SYabin Cui $(CC) $(CPPFLAGS) $(CFLAGS) $^ -c 53*01826a49SYabin Cui 54*01826a49SYabin Cui 55*01826a49SYabin Cuiclean: 56*01826a49SYabin Cui $(RM) *.o 57*01826a49SYabin Cui $(MAKE) -C $(LIBDIR) clean > /dev/null 58*01826a49SYabin Cui $(RM) seqBench 59