648db22b |
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 | |
10 | PROGDIR = ../../programs |
11 | LIBDIR = ../../lib |
12 | |
13 | LIBZSTD = $(LIBDIR)/libzstd.a |
14 | |
15 | CPPFLAGS+= -I$(LIBDIR) -I$(LIBDIR)/compress -I$(LIBDIR)/common |
16 | |
17 | CFLAGS ?= -O3 |
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 | default: externalSequenceProducer |
27 | |
28 | all: externalSequenceProducer |
29 | |
30 | externalSequenceProducer: 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 | |
37 | clean: |
38 | $(RM) *.o |
39 | $(MAKE) -C $(LIBDIR) clean > /dev/null |
40 | $(RM) externalSequenceProducer |