xref: /aosp_15_r20/external/lz4/Makefile.inc (revision 27162e4e17433d5aa7cb38e7b6a433a09405fc7f)
1*27162e4eSAndroid Build Coastguard Worker# ################################################################
2*27162e4eSAndroid Build Coastguard Worker# LZ4 - Makefile common definitions
3*27162e4eSAndroid Build Coastguard Worker# Copyright (C) Yann Collet 2020
4*27162e4eSAndroid Build Coastguard Worker# All rights reserved.
5*27162e4eSAndroid Build Coastguard Worker#
6*27162e4eSAndroid Build Coastguard Worker# BSD license
7*27162e4eSAndroid Build Coastguard Worker# Redistribution and use in source and binary forms, with or without modification,
8*27162e4eSAndroid Build Coastguard Worker# are permitted provided that the following conditions are met:
9*27162e4eSAndroid Build Coastguard Worker#
10*27162e4eSAndroid Build Coastguard Worker# * Redistributions of source code must retain the above copyright notice, this
11*27162e4eSAndroid Build Coastguard Worker#   list of conditions and the following disclaimer.
12*27162e4eSAndroid Build Coastguard Worker#
13*27162e4eSAndroid Build Coastguard Worker# * Redistributions in binary form must reproduce the above copyright notice, this
14*27162e4eSAndroid Build Coastguard Worker#   list of conditions and the following disclaimer in the documentation and/or
15*27162e4eSAndroid Build Coastguard Worker#   other materials provided with the distribution.
16*27162e4eSAndroid Build Coastguard Worker#
17*27162e4eSAndroid Build Coastguard Worker# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18*27162e4eSAndroid Build Coastguard Worker# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19*27162e4eSAndroid Build Coastguard Worker# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20*27162e4eSAndroid Build Coastguard Worker# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21*27162e4eSAndroid Build Coastguard Worker# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22*27162e4eSAndroid Build Coastguard Worker# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23*27162e4eSAndroid Build Coastguard Worker# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24*27162e4eSAndroid Build Coastguard Worker# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25*27162e4eSAndroid Build Coastguard Worker# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26*27162e4eSAndroid Build Coastguard Worker# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27*27162e4eSAndroid Build Coastguard Worker#
28*27162e4eSAndroid Build Coastguard Worker# You can contact the author at :
29*27162e4eSAndroid Build Coastguard Worker#  - LZ4 source repository : https://github.com/lz4/lz4
30*27162e4eSAndroid Build Coastguard Worker#  - LZ4 forum froup : https://groups.google.com/forum/#!forum/lz4c
31*27162e4eSAndroid Build Coastguard Worker# ################################################################
32*27162e4eSAndroid Build Coastguard Worker
33*27162e4eSAndroid Build Coastguard WorkerUNAME ?= uname
34*27162e4eSAndroid Build Coastguard Worker
35*27162e4eSAndroid Build Coastguard WorkerTARGET_OS ?= $(shell $(UNAME))
36*27162e4eSAndroid Build Coastguard Workerifeq ($(TARGET_OS),)
37*27162e4eSAndroid Build Coastguard Worker  TARGET_OS ?= $(OS)
38*27162e4eSAndroid Build Coastguard Workerendif
39*27162e4eSAndroid Build Coastguard Worker
40*27162e4eSAndroid Build Coastguard Workerifneq (,$(filter Windows%,$(TARGET_OS)))
41*27162e4eSAndroid Build Coastguard WorkerLIBLZ4_NAME = liblz4-$(LIBVER_MAJOR)
42*27162e4eSAndroid Build Coastguard WorkerLIBLZ4_EXP  = liblz4.lib
43*27162e4eSAndroid Build Coastguard WorkerWINBASED    = yes
44*27162e4eSAndroid Build Coastguard Workerelse
45*27162e4eSAndroid Build Coastguard WorkerLIBLZ4_EXP  = liblz4.dll.a
46*27162e4eSAndroid Build Coastguard Worker  ifneq (,$(filter MINGW%,$(TARGET_OS)))
47*27162e4eSAndroid Build Coastguard WorkerLIBLZ4_NAME = liblz4
48*27162e4eSAndroid Build Coastguard WorkerWINBASED    = yes
49*27162e4eSAndroid Build Coastguard Worker  else
50*27162e4eSAndroid Build Coastguard Worker    ifneq (,$(filter MSYS%,$(TARGET_OS)))
51*27162e4eSAndroid Build Coastguard WorkerLIBLZ4_NAME = msys-lz4-$(LIBVER_MAJOR)
52*27162e4eSAndroid Build Coastguard WorkerWINBASED    = yes
53*27162e4eSAndroid Build Coastguard Worker    else
54*27162e4eSAndroid Build Coastguard Worker      ifneq (,$(filter CYGWIN%,$(TARGET_OS)))
55*27162e4eSAndroid Build Coastguard WorkerLIBLZ4_NAME = cyglz4-$(LIBVER_MAJOR)
56*27162e4eSAndroid Build Coastguard WorkerWINBASED    = yes
57*27162e4eSAndroid Build Coastguard Worker      else
58*27162e4eSAndroid Build Coastguard WorkerLIBLZ4_NAME = liblz4
59*27162e4eSAndroid Build Coastguard WorkerWINBASED    = no
60*27162e4eSAndroid Build Coastguard WorkerEXT         =
61*27162e4eSAndroid Build Coastguard Worker      endif
62*27162e4eSAndroid Build Coastguard Worker    endif
63*27162e4eSAndroid Build Coastguard Worker  endif
64*27162e4eSAndroid Build Coastguard Workerendif
65*27162e4eSAndroid Build Coastguard Worker
66*27162e4eSAndroid Build Coastguard Workerifeq ($(WINBASED),yes)
67*27162e4eSAndroid Build Coastguard WorkerEXT        = .exe
68*27162e4eSAndroid Build Coastguard WorkerWINDRES ?= windres
69*27162e4eSAndroid Build Coastguard Workerendif
70*27162e4eSAndroid Build Coastguard Worker
71*27162e4eSAndroid Build Coastguard WorkerLIBLZ4      = $(LIBLZ4_NAME).$(SHARED_EXT_VER)
72*27162e4eSAndroid Build Coastguard Worker
73*27162e4eSAndroid Build Coastguard Worker#determine if dev/nul based on host environment
74*27162e4eSAndroid Build Coastguard Workerifneq (,$(filter MINGW% MSYS% CYGWIN%,$(shell $(UNAME))))
75*27162e4eSAndroid Build Coastguard WorkerVOID := /dev/null
76*27162e4eSAndroid Build Coastguard Workerelse
77*27162e4eSAndroid Build Coastguard Worker  ifneq (,$(filter Windows%,$(OS)))
78*27162e4eSAndroid Build Coastguard WorkerVOID := nul
79*27162e4eSAndroid Build Coastguard Worker  else
80*27162e4eSAndroid Build Coastguard WorkerVOID  := /dev/null
81*27162e4eSAndroid Build Coastguard Worker  endif
82*27162e4eSAndroid Build Coastguard Workerendif
83*27162e4eSAndroid Build Coastguard Worker
84*27162e4eSAndroid Build Coastguard Workerifneq (,$(filter Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD NetBSD DragonFly SunOS Haiku MidnightBSD MINGW% CYGWIN% MSYS%,$(shell $(UNAME))))
85*27162e4eSAndroid Build Coastguard WorkerPOSIX_ENV = Yes
86*27162e4eSAndroid Build Coastguard Workerelse
87*27162e4eSAndroid Build Coastguard WorkerPOSIX_ENV = No
88*27162e4eSAndroid Build Coastguard Workerendif
89*27162e4eSAndroid Build Coastguard Worker
90*27162e4eSAndroid Build Coastguard Worker# Avoid symlinks when targeting Windows or building on a Windows host
91*27162e4eSAndroid Build Coastguard Workerifeq ($(WINBASED),yes)
92*27162e4eSAndroid Build Coastguard WorkerLN_SF = cp -p
93*27162e4eSAndroid Build Coastguard Workerelse
94*27162e4eSAndroid Build Coastguard Worker  ifneq (,$(filter MINGW% MSYS% CYGWIN%,$(shell $(UNAME))))
95*27162e4eSAndroid Build Coastguard WorkerLN_SF = cp -p
96*27162e4eSAndroid Build Coastguard Worker  else
97*27162e4eSAndroid Build Coastguard Worker    ifneq (,$(filter Windows%,$(OS)))
98*27162e4eSAndroid Build Coastguard WorkerLN_SF = cp -p
99*27162e4eSAndroid Build Coastguard Worker    else
100*27162e4eSAndroid Build Coastguard WorkerLN_SF  = ln -sf
101*27162e4eSAndroid Build Coastguard Worker    endif
102*27162e4eSAndroid Build Coastguard Worker  endif
103*27162e4eSAndroid Build Coastguard Workerendif
104*27162e4eSAndroid Build Coastguard Worker
105*27162e4eSAndroid Build Coastguard Workerifneq (,$(filter $(shell $(UNAME)),SunOS))
106*27162e4eSAndroid Build Coastguard WorkerINSTALL ?= ginstall
107*27162e4eSAndroid Build Coastguard Workerelse
108*27162e4eSAndroid Build Coastguard WorkerINSTALL ?= install
109*27162e4eSAndroid Build Coastguard Workerendif
110*27162e4eSAndroid Build Coastguard Worker
111*27162e4eSAndroid Build Coastguard WorkerINSTALL_PROGRAM ?= $(INSTALL) -m 755
112*27162e4eSAndroid Build Coastguard WorkerINSTALL_DATA    ?= $(INSTALL) -m 644
113*27162e4eSAndroid Build Coastguard WorkerMAKE_DIR        ?= $(INSTALL) -d -m 755
114