linux: Add support to specify special Kernel Image make target
authorMartin Hicks <mort@bork.org>
Mon, 21 Mar 2011 17:39:43 +0000 (13:39 -0400)
committerPeter Korsgaard <jacmet@sunsite.dk>
Fri, 1 Apr 2011 12:53:46 +0000 (14:53 +0200)
This is useful for ARCHes like PowerPC that have a whole lot of
special targets for each different board.  The kernel image target
tells make which OpenFirmware machine description file is combined into
the kernel binary.

[Peter: fix long lines]
Signed-Off-By: Martin Hicks <mort@bork.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
linux/Config.in
linux/linux.mk

index 75e574f4580ddbba458e7260e4cf250304e9a71a..f7d7f88ec1e44ded992ac2b426b123d50a8cc783 100644 (file)
@@ -133,8 +133,26 @@ config BR2_LINUX_KERNEL_VMLINUX
        bool "vmlinux"
        depends on BR2_mips || BR2_mipsel
 
+config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
+       bool "custom target"
+       help
+         For certain cases a board-specific target image must be
+         used.  For example, on powerPC where the OpenFirmware
+         description is attached in a board-specific kernel image
+         target like 'cuImage.mpc8379_rdb'.
+
+         Select this option and specify the make target in "Kernel
+         image target name".
+
 endchoice
 
+config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
+       string "Kernel image target name"
+       depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
+       help
+         Specify the kernel make target to build the kernel that you
+         need.
+
 endif # BR2_LINUX_KERNEL
 
 endmenu
index 9076fb917d16cefec91eaaca001061ae9e6c71e0..90dc1dcb981135fae12de08d2221377b9f99322e 100644 (file)
@@ -30,6 +30,9 @@ LINUX26_MAKE_FLAGS = \
 # going to be installed in the target filesystem.
 LINUX26_VERSION_PROBED = $(shell $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) --no-print-directory -s kernelrelease)
 
+ifeq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),y)
+LINUX26_IMAGE_NAME=$(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_TARGET_NAME))
+else
 ifeq ($(BR2_LINUX_KERNEL_UIMAGE),y)
 ifeq ($(KERNEL_ARCH),blackfin)
 # a uImage, but with a different file name
@@ -47,6 +50,7 @@ LINUX26_IMAGE_NAME=vmlinux.bin
 else ifeq ($(BR2_LINUX_KERNEL_VMLINUX),y)
 LINUX26_IMAGE_NAME=vmlinux
 endif
+endif
 
 # Compute the arch path, since i386 and x86_64 are in arch/x86 and not
 # in arch/$(KERNEL_ARCH). Even if the kernel creates symbolic links