Home | History | Annotate | Line # | Download | only in seqBench
      1 # ################################################################
      2 # Copyright (c) Meta Platforms, Inc. and affiliates.
      3 # All rights reserved.
      4 #
      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).
      8 # ################################################################
      9 
     10 PROGDIR = ../../programs
     11 LIBDIR  = ../../lib
     12 
     13 LIBZSTD = $(LIBDIR)/libzstd.a
     14 
     15 CPPFLAGS+= -I$(LIBDIR) -I$(LIBDIR)/common -I$(LIBDIR)/dictBuilder -I$(PROGDIR)
     16 
     17 CFLAGS  ?= -O3 -g
     18 CFLAGS  += -std=gnu99
     19 DEBUGFLAGS= -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \
     20             -Wstrict-aliasing=1 -Wswitch-enum \
     21             -Wstrict-prototypes -Wundef -Wpointer-arith \
     22             -Wvla -Wformat=2 -Winit-self -Wfloat-equal -Wwrite-strings \
     23             -Wredundant-decls
     24 CFLAGS  += $(DEBUGFLAGS) $(MOREFLAGS)
     25 
     26 
     27 default: seqBench
     28 
     29 all : seqBench
     30 
     31 seqBench: util.o timefn.o benchfn.o datagen.o xxhash.o seqBench.c $(LIBZSTD)
     32 	$(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
     33 
     34 .PHONY: $(LIBZSTD)
     35 $(LIBZSTD):
     36 	$(MAKE) -C $(LIBDIR) libzstd.a CFLAGS="$(CFLAGS)"
     37 
     38 benchfn.o: $(PROGDIR)/benchfn.c
     39 	$(CC) $(CPPFLAGS) $(CFLAGS) $^ -c
     40 
     41 timefn.o: $(PROGDIR)/timefn.c
     42 	$(CC) $(CPPFLAGS) $(CFLAGS) $^ -c
     43 
     44 datagen.o: $(PROGDIR)/datagen.c
     45 	$(CC) $(CPPFLAGS) $(CFLAGS) $^ -c
     46 
     47 util.o: $(PROGDIR)/util.c
     48 	$(CC) $(CPPFLAGS) $(CFLAGS) $^ -c
     49 
     50 
     51 xxhash.o : $(LIBDIR)/common/xxhash.c
     52 	$(CC) $(CPPFLAGS) $(CFLAGS) $^ -c
     53 
     54 
     55 clean:
     56 	$(RM) *.o
     57 	$(MAKE) -C $(LIBDIR) clean > /dev/null
     58 	$(RM) seqBench
     59