1# ################################################################ 2# Copyright (c) Yann Collet, Meta Platforms, Inc. 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 10PROGDIR = ../../programs 11LIBDIR = ../../lib 12 13LIBZSTD = $(LIBDIR)/libzstd.a 14 15CPPFLAGS+= -I$(LIBDIR) -I$(LIBDIR)/compress -I$(LIBDIR)/common 16 17CFLAGS ?= -O3 18CFLAGS += -std=gnu99 19DEBUGFLAGS= -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 24CFLAGS += $(DEBUGFLAGS) $(MOREFLAGS) 25 26default: externalSequenceProducer 27 28all: externalSequenceProducer 29 30externalSequenceProducer: sequence_producer.c main.c $(LIBZSTD) 31 $(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@ 32 33.PHONY: $(LIBZSTD) 34$(LIBZSTD): 35 $(MAKE) -C $(LIBDIR) libzstd.a CFLAGS="$(CFLAGS)" 36 37clean: 38 $(RM) *.o 39 $(MAKE) -C $(LIBDIR) clean > /dev/null 40 $(RM) externalSequenceProducer 41