xref: /aosp_15_r20/external/zstd/contrib/seqBench/Makefile (revision 01826a4963a0d8a59bc3812d29bdf0fb76416722)
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