aboutsummaryrefslogtreecommitdiffstats
path: root/project/Makefile.in
blob: 49aec141a543b0b3588629930e7e468bb5bed984 (plain)
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
PROJECT:=$(strip $(subst ",,$(BR2_PROJECT)))
#"))
TARGET_HOSTNAME:=$(strip $(subst ",,$(BR2_HOSTNAME)))
#"))
BANNER:=$(strip $(subst ",,$(BR2_BANNER)))
#"))

# silent mode requested?
QUIET:=$(if $(findstring s,$(MAKEFLAGS)),-q,)

# Strip off the annoying quoting
ARCH:=$(strip $(subst ",, $(BR2_ARCH)))
#"))
WGET:=$(strip $(subst ",, $(BR2_WGET))) $(SPIDER) $(QUIET)
#"))
SVN_CO:=$(strip $(subst ",, $(BR2_SVN_CO))) $(QUIET)
#"))
SVN_UP:=$(strip $(subst ",, $(BR2_SVN_UP))) $(QUIET)
#"))
GIT:=$(strip $(subst ",, $(BR2_GIT))) $(QUIET)
#"))
ZCAT:=$(strip $(subst ",, $(BR2_ZCAT)))
#"))
BZCAT:=$(strip $(subst ",, $(BR2_BZCAT)))
#"))
TAR_OPTIONS=$(subst ",, $(BR2_TAR_OPTIONS)) -xf
#")

# Buildroot supports building out of tree similarly to the Linux kernel.
# To use, add O= to the make command line (make O=/tmp/build)
BASE_DIR:=$(shell pwd)
ifdef O
ifeq ("$(origin O)", "command line")
BASE_DIR := $(shell mkdir -p $(O) && cd $(O) && pwd)
$(if $(BASE_DIR),, $(error output directory "$(O)" does not exist))

# other packages might also support Linux-style out of tree builds
# with the O=<dir> syntax (E.G. Busybox does). As make automatically
# forwards command line variable definitions those packages get very
# confused. Fix this by telling make to not do so
MAKEOVERRIDES =
endif
endif

TOPDIR_PREFIX:=$(strip $(subst ",, $(BR2_TOPDIR_PREFIX)))_
#"))
TOPDIR_SUFFIX:=_$(strip $(subst ",, $(BR2_TOPDIR_SUFFIX)))
#"))
ifeq ($(TOPDIR_PREFIX),_)
TOPDIR_PREFIX:=
endif
ifeq ($(TOPDIR_SUFFIX),_)
TOPDIR_SUFFIX:=
endif

DL_DIR=$(strip $(subst ",, $(BR2_DL_DIR)))
#"))
ifeq ($(DL_DIR),)
DL_DIR:=$(BASE_DIR)/dl
endif

# All non-configurable packages should be built in BUILD_DIR
BUILD_DIR:=$(BASE_DIR)/$(TOPDIR_PREFIX)build_$(ARCH)$(ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)

GNU_TARGET_SUFFIX:=-$(strip $(subst ",, $(BR2_GNU_TARGET_SUFFIX)))
#"))

STAGING_DIR:=$(strip $(subst ",, $(BR2_STAGING_DIR)))
#"))

# packages compiled for the host goes here
HOST_DIR:=$(BUILD_DIR)/host_dir

# stamp (dependency) files go here
STAMP_DIR:=$(BUILD_DIR)/stamps

# All configurable packages (like Busybox,Linux etc) should be built
# in PROJECT_BUILD_DIR
PROJECT_BUILD_DIR:=$(BASE_DIR)/$(TOPDIR_PREFIX)project_build_$(ARCH)$(ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)/$(PROJECT)
BINARIES_DIR:=$(BASE_DIR)/binaries/$(PROJECT)
TARGET_DIR:=$(PROJECT_BUILD_DIR)/root

# define values for prepatched source trees for toolchains
VENDOR_SITE:=$(strip $(subst ",,$(BR2_VENDOR_SITE)))
#"))
VENDOR_SUFFIX:=$(strip $(subst ",,$(BR2_VENDOR_SUFFIX)))
#"))
VENDOR_BINUTILS_RELEASE:=$(strip $(subst ",,$(BR2_VENDOR_BINUTILS_RELEASE)))
#"))
VENDOR_GCC_RELEASE:=$(strip $(subst ",,$(BR2_VENDOR_GCC_RELEASE)))
#"))
VENDOR_UCLIBC_RELEASE:=$(strip $(subst ",,$(BR2_VENDOR_UCLIBC_RELEASE)))
#"))
VENDOR_GDB_RELEASE:=$(strip $(subst ",,$(BR2_VENDOR_GDB_RELEASE)))
#"))
VENDOR_PATCH_DIR:=$(strip $(subst ",,$(BR2_VENDOR_PATCH_DIR)))
#"))