kumquat-buildroot/target/linux/Makefile.in.advanced
Thomas Petazzoni 397fe5cc0b Remove the "project" feature
The "project" feature was designed to allow to several projects to be
built inside the same Buildroot source tree and allowing the toolchain
and non-configurable packages to be shared between the different
projects on the same architecture. While being interesting in theory,
this feature adds a level of complexity to Buildroot, both from an
user perspective and from a developer perspective, while one of the
main Buildroot strengh is to be simple. Moreover, this feature is only
seldomly used by our users.

From a user-level perspective, this for example allows to remove the
project_build_ARCH directory, which was very confusing. The
autotools-stamps directory is also removed, since these stamps are
back at their normal location.

Description of the changes involved :

 * project/, directory removed

 * Makefile

    - Don't include project/Makefile.in and project/project.mk anymore

    - Grab a copy of the contents of project/Makefile.in at the
      location it was imported, but remove the definition related to
      PROJECT_BUILD_DIR. The TARGET_DIR is now in
      $(BUILD_DIR)/target_dir

    - Remove the creation/removal of the $(PROJECT_BUILD_DIR) and
      $(PROJECT_BUILD_DIR)/autotools-stamps directories

    - Don't make world depends on target-host-info. This target was
      defined by project/project.mk to customize /etc/issue,
      /etc/hostname and create /etc/br-version depending on the
      project definitions. We can of course imagine re-adding such a
      feature later.

    - Replace PROJECT_BUILD_DIR by BUILD_DIR everywhere

    - Remove the update, log and lognr.$(PROJECT) target, they were
      specific to the project feature.

 * package/Makefile.autotools.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

    - Move the INSTALL_TARGET and HOOK_POST_INSTALL stamps to the same
      directory as the other stamps (i.e, in the package directory).

 * package/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

 * package/at/at.mk,
   package/busybox/busybox.mk,
   package/busybox/initramfs.mk,
   package/customize/customize.mk,
   package/linux-fusion/linux-fusion.mk,
   package/ltp-testsuite/ltp-testsuite.mk,
   package/nfs-utils/nfs-utils.mk,
   target/cpio/cpioroot.mk,
   target/cramfs/cramfs.mk,
   target/device/Atmel/DataFlashBoot/DataflashBoot.mk,
   target/device/Atmel/Makefile.in,
   target/device/Atmel/at91bootstrap/at91bootstrap.mk,
   target/device/KwikByte/Makefile.in,
   target/ext2/ext2root.mk,
   target/initramfs/initramfs.mk,
   target/iso9660/iso9660.mk,
   target/jffs2/jffs2root.mk,
   target/linux/Makefile.in,
   target/romfs/romfs.mk,
   target/squashfs/squashfsroot.mk,
   target/tar/tarroot.mk,
   target/ubifs/ubifsroot.mk

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

 * target/device/Config.in

    - Do not include project/Config.in anymore

 * target/linux/Makefile.in.advanced

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Store the stamps file in $(STAMP_DIR) instead of
      $(PROJECT_BUILD_DIR)/autotools-stamps

 * target/u-boot/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Remove $(PROJECT) from the U-Boot target binary name

    - Remove the insertion in the configuration of the project name as
      the hostname

    - The u-boot-autoscript target now generates
      $(U_BOOT_AUTOSCRIPT).img instead of
      $(U_BOOT_AUTOSCRIPT).$(PROJECT)

 * toolchain/gcc/gcc-uclibc-3.x.mk
   toolchain/gcc/gcc-uclibc-4.x.mk

    - Move the stamps files to $(STAMP_DIR)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:28:25 +02:00

538 lines
19 KiB
Makefile

###############################################################################
#
# Linux kernel 2.6 target (Advanced configuration)
#
###############################################################################
ifneq ($(filter $(TARGETS),linux26),)
# -----------------------------------------------------------------------------
# Make sure LINUX_HEADERS_VERSION is defined
ifeq ($(LINUX_HEADERS_VERSION),)
# We did not have headers (this is for real???)
LINUX_HEADERS_VERSION:=2.6.22.1
endif
# -----------------------------------------------------------------------------
# STRATEGY FOR DOWNLOAD_LINUX26_VERSION
# 1. Use definition from user Makefile
# 2. Use definition from Kconfig
# 3. Use Linux Headers version
# 4. Use default (2.6.22.1)
ifeq ($(DOWNLOAD_LINUX26_VERSION),)
ifneq ($(BR2_DOWNLOAD_LINUX26_VERSION),)
DOWNLOAD_LINUX26_VERSION:=$(call qstrip,$(BR2_DOWNLOAD_LINUX26_VERSION))
else
DOWNLOAD_LINUX26_VERSION:=$(LINUX_HEADERS_VERSION)
endif
endif
# -----------------------------------------------------------------------------
# STRATEGY FOR LINUX26_VERSION
# 1. Use definition from user Makefile
# 2. Use definition from Kconfig
# 3. Use Linux Headers version
# 4. Use default (2.6.22.1)
ifeq ($(LINUX26_VERSION),)
ifneq ($(BR2_LINUX26_VERSION),)
LINUX26_VERSION:=$(call qstrip,$(BR2_LINUX26_VERSION))
else
LINUX26_VERSION:=$(LINUX_HEADERS_VERSION)
endif
endif
# Ask the kernel what version number it will use when installing modules
LINUX26_VERSION_PROBED = `$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) -s kernelrelease`
ifeq ($(BOARD_PATH),)
BOARD_PATH:=$(call qstrip,$(BR2_BOARD_PATH))
endif
# Version of Linux AFTER patches
LINUX26_DIR:=$(BUILD_DIR)/linux-$(LINUX26_VERSION)
# for packages that need it
LINUX_VERSION:=$(LINUX26_VERSION)
LINUX_DIR:=$(LINUX26_DIR)
# -----------------------------------------------------------------------------
# Define source name and sites
LINUX26_SOURCE:=linux-$(DOWNLOAD_LINUX26_VERSION).tar.bz2
LINUX26_SITE:=$(call qstrip,$(BR2_KERNEL_SITE))
LINUX26_PATCH_SOURCE:=$(call qstrip,$(BR2_KERNEL_PATCH))
LINUX26_PATCH_SITE:=$(call qstrip,$(BR2_KERNEL_PATCH_SITE))
LINUX26_BSP_PATCH:=$(call qstrip,$(BR2_LINUX_BSP_PATCH))
ifneq ($(LINUX26_BSP_PATCH),)
LINUX_HEADERS_DEPENDS:= $(DL_DIR)/$(LINUX26_BSP_PATCH)
endif
ifneq ($(LINUX26_PATCH_SOURCE),)
LINUX_HEADERS_DEPENDS+=$(DL_DIR)/$(LINUX26_PATCH_SOURCE)
endif
# ------------------------------------
# kernel patches provided by buildroot
ifeq ($(strip $(LINUX26_PATCH_DIR)),)
LINUX26_PATCH_DIR:=$(BOARD_PATH)/kernel-patches/
endif
# kernel architecture patches provided by buildroot
KERNEL_ARCH_PATCH_DIR:=$(call qstrip,$(BR2_KERNEL_ARCH_PATCH_DIR))
# -----------------------------------------------------------------------------
# Linux kernel configuration file
# This is used if BR2_PACKAGE_LINUX_USE_KCONFIG is set
# Has to be set by the target/device
# If it is not set by the target/device, then pick the one from .config
ifndef LINUX26_KCONFIG
ifneq ($(call qstrip,$(BR2_PACKAGE_LINUX_KCONFIG)),)
LINUX26_KCONFIG:=$(call qstrip,$(BR2_PACKAGE_LINUX_KCONFIG))
else
ifeq ($(BR2_i386),y)
LINUX26_KCONFIG:=$(BOARD_PATH)/linux26.config
else
LINUX26_KCONFIG:=$(BOARD_PATH)/linux-$(LINUX26_VERSION).config
endif
endif
endif
KERNEL_CONFIG_METHOD:=$(call qstrip,$(BR2_KERNEL_CONFIG_METHOD))
ifeq ($(KERNEL_CONFIG_METHOD),)
KERNEL_CONFIG_METHOD:=menuconfig
endif
# -----------------------------------------------------------------------------
ifndef LINUX26_FORMAT
ifneq ($(call qstrip,$(BR2_PACKAGE_LINUX_FORMAT)),)
LINUX26_FORMAT:=$(call qstrip,$(BR2_PACKAGE_LINUX_FORMAT))
else
LINUX26_FORMAT:=zImage
endif
endif
# -----------------------------------------------------------------------------
# Has to be set by the target/device
LINUX26_MKIMAGE_DIR:=
LINUX26_MKIMAGE_DEP:=
# --------------
# VMLINUX
ifeq ($(LINUX26_FORMAT),vmlinux)
ifeq ($(LINUX26_BINLOC),)
LINUX26_BINLOC:=$(LINUX26_FORMAT)
endif
endif
# --------------
# UIMAGE
ifeq ($(LINUX26_FORMAT),uImage)
LINUX26_MKIMAGE_DIR:=$(BUILD_DIR)/u-boot-tools
LINUX26_MKIMAGE_DEP:=$(LINUX26_MKIMAGE_DIR)/mkimage
ifeq ($(LINUX26_BINLOC),)
LINUX26_BINLOC:=arch/$(KERNEL_ARCH)/boot/$(LINUX26_FORMAT)
endif
endif
# --------------
# ZIMAGE
ifeq ($(LINUX26_FORMAT),zImage)
ifeq ($(LINUX26_BINLOC),)
LINUX26_BINLOC:=arch/$(KERNEL_ARCH)/boot/$(LINUX26_FORMAT)
endif
endif
# --------------
# BZIMAGE
ifeq ($(LINUX26_FORMAT),bzImage)
ifeq ($(LINUX26_BINLOC),)
LINUX26_BINLOC:=arch/$(KERNEL_ARCH)/boot/bzImage
endif
endif
ROOTFS_STRIPPED_SUFFIX=$(call qstrip,$(ROOTFS_SUFFIX))
# -----------------------------------------------------------------------------
# File name for the Linux kernel binary
LINUX26_KERNEL_NAME:=$(LINUX26_FORMAT)$(ROOTFS_STRIPPED_SUFFIX)
ifeq ($(BOARD_NAME),)
BOARD_NAME=$(ARCH)
endif
ifndef LINUX26_KERNEL
LINUX26_KERNEL:=$(BINARIES_DIR)/$(LINUX26_KERNEL_NAME)
endif
# for packages that need it
LINUX_KERNEL:=$(LINUX26_KERNEL)
# -----------------------------------------------------------------------------
LINUX26_BZCAT:=$(BZCAT)
LINUX26_MAKE_FLAGS = HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \
ARCH=$(KERNEL_ARCH) \
INSTALL_MOD_PATH=$(TARGET_DIR) \
CROSS_COMPILE=$(KERNEL_CROSS) \
LDFLAGS="$(TARGET_LDFLAGS)" \
LZMA="$(LZMA)" \
PATH=$(LINUX26_MKIMAGE_DIR):$(PATH)
# =============================================================================
# ifneq ($(strip $(LINUX26_VERSION)),$(strip $(LINUX_HEADERS_VERSION)))
ifneq ($(strip $(LINUX26_SOURCE)),$(strip $(LINUX_HEADERS_SOURCE)))
$(DL_DIR)/$(LINUX26_SOURCE):
$(call DOWNLOAD,$(LINUX26_SITE),$(LINUX26_SOURCE))
endif # ($(LINUX26_VERSION),$(LINUX_HEADERS_VERSION))
ifneq ($(strip $(LINUX26_PATCH_SOURCE)),)
$(DL_DIR)/$(LINUX26_PATCH_SOURCE):
$(call DOWNLOAD,$(LINUX26_PATCH_SITE),$(LINUX26_PATCH_SOURCE))
endif
$(LINUX26_DIR)/.unpacked: $(DL_DIR)/$(LINUX26_SOURCE)
rm -rf $(LINUX26_DIR)
@echo "*** Unpacking kernel source"
$(LINUX26_BZCAT) $(DL_DIR)/$(LINUX26_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
ifneq ($(DOWNLOAD_LINUX26_VERSION),$(LINUX26_VERSION))
# Rename the dir from the downloaded version to the AFTER patch version
mv -f $(BUILD_DIR)/linux-$(DOWNLOAD_LINUX26_VERSION) $(LINUX26_DIR)
echo $(LINUX26_VERSION_PROBED) > $(BUILD_DIR)/.linux-version
endif
touch $@
# -----------------------------------------------------------------------------
LINUX26_TARGETS+=$(LINUX26_KERNEL) $(BUILD_DIR)/.linux-version
ifeq ($(BR2_LINUX_COPYTO_ROOTFS),y)
LINUX26_TARGETS+=$(TARGET_DIR)/boot/$(LINUX26_KERNEL_NAME)
endif
ifeq ($(BR2_LINUX_COPYTO_TFTPBOOT),y)
LINUX26_TARGETS+=/tftpboot/$(LINUX26_KERNEL_NAME)
endif
ifneq ($(call qstrip,$(BR2_LINUX_COPYTO)),)
LINUX_COPYTO:=$(call qstrip,$(BR2_LINUX_COPYTO))
LINUX26_TARGETS+=$(LINUX_COPYTO)/$(LINUX26_KERNEL_NAME)
endif
ifneq ($(BR2_LINUX_COPY_CONFIGURATION),)
LINUX26_TARGETS+=$(TARGET_DIR)/boot/buildroot.config
LINUX26_TARGETS+=$(TARGET_DIR)/boot/linux-$(LINUX26_VERSION).config
LINUX26_TARGETS+=$(TARGET_DIR)/boot/uclibc.config
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
LINUX26_TARGETS+=$(TARGET_DIR)/boot/busybox.config
endif
endif
# -----------------------------------------------------------------------------
$(LINUX26_DIR)/.patched: $(LINUX26_DIR)/.unpacked $(LINUX_HEADERS_DEPENDS)
ifneq ($(LINUX26_PATCH_SOURCE),)
toolchain/patch-kernel.sh $(LINUX26_DIR) $(DL_DIR) $(LINUX26_PATCH_SOURCE)
endif
ifneq ($(LINUX26_BSP_PATCH),)
toolchain/patch-kernel.sh $(LINUX26_DIR) $(DL_DIR) $(LINUX26_BSP_PATCH)
endif
toolchain/patch-kernel.sh $(LINUX26_DIR) toolchain/kernel-headers \
linux-$(LINUX26_VERSION)-\*.patch{,.gz,.bz2}
ifeq ($(BR2_KERNEL_HEADERS_RT),y)
toolchain/patch-kernel.sh $(LINUX26_DIR) $(DL_DIR) $(LINUX_RT_SOURCE)
endif
ifneq ($(KERNEL_HEADERS_PATCH_DIR),)
toolchain/patch-kernel.sh $(LINUX26_DIR) $(KERNEL_HEADERS_PATCH_DIR) \
linux-$(LINUX26_VERSION)\*.patch{,.gz,.bz2}
endif
ifeq ($(BR2_PACKAGE_OPENSWAN),y)
toolchain/patch-kernel.sh $(LINUX26_DIR) package/openswan \
linux-$(LINUX26_VERSION)\*.patch{,.gz,.bz2}
endif
touch $@
$(LINUX26_DIR)/.patched.arch: $(LINUX26_DIR)/.patched
ifneq ($(BR2_KERNEL_ARCH_PATCH_DIR),)
if [ -d $(KERNEL_ARCH_PATCH_DIR) ] ; then \
toolchain/patch-kernel.sh $(LINUX26_DIR) $(KERNEL_ARCH_PATCH_DIR) \
linux-\*.patch{,.gz,.bz2} ; \
fi
endif
touch $@
$(LINUX26_DIR)/.patched.board: $(LINUX26_DIR)/.patched.arch $(KERNEL_COND_PATCHES)
ifneq ($(LINUX26_PATCH_DIR),)
if [ -d $(LINUX26_PATCH_DIR) ] ; then \
toolchain/patch-kernel.sh $(LINUX26_DIR) $(LINUX26_PATCH_DIR) \
linux-$(LINUX26_VERSION)\*.patch{,.gz,.bz2} ; \
fi
endif
touch $@
# =============================================================================
linux_patch: $(LINUX26_DIR)/.patched.board
KERNEL_EXTRA_VERSION:=$(call qstrip,$(BR2_EXTRA_VERSION))
lxcf: $(LINUX26_DIR)/.config
$(LINUX26_DIR)/.config: $(LINUX26_DIR)/.patched.board
ifeq ($(BR2_PACKAGE_LINUX_USE_DEFCONFIG),y)
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(BOARD_NAME)_defconfig
endif
ifeq ($(BR2_PACKAGE_LINUX_USE_XCONFIG),y)
ifeq ($(KERNEL_CONFIG_METHOD),xconfig)
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig || \
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig \
else
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig
endif
endif
ifeq ($(BR2_PACKAGE_LINUX_USE_KCONFIG),y)
# Try user defined config
if [ -f "$(LINUX26_KCONFIG)" ] ; then \
cp -dpf $(LINUX26_KCONFIG) $@ ; \
fi
# Try to get a config for this linux version in the board directory
echo "LINUX26_VERSION = $(LINUX26_VERSION)"
if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \
if [ -f "$(BOARD_PATH)/$(BOARD_NAME)-linux-$(LINUX26_VERSION).config" ] ; then \
cp -dpf $(BOARD_PATH)/$(BOARD_NAME)-linux-$(LINUX26_VERSION).config $@ ; \
fi ; \
fi
# Try to get a config for latest linux version in the board directory
if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \
scripts/get_linux_config.sh $(BOARD_PATH) $(LINUX26_DIR) ; \
fi
# Use a board config defined in the linux source.
if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(BOARD_NAME)_defconfig || \
echo "$(BOARD_NAME)_defconfig failed..." ; \
fi
# let the user create his/her own config
if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(KERNEL_CONFIG_METHOD) ; \
fi
endif
ifneq ($(call qstrip,$(BR2_EXTRA_VERSION)),)
$(SED) 's,^EXTRAVERSION.*,EXTRAVERSION = $(KERNEL_EXTRA_VERSION),g' $(LINUX26_DIR)/Makefile
endif
# $(strip $(subst ",, - ))
# -----------------------------------------------------------------------------
$(LINUX26_DIR)/.configured: $(LINUX26_DIR)/.config
$(SED) '/CONFIG_AEABI=y/d' $(LINUX26_DIR)/.config
ifeq ($(BR2_ARM_EABI),y)
echo "CONFIG_AEABI=y" >> $(LINUX26_DIR)/.config
$(SED) '/CONFIG_OABI_COMPAT/d' $(LINUX26_DIR)/.config
echo "# CONFIG_OABI_COMPAT is not set" >> $(LINUX26_DIR)/.config
else
echo "# CONFIG_AEABI is not set" >> $(LINUX26_DIR)/.config
endif
$(SED) '/CONFIG_IPV6=y/d' $(LINUX26_DIR)/.config
ifeq ($(BR2_INET_IPV6),y)
echo "CONFIG_IPV6=y" >> $(LINUX26_DIR)/.config
else
echo "# CONFIG_IPV6 is not set" >> $(LINUX26_DIR)/.config
endif
$(SED) '/CONFIG_INITRAMFS_SOURCE/d' $(LINUX26_DIR)/.config
$(SED) '/INITRAMFS_ROOT_.ID/d' $(LINUX26_DIR)/.config
ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
echo "CONFIG_INITRAMFS_SOURCE=\"$(INITRAMFS_TARGET)\"" >> \
$(LINUX26_DIR)/.config
echo "CONFIG_INITRAMFS_ROOT_UID=0" >> $(LINUX26_DIR)/.config
echo "CONFIG_INITRAMFS_ROOT_GID=0" >> $(LINUX26_DIR)/.config
else
echo "CONFIG_INITRAMFS_SOURCE=\"\"" >> $(LINUX26_DIR)/.config
endif
ifeq ($(BR2_PACKAGE_BUSYBOX_INITRAMFS),y)
# precedence for a small initramfs
$(SED) '/CONFIG_INITRAMFS_SOURCE/d' $(LINUX26_DIR)/.config
$(SED) '/INITRAMFS_ROOT_.ID/d' $(LINUX26_DIR)/.config
echo "CONFIG_INITRAMFS_SOURCE=\"$(BB_INITRAMFS_TARGET)\"" >> \
$(LINUX26_DIR)/.config
echo "CONFIG_INITRAMFS_ROOT_UID=0" >> $(LINUX26_DIR)/.config
echo "CONFIG_INITRAMFS_ROOT_GID=0" >> $(LINUX26_DIR)/.config
endif
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) oldconfig
touch $@
# -----------------------------------------------------------------------------
$(LINUX26_DIR)/.depend_done: $(LINUX26_DIR)/.configured $(LINUX26_MKIMAGE_DEP)
mkdir -p $(TARGET_DIR)/boot
-mv $(LINUX26_DIR)/localversion* $(TARGET_DIR)/boot
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) prepare
touch $@
$(LINUX26_DIR)/$(LINUX26_BINLOC): $(INITRAMFS_TARGET) $(BB_INITRAMFS_TARGET) \
$(LINUX26_DIR)/.depend_done
$(MAKE) $(LINUX26_MAKE_FLAGS) \
-C $(LINUX26_DIR) $(LINUX26_FORMAT)
touch $@
$(LINUX26_KERNEL): $(LINUX26_DIR)/$(LINUX26_BINLOC)
cp -pf $(LINUX26_DIR)/$(LINUX26_BINLOC) $(LINUX26_KERNEL)
touch $@
# -----------------------------------------------------------------------------
$(STAMP_DIR)/linux_modules_target_installed: $(LINUX26_DIR)/.depend_done
rm -rf $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION_PROBED)
rm -f $(TARGET_DIR)/sbin/cardmgr
# Make Linux depend on modules only if enabled in the .config.
@if [ $(shell grep -c "CONFIG_MODULES=y" $(LINUX26_DIR)/.config) != 0 ] ; then \
echo "*** Installing Linux kernel modules" ; \
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) modules; \
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) \
DEPMOD=$(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod26 \
INSTALL_MOD_PATH=$(TARGET_DIR) modules_install; \
rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION_PROBED)/build; \
rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION_PROBED)/source; \
$(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod26 -b $(TARGET_DIR) $(LINUX26_VERSION_PROBED); \
else \
echo "*** Skipping installing modules since it is not enabled" ; \
fi
touch $@
linux26-menuconfig: $(LINUX26_DIR)/.patched host-sed
[ -f $(LINUX26_DIR)/.config ] || cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig
-[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured
linux26-xconfig: $(LINUX26_DIR)/.patched host-sed
[ -f $(LINUX26_DIR)/.config ] || cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig
-[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured
$(TARGET_DIR)/boot/$(LINUX26_KERNEL_NAME): $(LINUX26_KERNEL)
mkdir -p $(TARGET_DIR)/boot
cp -dpf $(LINUX26_KERNEL) $(TARGET_DIR)/boot/$(LINUX26_KERNEL_NAME)
$(TARGET_DIR)/boot/buildroot.config: .config
mkdir -p $(TARGET_DIR)/boot
cp -dpf .config $(TARGET_DIR)/boot/buildroot.config
$(TARGET_DIR)/boot/linux-$(LINUX26_VERSION).config: $(LINUX26_DIR)/.config
mkdir -p $(TARGET_DIR)/boot
cp -dpf $(LINUX26_DIR)/.config $(TARGET_DIR)/boot/linux-$(LINUX26_VERSION).config
$(TARGET_DIR)/boot/uclibc.config: $(UCLIBC_DIR)/.config
mkdir -p $(TARGET_DIR)/boot
cp -dpf $(UCLIBC_DIR)/.config $(TARGET_DIR)/boot/uclibc.config
$(TARGET_DIR)/boot/busybox.config: $(BUSYBOX_DIR)/.config
mkdir -p $(TARGET_DIR)/boot
cp -dpf $(BUSYBOX_DIR)/.config $(TARGET_DIR)/boot/busybox.config
/tftpboot/$(LINUX26_KERNEL_NAME): $(LINUX26_KERNEL)
-mkdir -p /tftpboot
-cp -dpf $(LINUX26_KERNEL) $@
-touch $@
ifneq ($(LINUX_COPYTO),/tftpboot)
$(LINUX_COPYTO)/$(LINUX26_KERNEL_NAME): $(LINUX26_KERNEL)
mkdir -p $(LINUX_COPYTO)
cp -dpf $(LINUX26_KERNEL) $@
touch $@
endif
$(BUILD_DIR)/.linux-version: $(LINUX26_KERNEL)
echo $(LINUX26_VERSION_PROBED) > $(BUILD_DIR)/.linux-version
echo LINUX_MODULES=`$(LINUX26_VERSION_PROBED)`
$(LINUX26_MKIMAGE_DIR)/mkimage: $(U_BOOT_TOOLS)
mkdir -p $(LINUX26_MKIMAGE_DIR)
cp $(MKIMAGE) $(LINUX26_MKIMAGE_DIR)
linux26: $(LINUX26_TARGETS)
linux26-version: $(BUILD_DIR)/.linux-version
linux26-modules: cross-depmod26 $(STAMP_DIR)/linux_modules_target_installed
linux26-source: $(DL_DIR)/$(LINUX26_SOURCE)
linux26-unpacked: $(LINUX26_DIR)/.patched
linux26-config: host-sed $(LINUX26_DIR)/.configured
linux26-update:
cp -dpf $(LINUX26_DIR)/.config $(LINUX26_KCONFIG)
# force rebuild
linux26-force:
touch $(LINUX26_DIR)/.configured
# This has been renamed so we do _NOT_ by default run this on 'make clean'
linux26clean:
rm -f $(STAMP_DIR)/linux_modules_target_installed
rm -f $(LINUX26_KERNEL) $(LINUX26_DIR)/.configured
-$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX26_DIR) clean
linux26-dirclean:
rm -rf $(LINUX26_DIR)
linux26-status: linux-status
# @echo =$()
linux-status:
@echo BOARD_NAME=$(BOARD_NAME)
@echo BR2_BOARD_PATH=$(BR2_BOARD_PATH)
@echo BR2_CUSTOM_LINUX26_PATCH=$(BR2_CUSTOM_LINUX26_PATCH)
@echo BR2_CUSTOM_LINUX26_PATCH_SITE=$(BR2_CUSTOM_LINUX26_PATCH_SITE)
@echo BR2_DOWNLOAD_LINUX26_VERSION=$(BR2_DOWNLOAD_LINUX26_VERSION)
@echo BR2_LINUX_BSP_PATCH=$(BR2_LINUX_BSP_PATCH)
@echo BR2_LINUX_COPYTO=$(BR2_LINUX_COPYTO)
@echo BR2_LINUX_COPYTO_ROOTFS=$(BR2_LINUX_COPYTO_ROOTFS)
@echo BR2_LINUX_COPYTO_TFTPBOOT=$(BR2_LINUX_COPYTO_TFTPBOOT)
@echo BR2_LINUX_VERSION=$(BR2_LINUX_VERSION)
@echo BR2_LINUX26_CUSTOM=$(BR2_LINUX26_CUSTOM)
@echo BR2_LINUX26_VERSION=$(BR2_LINUX26_VERSION)
@echo BR2_KERNEL_ADD_LATEST_MM_PATCH=$(BR2_KERNEL_ADD_LATEST_MM_PATCH)
@echo BR2_KERNEL_ADD_LATEST_RC_PATCH=$(BR2_KERNEL_ADD_LATEST_RC_PATCH)
@echo BR2_KERNEL_ADD_LATEST_SNAPSHOT=$(BR2_KERNEL_ADD_LATEST_SNAPSHOT)
@echo BR2_KERNEL_ADD_MINORPATCH=$(BR2_KERNEL_ADD_MINORPATCH)
@echo BR2_KERNEL_ARCH_PATCH_DIR=$(BR2_KERNEL_ARCH_PATCH_DIR)
@echo BR2_KERNEL_GIT_LEVEL=$(BR2_KERNEL_GIT_LEVEL)
@echo BR2_KERNEL_MINORLEVEL=$(BR2_KERNEL_MINORLEVEL)
@echo BR2_KERNEL_MM_LEVEL=$(BR2_KERNEL_MM_LEVEL)
@echo BR2_KERNEL_PATCH=$(BR2_KERNEL_PATCH)
@echo BR2_KERNEL_PATCH_SITE=$(BR2_KERNEL_PATCH_SITE)
@echo BR2_KERNEL_RC_LEVEL=$(BR2_KERNEL_RC_LEVEL)
@echo BR2_KERNEL_SITE=$(BR2_KERNEL_SITE)
@echo BR2_PACKAGE_LINUX_KCONFIG=$(BR2_PACKAGE_LINUX_KCONFIG)
@echo BR2_PACKAGE_LINUX_USE_DEFCONFIG=$(BR2_PACKAGE_LINUX_USE_DEFCONFIG)
@echo BR2_PACKAGE_LINUX_USE_KCONFIG=$(BR2_PACKAGE_LINUX_USE_KCONFIG)
@echo BR2_PACKAGE_LINUX_USE_XCONFIG=$(BR2_PACKAGE_LINUX_USE_XCONFIG)
@echo DOWNLOAD_LINUX26_VERSION=$(DOWNLOAD_LINUX26_VERSION)
@echo KERNEL_ARCH_PATCH_DIR=$(KERNEL_ARCH_PATCH_DIR)
@echo KERNEL_COND_PATCHES=$(KERNEL_COND_PATCHES)
@echo KERNEL_EXT=$(KERNEL_EXT)
@echo KERNEL_EXTRA_VERSION=$(KERNEL_EXTRA_VERSION)
@echo KERNEL_HEADERS_PATCH_DIR=$(KERNEL_HEADERS_PATCH_DIR)
@echo LINUX_COPYTO=$(LINUX_COPYTO)
@echo LINUX_HEADERS_VERSION=$(LINUX_HEADERS_VERSION)
@echo LINUX26_BINLOC=$(LINUX26_BINLOC)
@echo LINUX26_DIR=$(LINUX26_DIR)
@echo LINUX26_FORMAT=$(LINUX26_FORMAT)
@echo LINUX26_HEADERS_PATCH_DIR=$(LINUX26_HEADERS_PATCH_DIR)
@echo LINUX26_KERNEL=$(LINUX26_KERNEL)
@echo LINUX26_KERNEL_NAME=$(LINUX26_KERNEL_NAME)
@echo LINUX26_LATEST_GIT_PATCH=$(LINUX26_LATEST_GIT_PATCH)
@echo LINUX26_LATEST_MM_PATCH=$(LINUX26_LATEST_MM_PATCH)
@echo LINUX26_LATEST_RC_PATCH=$(LINUX26_LATEST_RC_PATCH)
@echo LINUX26_PATCH_DIR=$(LINUX26_PATCH_DIR)
@echo LINUX26_SOURCE=$(LINUX26_SOURCE)
@echo LINUX26_TARGETS=$(LINUX26_TARGETS)
@echo LINUX26_VERSION=$(LINUX26_VERSION)
@echo LINUX26_MAKE_FLAGS=$(LINUX26_MAKE_FLAGS)
@echo BUILD_DIR=$(BUILD_DIR)
@echo TARGETS=$(TARGETS)
endif