1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 KERNEL_MAKE_OPTS
:= CC
="$(TARGET_CC)"
5 ifeq ($(ADK_TARGET_BINFMT_FDPIC
),y
)
6 KERNEL_MAKE_OPTS
:= CC
="$(TARGET_CC) -mno-fdpic"
8 ifeq ($(ADK_TARGET_ARCH_MICROBLAZE
),y
)
9 KERNEL_MAKE_OPTS
:= CC
="$(TARGET_CC) -fno-tree-loop-distribute-patterns"
12 KERNEL_MAKE_OPTS
+= V
=1 \
13 ARCH
="$(ADK_TARGET_KARCH)" \
14 CROSS_COMPILE
="$(TARGET_CROSS)" \
16 HOSTCXX
="${HOST_CXX}" \
18 CONFIG_SHELL
='${SHELL}'
20 # regex for relocs needs pcre
21 ifeq ($(OS_FOR_BUILD
),Darwin
)
22 KERNEL_MAKE_OPTS
+= HOSTLDFLAGS
='-lpcreposix -Wl,-no_pie'
25 # non-Linux platforms need elf.h
26 ifneq ($(OS_FOR_BUILD
),Linux
)
27 KERNEL_MAKE_OPTS
+= HOSTCFLAGS
='$(HOST_CPPFLAGS) ${HOST_CFLAGS}'
28 KERNEL_MAKE_OPTS
+= HOST_EXTRACFLAGS
='-I${LINUX_DIR}/tools/include -I${LINUX_DIR}/usr/include -I${LINUX_DIR}/security/selinux/include -I${ADK_TOPDIR}/adk/include -I${LINUX_DIR}/scripts/dtc/libfdt -DKBUILD_NO_NLS'
30 KERNEL_MAKE_OPTS
+= HOSTCFLAGS
='${HOST_CFLAGS}'
33 ifneq ($(ADK_TARGET_KERNEL_LOADADDR
),)
34 KERNEL_MAKE_OPTS
+= LOADADDR
=$(ADK_TARGET_KERNEL_LOADADDR
)
37 KERNEL_MAKE_ENV
:= PATH
="${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:$$PATH"
38 LINUX_BUILD_DIR
:= $(BUILD_DIR
)/$(ADK_TARGET_OS
)-$(ADK_TARGET_ARCH
)
40 # wrapper to simplify calling make in kernel tree
41 KERNEL_MAKE
:= env
$(KERNEL_MAKE_ENV
) $(MAKE
) -C
"${LINUX_DIR}" $(KERNEL_MAKE_OPTS
) -j
${ADK_MAKE_JOBS}