-
Notifications
You must be signed in to change notification settings - Fork 222
/
Copy pathpaths.mk
111 lines (96 loc) · 3.41 KB
/
paths.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#-------------------------------------------------------------------------------
# Copyright (C) 2014-2015 Freescale Semiconductor, Inc.
# Copyright 2016-2021 NXP
# All Rights Reserved.
#
# THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
# SHALL FREESCALE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
# OF SUCH DAMAGE.
#-------------------------------------------------------------------------------
#-----------------------------------------------
# path roots
# ----------------------------------------------
CUR_DIR := $(notdir $(CURDIR))
OUTPUT_ROOT := $(ERPC_ROOT)
TEST_ROOT := $(ERPC_ROOT)/test
ifeq "$(is_mingw)" "1"
VISUAL_STUDIO_ROOT ?= $(ERPC_ROOT)/erpcgen/VisualStudio_v14
MINGW64 ?= $(ERPC_ROOT)/mingw64
export PATH := $(MINGW64):$(MINGW64)/bin:$(PATH)
CC = gcc
CXX = g++
endif
TARGET_OUTPUT_ROOT = $(OUTPUT_ROOT)/$(DEBUG_OR_RELEASE)/$(os_name)/$(APP_NAME)
MAKE_TARGET = $(TARGET_OUTPUT_ROOT)/$(APP_NAME)
OBJS_ROOT = $(TARGET_OUTPUT_ROOT)/obj
#-----------------------------------------------
# install paths
# ----------------------------------------------
# Default install location.
PREFIX ?= /usr/local
BIN_INSTALL_DIR = $(PREFIX)/bin
LIB_INSTALL_DIR = $(PREFIX)/lib
INC_INSTALL_DIR = $(PREFIX)/include/erpc
#-----------------------------------------------
# tool paths
# ----------------------------------------------
ERPCGEN ?= $(OUTPUT_ROOT)/$(DEBUG_OR_RELEASE)/$(os_name)/erpcgen/erpcgen
LD = $(CXX)
PYTHON ?= python
ifeq "$(is_mingw)" "1"
PYTHON=$(MINGW64)/opt/bin/python3
else ifeq (, $(shell which $(PYTHON)))
PYTHON=python3
ifeq (, $(shell which $(PYTHON)))
$(error "No python found. Please install python3.")
endif
else
ifneq (3, $(shell $(PYTHON) --version | cut -c 8-8))
ifeq (, $(shell which python3))
$(error "Please install python3.")
else
PYTHON=python3
endif
endif
endif
# Tool paths. Use different paths for OS X.
ifeq "$(is_darwin)" "1"
ifndef FLEX_ROOT
FLEX_ROOT := $(shell brew --prefix flex)
endif
ifndef BISON_ROOT
BISON_ROOT := $(shell brew --prefix bison)
endif
FLEX ?= $(FLEX_ROOT)/bin/flex
BISON ?= $(BISON_ROOT)/bin/bison
else ifeq "$(is_linux)" "1"
FLEX ?= /usr/bin/flex
BISON ?= /usr/bin/bison
else ifeq "$(is_cygwin)" "1"
FLEX ?= /bin/flex
BISON ?= /bin/bison
else ifeq "$(is_mingw)" "1"
FLEX ?= $(VISUAL_STUDIO_ROOT)/win_flex.exe
BISON ?= $(VISUAL_STUDIO_ROOT)/win_bison.exe
endif
ifeq "$(is_mingw)" "1"
MAKE := $(MINGW64)/bin/mingw32-make
POWERSHELL ?= powershell
mkdirc = $(POWERSHELL) mkdir -Force
rmc = $(POWERSHELL) rm -Recurse -Force -ErrorAction Ignore
else
rmc = rm -rf
mkdirc = mkdir
endif
#-----------------------------------------------
# Debug or Release
# Release by default
#-----------------------------------------------
build ?= release