summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/Makefile20
-rw-r--r--target/config/Config.in3
-rw-r--r--target/config/Config.in.adk7
3 files changed, 23 insertions, 7 deletions
diff --git a/target/Makefile b/target/Makefile
index 470e9e4e9..9222cd3bc 100644
--- a/target/Makefile
+++ b/target/Makefile
@@ -6,6 +6,12 @@ include $(TOPDIR)/mk/rootfs.mk
all: install
+ifeq (${ADK_64BIT_KERNEL},y)
+KERNEL_CFG:=kernel64.config
+else
+KERNEL_CFG:=kernel.config
+endif
+
### Kernel .config Creation
# The following target combines all kernel-related variables and
# config files into a single one to be used as the final kernel
@@ -48,15 +54,15 @@ config-prepare: $(TOPDIR)/.config
>${BUILD_DIR}/.kernelconfig.nokernel
ifeq ($(ADK_NATIVE),y)
@if [ -f /etc/adktarget ];then \
- cp $(TOPDIR)/target/$(ARCH)/kernel.config ${BUILD_DIR}/.kernelconfig.board; \
+ cp $(TOPDIR)/target/$(ARCH)/${KERNEL_CFG} ${BUILD_DIR}/.kernelconfig.board; \
else \
if [ -f /proc/config.gz ];then zcat /proc/config.gz > ${BUILD_DIR}/.kernelconfig.board; else cp ${ADK_TARGET}/kernel.config.$(ARCH) ${BUILD_DIR}/.kernelconfig.board; fi; \
fi
else
- if [ -f ${ADK_TARGET_ARCH}/kernel.config.$(ADK_TARGET_SYSTEM) ];then \
- cp ${ADK_TARGET_ARCH}/kernel.config.$(ADK_TARGET_SYSTEM) ${BUILD_DIR}/.kernelconfig.board; \
+ if [ -f ${ADK_TARGET_ARCH}/${KERNEL_CFG}.$(ADK_TARGET_SYSTEM) ];then \
+ cp ${ADK_TARGET_ARCH}/${KERNEL_CFG}.$(ADK_TARGET_SYSTEM) ${BUILD_DIR}/.kernelconfig.board; \
else \
- cp ${ADK_TARGET_ARCH}/kernel.config ${BUILD_DIR}/.kernelconfig.board; \
+ cp ${ADK_TARGET_ARCH}/${KERNEL_CFG} ${BUILD_DIR}/.kernelconfig.board; \
fi
endif
@(cat ${BUILD_DIR}/.kernelconfig.{modules,kernel} | \
@@ -89,10 +95,10 @@ endif
@-rm -f ${BUILD_DIR}/.kernelconfig.tmp
else
config-prepare: $(TOPDIR)/.config
- if [ -f ${ADK_TARGET_ARCH}/kernel.config.$(ADK_TARGET_SYSTEM) ];then \
- cp ${ADK_TARGET_ARCH}/kernel.config.$(ADK_TARGET_SYSTEM) ${BUILD_DIR}/.kernelconfig.board; \
+ if [ -f ${ADK_TARGET_ARCH}/${KERNEL_CFG}.$(ADK_TARGET_SYSTEM) ];then \
+ cp ${ADK_TARGET_ARCH}/${KERNEL_CFG}.$(ADK_TARGET_SYSTEM) ${BUILD_DIR}/.kernelconfig.board; \
else \
- cp ${ADK_TARGET_ARCH}/kernel.config ${BUILD_DIR}/.kernelconfig.board; \
+ cp ${ADK_TARGET_ARCH}/${KERNEL_CFG} ${BUILD_DIR}/.kernelconfig.board; \
fi
endif
diff --git a/target/config/Config.in b/target/config/Config.in
index a9f994772..b31113ec5 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -204,6 +204,9 @@ config ADK_TARGET_WITH_DSL
config ADK_TARGET_WITH_USB_BOOT
boolean
+config ADK_TARGET_KERNEL_MAY_64BIT
+ boolean
+
# global symbols
config ADK_TOOLCHAIN_ONLY
boolean
diff --git a/target/config/Config.in.adk b/target/config/Config.in.adk
index 6c7176bf8..ea139b7ec 100644
--- a/target/config/Config.in.adk
+++ b/target/config/Config.in.adk
@@ -110,4 +110,11 @@ config ADK_HOST_CYGWIN
boolean
endchoice
+
+config ADK_64BIT_KERNEL
+ prompt "Build a 64bit Kernel"
+ boolean
+ default n
+ depends on ADK_TARGET_KERNEL_MAY_64BIT
+
endmenu