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