xref: /aosp_15_r20/external/zstd/lib/dll/example/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# You may select, at your option, one of the above-listed licenses.
9*01826a49SYabin Cui# ################################################################
10*01826a49SYabin Cui
11*01826a49SYabin CuiVOID    := /dev/null
12*01826a49SYabin CuiZSTDDIR  := ../include
13*01826a49SYabin CuiLIBDIR  := ../static
14*01826a49SYabin CuiDLLDIR  := ../dll
15*01826a49SYabin Cui
16*01826a49SYabin CuiCFLAGS  ?= -O3   # can select custom flags. For example : CFLAGS="-O2 -g" make
17*01826a49SYabin CuiCFLAGS  += -Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow -Wswitch-enum \
18*01826a49SYabin Cui           -Wdeclaration-after-statement -Wstrict-prototypes \
19*01826a49SYabin Cui           -Wpointer-arith -Wstrict-aliasing=1
20*01826a49SYabin CuiCFLAGS  += $(MOREFLAGS)
21*01826a49SYabin CuiCPPFLAGS:= -I$(ZSTDDIR) -DXXH_NAMESPACE=ZSTD_
22*01826a49SYabin CuiFLAGS   := $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
23*01826a49SYabin Cui
24*01826a49SYabin Cui
25*01826a49SYabin Cui# Define *.exe as extension for Windows systems
26*01826a49SYabin Cuiifneq (,$(filter Windows%,$(OS)))
27*01826a49SYabin CuiEXT =.exe
28*01826a49SYabin Cuielse
29*01826a49SYabin CuiEXT =
30*01826a49SYabin Cuiendif
31*01826a49SYabin Cui
32*01826a49SYabin Cui.PHONY: default fullbench-dll fullbench-lib
33*01826a49SYabin Cui
34*01826a49SYabin Cui
35*01826a49SYabin Cuidefault: all
36*01826a49SYabin Cui
37*01826a49SYabin Cuiall: fullbench-dll fullbench-lib
38*01826a49SYabin Cui
39*01826a49SYabin Cui
40*01826a49SYabin Cuifullbench-lib: fullbench.c datagen.c
41*01826a49SYabin Cui	$(CC) $(FLAGS) $^ -o $@$(EXT) $(LIBDIR)/libzstd_static.lib
42*01826a49SYabin Cui
43*01826a49SYabin Cuifullbench-dll: fullbench.c datagen.c
44*01826a49SYabin Cui	$(CC) $(FLAGS) $^ -o $@$(EXT) -DZSTD_DLL_IMPORT=1 $(DLLDIR)/libzstd.dll
45*01826a49SYabin Cui
46*01826a49SYabin Cuiclean:
47*01826a49SYabin Cui	@$(RM) fullbench-dll$(EXT) fullbench-lib$(EXT) \
48*01826a49SYabin Cui	@echo Cleaning completed
49