embox

Форк
0
/
variables.mk 
87 строк · 2.7 Кб
1
#
2
# Directories.
3
#
4

5
export ROOT_DIR       := $(abspath  .)
6
export EMBOX_ROOT_DIR := $(abspath $(ROOT_DIR))
7

8
export CONF_DIR        = $(ROOT_DIR)/conf
9
export TEMPLATES_DIR   = $(ROOT_DIR)/templates
10

11
export SRC_DIR         = $(ROOT_DIR)/src
12
export THIRDPARTY_DIR  = $(ROOT_DIR)/third-party
13
export PLATFORM_DIR    = $(ROOT_DIR)/platform
14
export PROJECT_DIR     = $(ROOT_DIR)/project
15
export EXT_PROJECT_DIR = $(ROOT_DIR)/ext_project
16

17
export SUBPLATFORM_TEMPLATE_DIR  = templates/
18

19
export BUILD_DIR       = $(ROOT_DIR)/build/base
20
export EXTERNAL_BUILD_DIR  = $(ROOT_DIR)/build/extbld
21
export LOADABLE_DIR    = $(ROOT_DIR)/build/loadable
22

23
export DOC_DIR         = $(ROOT_DIR)/build/doc
24

25
export BIN_DIR         = $(BUILD_DIR)/bin
26
export OBJ_DIR         = $(BUILD_DIR)/obj
27

28
export DIST_DIR        = $(ROOT_DIR)/build
29
export DIST_BASE_DIR   = $(DIST_DIR)/base
30
export GEN_DIR         = $(DIST_BASE_DIR)/gen
31
export SRCGEN_DIR      = $(GEN_DIR)
32
export MKGEN_DIR       = $(GEN_DIR)
33
export AUTOCONF_DIR    = $(GEN_DIR)
34

35
export INCLUDE_INSTALL_DIR  = $(DIST_BASE_DIR)/include
36

37

38
export ROOTFS_DIR      = $(OBJ_DIR)/rootfs
39
export ROOTFS_IMAGE    = $(OBJ_DIR)/rootfs.cpio
40
export USER_ROOTFS_DIR = $(CONF_DIR)/rootfs
41
export DOT_DIR         = $(DOC_DIR)
42
export DOCS_OUT_DIR    = $(DOC_DIR)
43

44
export CACHE_DIR       = mk/.cache
45

46
export EMBOX_DIST_BASE_DIR := $(abspath $(DIST_BASE_DIR))
47
export EXTBLD_LIB      = $(abspath $(ROOT_DIR))/mk/extbld/lib.mk
48
export EMBOX_GCC_ENV   = $(abspath $(MKGEN_DIR))/embox_gcc_env.sh
49

50
export ANNOTATION_HANDLERS  = mk/mybuild/annotation_handlers
51

52
#
53
# Tools.
54
#
55

56
# find_tool_impl - finds an utillity to be implementation for requested tool.
57
# This should be used to select proper program on different systems, like
58
# 'awk' on linux and 'gawk' on bsd. Returns first utility found.
59
#
60
# Example: $(call find_tool_impl,AWK,gawk awk nawk mawk,awk)
61
#
62
# Args:
63
#   1. tool (uppercase label)
64
#   2. space separated list of utillity names to look at
65
#   3. default choice
66
find_tool_impl = $(shell \
67
for i in $2; do \
68
	type $$i >/dev/null 2>&1 && \
69
	echo $$i && \
70
	exit; \
71
done; \
72
printf "%s: Found no implementation for %s tool, tried: %s; taking '%s' as default\n" "$0" "$1" "$2" "$3" >&2; \
73
echo $3)
74

75
export RM     := rm -f
76
export CP     := cp
77
export MV     := mv -f
78
export PRINTF := printf
79
export MKDIR  := mkdir -p
80
export LN     := ln -s
81
export MD5    := $(if $(shell which md5sum 2>/dev/null),md5sum,md5 -q)
82
export CPIO   := $(call find_tool_impl,CPIO,gcpio gnucpio cpio,cpio)
83
export AWK    := $(call find_tool_impl,AWK,gawk awk nawk mawk,awk)
84
export TSORT  := tsort
85
export TAC    := $(if $(shell which tac 2>/dev/null),tac,tail -rq)
86
export SEQ    := seq -w
87
export ECHO   := $(shell which echo) #force using feature-rich echo instead of shell builtin
88

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.