Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
FFS Gluon
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
firmware
FFS Gluon
Commits
3c7ab928
Commit
3c7ab928
authored
12 years ago
by
Matthias Schiffer
Browse files
Options
Downloads
Patches
Plain Diff
Use separate root directories for different profiles
parent
bc7c4c70
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
Makefile
+3
-4
3 additions, 4 deletions
Makefile
builder/Makefile
+26
-16
26 additions, 16 deletions
builder/Makefile
builder/rules.mk
+0
-307
0 additions, 307 deletions
builder/rules.mk
with
29 additions
and
327 deletions
Makefile
+
3
−
4
View file @
3c7ab928
...
...
@@ -16,13 +16,12 @@ null :=
space
:=
${
null
}
${
null
}
${space}
:=
${
space
}
prepared_stamp
:=
$(
GLUON_BUILDDIR
)
/prepared
prepared_stamp
:=
$(
GLUON_BUILDDIR
)
/
$(
BOARD
)
/
prepared
define
GluonProfile
image/$(1)
:
$(prepared_stamp)
$(
MAKE
)
-C
$(
GLUON_BUILDERDIR
)
image
\
PROFILE
=
"
$(
1
)
"
\
PACKAGE_DIR
=
"
$(
GLUON_OPENWRTDIR
)
/bin/
$(
BOARD
)
/packages"
\
$(
if
$(
2
)
,PACKAGES
=
"
$(
2
)
"
)
PROFILES
+=
$(
1
)
...
...
@@ -32,8 +31,8 @@ endef
include
profiles.mk
prepare
:
mkdir
-p
$(
GLUON_IMAGEDIR
)
$(
GLUON_BUILDDIR
)
echo
'src packages file:../openwrt/bin/
$(
BOARD
)
/packages'
>
$(
GLUON_BUILDDIR
)
/
opkg-
$(
BOARD
)
.conf
mkdir
-p
$(
GLUON_IMAGEDIR
)
$(
GLUON_BUILDDIR
)
/
$(
BOARD
)
echo
'src packages file:../openwrt/bin/
$(
BOARD
)
/packages'
>
$(
GLUON_BUILDDIR
)
/
$(
BOARD
)
/opkg
.conf
$(LN_S)
$(GLUON_BUILDERDIR)/feeds.conf
$(GLUON_OPENWRTDIR)/feeds.conf
$(GLUON_OPENWRTDIR)/scripts/feeds
uninstall
-a
...
...
This diff is collapsed.
Click to expand it.
builder/Makefile
+
26
−
16
View file @
3c7ab928
#
Makefile for OpenWrt
#
Greatly modified OpenWRT Image Builder Makefile
#
# Copyright (C) 2007-2010 OpenWrt.org
# Copyright (C) 2013 Project Gluon
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
...
...
@@ -24,7 +25,17 @@ ifneq ($(OPENWRT_BUILD),1)
export
OPENWRT_BUILD
endif
include
rules.mk
include
$(TOPDIR)/rules.mk
PACKAGE_DIR
:=
$(
GLUON_OPENWRTDIR
)
/bin/
$(
BOARD
)
/packages
BIN_DIR
:=
$(
GLUON_IMAGEDIR
)
/
$(
BOARD
)
/
$(
PROFILE
)
BOARD_BUILDDIR
:=
$(
GLUON_BUILDDIR
)
/
$(
BOARD
)
PROFILE_BUILDDIR
:=
$(
BOARD_BUILDDIR
)
/
$(
PROFILE
)
TMP_DIR
:=
$(
PROFILE_BUILDDIR
)
/tmp
TARGET_DIR
:=
$(
PROFILE_BUILDDIR
)
/root
include
$(INCLUDE_DIR)/debug.mk
include
$(INCLUDE_DIR)/depends.mk
...
...
@@ -37,16 +48,16 @@ include $(INCLUDE_DIR)/package-ipkg.mk
# override variables from rules.mk
OPKG
:=
\
IPKG_TMP
=
"
$(
T
OP
DIR
)
/
tmp/
ipkgtmp"
\
IPKG_TMP
=
"
$(
T
MP_
DIR
)
/ipkgtmp"
\
IPKG_INSTROOT
=
"
$(
TARGET_DIR
)
"
\
IPKG_CONF_DIR
=
"
$(
T
OP
DIR
)
/tmp
"
\
IPKG_CONF_DIR
=
"
$(
T
MP_
DIR
)
"
\
IPKG_OFFLINE_ROOT
=
"
$(
TARGET_DIR
)
"
\
$(
STAGING_DIR_HOST
)
/bin/opkg
\
-f
$(
GLUONDIR
)
/build/opkg-
$(
BOARD
)
.conf
\
-f
$(
BOARD_BUILDDIR
)
/opkg
.conf
\
--force-depends
\
--force-overwrite
\
--force-postinstall
\
--cache
$(
T
OP
DIR
)
/dl
\
--cache
$(
T
MP_
DIR
)
/dl
\
--offline-root
$(
TARGET_DIR
)
\
--add-dest
root:/
\
--add-arch
all:100
\
...
...
@@ -55,8 +66,8 @@ OPKG:= \
define
Profile
$(
eval
$(
call Profile/Default
))
$(
eval
$(
call Profile/
$(
1
)))
ifeq
($(
USER_
PROFILE),)
USER_
PROFILE
:=
$(
1
)
ifeq
($(PROFILE),)
PROFILE
:=
$(
1
)
endif
$(1)_NAME
:=
$(
NAME
)
$(1)_PACKAGES
:=
$(
PACKAGES
)
...
...
@@ -64,7 +75,7 @@ endef
include
$(INCLUDE_DIR)/target.mk
BUILD_PACKAGES
:=
$(
sort
$(
DEFAULT_PACKAGES
)
$(
USER_PACKAGES
)
$($(
USER_
PROFILE
)
_PACKAGES
)
kernel
)
BUILD_PACKAGES
:=
$(
sort
$(
DEFAULT_PACKAGES
)
$(
USER_PACKAGES
)
$($(
PROFILE
)
_PACKAGES
)
kernel
)
# "-pkgname" in the package list means remove "pkgname" from the package list
BUILD_PACKAGES
:=
$(
filter-out
$(
filter -%,
$(
BUILD_PACKAGES
))
$(
patsubst -%,%,
$(
filter -%,
$(
BUILD_PACKAGES
)))
,
$(
BUILD_PACKAGES
))
PACKAGES
:=
...
...
@@ -77,10 +88,10 @@ prepare: FORCE
$(
MAKE
)
package_index
_call_image
:
echo
'Building images for
$(
BOARD
)$(
if
$($(
USER_
PROFILE
)
_NAME
)
, -
$($(
USER_
PROFILE
)
_NAME
))
'
echo
'Building images for
$(
BOARD
)$(
if
$($(
PROFILE
)
_NAME
)
, -
$($(
PROFILE
)
_NAME
))
'
echo
'Packages:
$(
BUILD_PACKAGES
)
'
echo
rm
-rf
$(
TARGET_DIR
)
rm
-rf
$(
TARGET_DIR
)
$(
BIN_DIR
)
$(
TMP_DIR
)
mkdir
-p
$(
TARGET_DIR
)
$(
BIN_DIR
)
$(
TMP_DIR
)
$(
TARGET_DIR
)
/tmp
$(
OPKG
)
update
$(
MAKE
)
package_install
...
...
@@ -140,16 +151,15 @@ build_image: FORCE
@
echo
Building images...
$(
call Image/mkfs/prepare
)
$(
NO_TRACE_MAKE
)
-C
$(
TOPDIR
)
/target/linux/
$(
BOARD
)
/image
install
TARGET_BUILD
=
1
IB
=
1
IMG_PREFIX
=
"gluon-
$(
BOARD
)$(
if
$(
SUBTARGET
)
,-
$(
SUBTARGET
))
"
\
$(
if
$(
USER_
PROFILE
)
,
PROFILE
=
"
$(
USER_PROFILE
)
"
)
PROFILE
=
"
$(
PROFILE
)
"
TARGET_DIR
=
"
$(
TARGET_DIR
)
"
BIN_DIR
=
"
$(
BIN_DIR
)
"
TMP_DIR
=
"
$(
TMP_DIR
)
"
image
:
(
unset
PROFILE FILES PACKAGES MAKEFLAGS
;
\
$(
MAKE
)
_call_image
\
$(
if
$(
PROFILE
)
,
USER_
PROFILE
=
"
$(
PROFILE
)
"
)
\
$(
if
$(
PROFILE
)
,PROFILE
=
"
$(
PROFILE
)
"
)
\
$(
if
$(
FILES
)
,USER_FILES
=
"
$(
FILES
)
"
)
\
$(
if
$(
PACKAGES
)
,USER_PACKAGES
=
"
$(
PACKAGES
)
"
)
\
BIN_DIR
=
"
$(
GLUON_IMAGEDIR
)
"
\
$(
if
$(
PACKAGE_DIR
)
,PACKAGE_DIR
=
"
$(
PACKAGE_DIR
)
"
)
)
)
.SILENT
:
kernel
image
.SILENT
:
prepare
image
This diff is collapsed.
Click to expand it.
builder/rules.mk
deleted
100644 → 0
+
0
−
307
View file @
bc7c4c70
#
# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
ifneq
($(__rules_inc),1)
__rules_inc
=
1
ifeq
($(DUMP),)
-include
$(TOPDIR)/.config
endif
include
$(TOPDIR)/include/debug.mk
include
$(TOPDIR)/include/verbose.mk
TMP_DIR
:=
$(
TOPDIR
)
/tmp
GREP_OPTIONS
=
export
GREP_OPTIONS
qstrip
=
$(
strip
$(
subst
",,
$(
1
)))
#"))
empty
:=
space
:=
$(
empty
)
$(
empty
)
merge
=
$(
subst
$(
space
)
,,
$(
1
))
confvar
=
$(
call merge,
$(
foreach v,
$(
1
)
,
$(
if
$($(
v
))
,y,n
)))
strip_last
=
$(
patsubst %.
$(
lastword
$(
subst .,
$(
space
)
,
$(
1
)))
,%,
$(
1
))
define
sep
endef
_SINGLE
=
export MAKEFLAGS=
$(
space
)
;
CFLAGS
:=
ARCH
:=
$(
subst i486,i386,
$(
subst i586,i386,
$(
subst i686,i386,
$(
call qstrip,
$(
CONFIG_ARCH
)))))
ARCH_PACKAGES
:=
$(
call qstrip,
$(
CONFIG_TARGET_ARCH_PACKAGES
))
BOARD
:=
$(
call qstrip,
$(
CONFIG_TARGET_BOARD
))
TARGET_OPTIMIZATION
:=
$(
call qstrip,
$(
CONFIG_TARGET_OPTIMIZATION
))
TARGET_SUFFIX
=
$(
call qstrip,
$(
CONFIG_TARGET_SUFFIX
))
BUILD_SUFFIX
:=
$(
call qstrip,
$(
CONFIG_BUILD_SUFFIX
))
SUBDIR
:=
$(
patsubst
$(
TOPDIR
)
/%,%,
${
CURDIR
})
export
SHELL
:=
/usr/bin/env bash
OPTIMIZE_FOR_CPU
=
$(
subst i386,i486,
$(
ARCH
))
ifeq
($(ARCH),powerpc)
FPIC
:=
-fPIC
else
FPIC
:=
-fpic
endif
HOST_FPIC
:=
-fPIC
ARCH_SUFFIX
:=
GCC_ARCH
:=
ifneq
($(filter -march=armv%,$(TARGET_OPTIMIZATION)),)
ARCH_SUFFIX
:=
_
$(
patsubst -march=arm%,%,
$(
filter -march=armv%,
$(
TARGET_OPTIMIZATION
)))
GCC_ARCH
:=
$(
patsubst -march=%,%,
$(
filter -march=armv%,
$(
TARGET_OPTIMIZATION
)))
endif
ifneq
($(findstring -mips32r2,$(TARGET_OPTIMIZATION)),)
ARCH_SUFFIX
:=
_r2
endif
ifdef
CONFIG_HAS_SPE_FPU
TARGET_SUFFIX
:=
$(
TARGET_SUFFIX
)
spe
endif
DL_DIR
:=
$(
if
$(
call qstrip,
$(
CONFIG_DOWNLOAD_FOLDER
))
,
$(
call qstrip,
$(
CONFIG_DOWNLOAD_FOLDER
))
,
$(
TOPDIR
)
/dl
)
BIN_DIR
:=
$(
TOPDIR
)
/bin/
$(
BOARD
)
INCLUDE_DIR
:=
$(
TOPDIR
)
/include
SCRIPT_DIR
:=
$(
TOPDIR
)
/scripts
BUILD_DIR_BASE
:=
$(
TOPDIR
)
/build_dir
BUILD_DIR_HOST
:=
$(
BUILD_DIR_BASE
)
/host
STAGING_DIR_HOST
:=
$(
TOPDIR
)
/staging_dir/host
ifeq
($(CONFIG_EXTERNAL_TOOLCHAIN),)
GCCV
:=
$(
call qstrip,
$(
CONFIG_GCC_VERSION
))
LIBC
:=
$(
call qstrip,
$(
CONFIG_LIBC
))
LIBCV
:=
$(
call qstrip,
$(
CONFIG_LIBC_VERSION
))
REAL_GNU_TARGET_NAME
=
$(
OPTIMIZE_FOR_CPU
)
-openwrt-linux
$(
if
$(
TARGET_SUFFIX
)
,-
$(
TARGET_SUFFIX
))
GNU_TARGET_NAME
=
$(
OPTIMIZE_FOR_CPU
)
-openwrt-linux
DIR_SUFFIX
:=
_
$(
LIBC
)
-
$(
LIBCV
)$(
if
$(
CONFIG_arm
)
,_eabi
)
BUILD_DIR
:=
$(
BUILD_DIR_BASE
)
/target-
$(
ARCH
)$(
ARCH_SUFFIX
)$(
DIR_SUFFIX
)$(
if
$(
BUILD_SUFFIX
)
,_
$(
BUILD_SUFFIX
))
STAGING_DIR
:=
$(
TOPDIR
)
/staging_dir/target-
$(
ARCH
)$(
ARCH_SUFFIX
)$(
DIR_SUFFIX
)$(
if
$(
BUILD_SUFFIX
)
,_
$(
BUILD_SUFFIX
))
BUILD_DIR_TOOLCHAIN
:=
$(
BUILD_DIR_BASE
)
/toolchain-
$(
ARCH
)$(
ARCH_SUFFIX
)
_gcc-
$(
GCCV
)$(
DIR_SUFFIX
)
TOOLCHAIN_DIR
:=
$(
TOPDIR
)
/staging_dir/toolchain-
$(
ARCH
)$(
ARCH_SUFFIX
)
_gcc-
$(
GCCV
)$(
DIR_SUFFIX
)
PACKAGE_DIR
:=
$(
BIN_DIR
)
/packages
else
ifeq
($(CONFIG_NATIVE_TOOLCHAIN),)
GNU_TARGET_NAME
=
$(
call qstrip,
$(
CONFIG_TARGET_NAME
))
else
GNU_TARGET_NAME
=
$(
shell gcc -dumpmachine
)
endif
REAL_GNU_TARGET_NAME
=
$(
GNU_TARGET_NAME
)
BUILD_DIR
:=
$(
BUILD_DIR_BASE
)
/target-
$(
GNU_TARGET_NAME
)$(
if
$(
BUILD_SUFFIX
)
,_
$(
BUILD_SUFFIX
))
STAGING_DIR
:=
$(
TOPDIR
)
/staging_dir/target-
$(
GNU_TARGET_NAME
)$(
if
$(
BUILD_SUFFIX
)
,_
$(
BUILD_SUFFIX
))
BUILD_DIR_TOOLCHAIN
:=
$(
BUILD_DIR_BASE
)
/toolchain-
$(
GNU_TARGET_NAME
)
TOOLCHAIN_DIR
:=
$(
TOPDIR
)
/staging_dir/toolchain-
$(
GNU_TARGET_NAME
)
PACKAGE_DIR
:=
$(
BIN_DIR
)
/packages
endif
STAMP_DIR
:=
$(
BUILD_DIR
)
/stamp
STAMP_DIR_HOST
=
$(
BUILD_DIR_HOST
)
/stamp
TARGET_ROOTFS_DIR
?=
$(
if
$(
call qstrip,
$(
CONFIG_TARGET_ROOTFS_DIR
))
,
$(
call qstrip,
$(
CONFIG_TARGET_ROOTFS_DIR
))
,
$(
BUILD_DIR
))
TARGET_DIR
:=
$(
TARGET_ROOTFS_DIR
)
/root-
$(
BOARD
)
STAGING_DIR_ROOT
:=
$(
STAGING_DIR
)
/root-
$(
BOARD
)
BUILD_LOG_DIR
:=
$(
TOPDIR
)
/logs
TARGET_PATH
:=
$(
STAGING_DIR_HOST
)
/bin:
$(
subst
$(
space
)
,:,
$(
filter-out .,
$(
filter-out ./,
$(
subst :,
$(
space
)
,
$(
PATH
)))))
TARGET_CFLAGS
:=
$(
TARGET_OPTIMIZATION
)$(
if
$(
CONFIG_DEBUG
)
, -g3
)
TARGET_CXXFLAGS
=
$(
TARGET_CFLAGS
)
TARGET_CPPFLAGS
:=
-I
$(
STAGING_DIR
)
/usr/include -I
$(
STAGING_DIR
)
/include
TARGET_LDFLAGS
:=
-L
$(
STAGING_DIR
)
/usr/lib -L
$(
STAGING_DIR
)
/lib
ifneq
($(CONFIG_EXTERNAL_TOOLCHAIN),)
LIBGCC_S_PATH
=
$(
realpath
$(
wildcard
$(
call qstrip,
$(
CONFIG_LIBGCC_ROOT_DIR
))
/
$(
call qstrip,
$(
CONFIG_LIBGCC_FILE_SPEC
))))
LIBGCC_S
=
$(
if
$(
LIBGCC_S_PATH
)
,-L
$(
dir
$(
LIBGCC_S_PATH
))
-lgcc_s
)
LIBGCC_A
=
$(
realpath
$(
wildcard
$(
dir
$(
LIBGCC_S_PATH
))
/gcc/*/*/libgcc.a
))
else
LIBGCC_A
=
$(
wildcard
$(
TOOLCHAIN_DIR
)
/lib/gcc/*/*/libgcc.a
)
LIBGCC_S
=
$(
if
$(
wildcard
$(
TOOLCHAIN_DIR
)
/lib/libgcc_s.so
)
,-L
$(
TOOLCHAIN_DIR
)
/lib -lgcc_s,
$(
LIBGCC_A
))
endif
LIBRPC
=
-lrpc
LIBRPC_DEPENDS
=
+librpc
ifneq
($(findstring $(ARCH) , mips64 x86_64 ),)
LIB_SUFFIX
:=
64
endif
ifndef
DUMP
ifeq
($(CONFIG_EXTERNAL_TOOLCHAIN),)
-include
$(TOOLCHAIN_DIR)/info.mk
export
GCC_HONOUR_COPTS
:=
0
TARGET_CROSS
:=
$(
if
$(
TARGET_CROSS
)
,
$(
TARGET_CROSS
)
,
$(
OPTIMIZE_FOR_CPU
)
-openwrt-linux
$(
if
$(
TARGET_SUFFIX
)
,-
$(
TARGET_SUFFIX
))
-
)
TARGET_CFLAGS
+=
-fhonour-copts
$(
if
$(
CONFIG_GCC_VERSION_4_4
)$(
CONFIG_GCC_VERSION_4_5
)
,,-Wno-error=unused-but-set-variable
)
TARGET_CPPFLAGS
+=
-I
$(
TOOLCHAIN_DIR
)
/usr/include -I
$(
TOOLCHAIN_DIR
)
/include
TARGET_LDFLAGS
+=
-L
$(
TOOLCHAIN_DIR
)
/usr/lib -L
$(
TOOLCHAIN_DIR
)
/lib
TARGET_PATH
:=
$(
TOOLCHAIN_DIR
)
/bin:
$(
TARGET_PATH
)
else
ifeq
($(CONFIG_NATIVE_TOOLCHAIN),)
TARGET_CROSS
:=
$(
call qstrip,
$(
CONFIG_TOOLCHAIN_PREFIX
))
TOOLCHAIN_ROOT_DIR
:=
$(
call qstrip,
$(
CONFIG_TOOLCHAIN_ROOT
))
TOOLCHAIN_BIN_DIRS
:=
$(
patsubst ./%,
$(
TOOLCHAIN_ROOT_DIR
)
/%,
$(
call qstrip,
$(
CONFIG_TOOLCHAIN_BIN_PATH
)))
TOOLCHAIN_INC_DIRS
:=
$(
patsubst ./%,
$(
TOOLCHAIN_ROOT_DIR
)
/%,
$(
call qstrip,
$(
CONFIG_TOOLCHAIN_INC_PATH
)))
TOOLCHAIN_LIB_DIRS
:=
$(
patsubst ./%,
$(
TOOLCHAIN_ROOT_DIR
)
/%,
$(
call qstrip,
$(
CONFIG_TOOLCHAIN_LIB_PATH
)))
ifneq
($(TOOLCHAIN_BIN_DIRS),)
TARGET_PATH
:=
$(
subst
$(
space
)
,:,
$(
TOOLCHAIN_BIN_DIRS
))
:
$(
TARGET_PATH
)
endif
ifneq
($(TOOLCHAIN_INC_DIRS),)
TARGET_CPPFLAGS
+=
$(
patsubst %,-I%,
$(
TOOLCHAIN_INC_DIRS
))
endif
ifneq
($(TOOLCHAIN_LIB_DIRS),)
TARGET_LDFLAGS
+=
$(
patsubst %,-L%,
$(
TOOLCHAIN_LIB_DIRS
))
endif
TARGET_PATH
:=
$(
TOOLCHAIN_DIR
)
/bin:
$(
TARGET_PATH
)
endif
endif
endif
TARGET_PATH_PKG
:=
$(
STAGING_DIR
)
/host/bin:
$(
TARGET_PATH
)
ifeq
($(CONFIG_SOFT_FLOAT),y)
SOFT_FLOAT_CONFIG_OPTION
:=
--with-float=soft
TARGET_CFLAGS
+=
-msoft-float
else
SOFT_FLOAT_CONFIG_OPTION
:=
endif
export
PATH
:=
$(
TARGET_PATH
)
export
STAGING_DIR
export
SH_FUNC
:=
.
$(
INCLUDE_DIR
)
/shell.sh;
PKG_CONFIG
:=
$(
STAGING_DIR_HOST
)
/bin/pkg-config
export
PKG_CONFIG
HOSTCC
:=
gcc
HOST_CPPFLAGS
:=
-I
$(
STAGING_DIR_HOST
)
/include
HOST_CFLAGS
:=
-O2
$(
HOST_CPPFLAGS
)
HOST_LDFLAGS
:=
-L
$(
STAGING_DIR_HOST
)
/lib
TARGET_CC
:=
$(
TARGET_CROSS
)
gcc
TARGET_AR
:=
$(
TARGET_CROSS
)
ar
TARGET_RANLIB
:=
$(
TARGET_CROSS
)
ranlib
TARGET_CXX
:=
$(
if
$(
CONFIG_INSTALL_LIBSTDCPP
)
,
$(
TARGET_CROSS
)
g++,no
)
KPATCH
:=
$(
SCRIPT_DIR
)
/patch-kernel.sh
SED
:=
$(
STAGING_DIR_HOST
)
/bin/sed -i -e
CP
:=
cp -fpR
LN
:=
ln -sf
INSTALL_BIN
:=
install -m0755
INSTALL_DIR
:=
install -d -m0755
INSTALL_DATA
:=
install -m0644
INSTALL_CONF
:=
install -m0600
TARGET_CC_NOCACHE
:=
$(
TARGET_CC
)
TARGET_CXX_NOCACHE
:=
$(
TARGET_CXX
)
HOSTCC_NOCACHE
:=
$(
HOSTCC
)
export
TARGET_CC_NOCACHE
export
TARGET_CXX_NOCACHE
export
HOSTCC_NOCACHE
ifneq
($(CONFIG_CCACHE),)
TARGET_CC
:=
ccache_cc
TARGET_CXX
:=
ccache_cxx
HOSTCC
:=
ccache
$(
HOSTCC
)
endif
TARGET_CONFIGURE_OPTS
=
\
AR=
$(
TARGET_CROSS
)
ar
\
AS="
$(
TARGET_CC
)
-c
$(
TARGET_CFLAGS
)
"
\
LD=
$(
TARGET_CROSS
)
ld
\
NM=
$(
TARGET_CROSS
)
nm
\
CC="
$(
TARGET_CC
)
"
\
GCC="
$(
TARGET_CC
)
"
\
CXX="
$(
TARGET_CXX
)
"
\
RANLIB=
$(
TARGET_CROSS
)
ranlib
\
STRIP=
$(
TARGET_CROSS
)
strip
\
OBJCOPY=
$(
TARGET_CROSS
)
objcopy
\
OBJDUMP=
$(
TARGET_CROSS
)
objdump
\
SIZE=
$(
TARGET_CROSS
)
size
# strip an entire directory
ifneq
($(CONFIG_NO_STRIP),)
RSTRIP
:=
:
STRIP
:=
:
else
ifneq
($(CONFIG_USE_STRIP),)
STRIP
:=
$(
TARGET_CROSS
)
strip
$(
call qstrip,
$(
CONFIG_STRIP_ARGS
))
else
ifneq
($(CONFIG_USE_SSTRIP),)
STRIP
:=
$(
STAGING_DIR_HOST
)
/bin/sstrip
endif
endif
RSTRIP
:=
\
export CROSS="
$(
TARGET_CROSS
)
"
\
$(
if
$(
CONFIG_KERNEL_KALLSYMS
)
,NO_RENAME=1
)
\
$(
if
$(
CONFIG_KERNEL_PROFILING
)
,KEEP_SYMBOLS=1
)
;
\
NM="
$(
TARGET_CROSS
)
nm
"
\
STRIP="
$(
STRIP
)
"
\
STRIP_KMOD="
$(
SCRIPT_DIR
)
/strip-kmod.sh
"
\
$(
SCRIPT_DIR
)
/rstrip.sh
endif
ifeq
($(CONFIG_ENABLE_LOCALE),true)
DISABLE_NLS
:=
--enable-nls
else
DISABLE_NLS
:=
--disable-nls
endif
ifeq
($(CONFIG_IPV6),y)
DISABLE_IPV6
:=
else
DISABLE_IPV6
:=
--disable-ipv6
endif
ifeq
($(CONFIG_TAR_VERBOSITY),y)
TAR_OPTIONS
:=
-xvf -
else
TAR_OPTIONS
:=
-xf -
endif
ifeq
($(CONFIG_BUILD_LOG),y)
BUILD_LOG
:=
1
endif
define
shvar
V_
$(
subst
.,_,
$(
subst -,_,
$(
subst /,_,
$(
1
))))
endef
define
shexport
$(
call
shvar,
$(
1
))
=$
$(
call
$(
1
))
export
$(
call
shvar,
$(
1
))
endef
define
include_mk
$(
eval
-include
$(
if
$(
DUMP
)
,,
$(
STAGING_DIR
)
/mk/
$(
strip
$(
1
))))
endef
# Execute commands under flock
# $(1) => The shell expression.
# $(2) => The lock name. If not given, the global lock will be used.
define
locked
SHELL
=
\
$(
STAGING_DIR_HOST
)
/bin/flock
\
$(
TMP_DIR
)
/.
$(
if
$(
2
)
,
$(
strip
$(
2
))
,global
)
.flock
\
-c '
$(
subst ','
\'
',
$(
1
))
'
endef
# file extension
ext
=
$(
word
$(
words
$(
subst ., ,
$(
1
)))
,
$(
subst ., ,
$(
1
)))
all
:
FORCE
:
;
.PHONY
:
FORCE
val.%
:
@$(
if
$(
filter undefined,
$(
origin
$*
))
,
\
echo
"
$*
undefined"
>
&2,
\
echo
'
$(
subst '
,
'"'
"',
$(
$*
))
'
\
)
var.%
:
@$(
if
$(
filter undefined,
$(
origin
$*
))
,
\
echo
"
$*
undefined"
>
&2,
\
echo
"
$*
='"
'
$(
subst '
,
'"'
\"
'\"'
"',
$(
$*
))
'"
'" \
)
endif
#__rules_inc
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment