+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
-include $(INCLUDE_DIR)/modules-$(KERNEL).mk
LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.bz2
KERNEL_IDIR:=$(KERNEL_BUILD_DIR)/kernel-ipkg
KERNEL_IPKG:=$(KERNEL_BUILD_DIR)/kernel_$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)_$(ARCH).ipk
+TARGETS += $(KERNEL_IPKG)
INSTALL_TARGETS += $(KERNEL_IPKG)
$(TARGETS): $(PACKAGE_DIR)
-$(LINUX_DIR):
- mkdir -p $@
-
$(PACKAGE_DIR):
mkdir -p $@
echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config
endif
-$(LINUX_DIR)/vmlinux: $(STAMP_DIR)/.linux-compile pkg-install ramdisk-config
+$(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.linux-compile pkg-install ramdisk-config
$(MAKE) -C $(LINUX_DIR) CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) PATH=$(TARGET_PATH)
$(LINUX_KERNEL): $(LINUX_DIR)/vmlinux
- $(TARGET_CROSS)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S $< $@
+ $(KERNEL_CROSS)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S $< $@
touch -c $(LINUX_KERNEL)
$(LINUX_DIR)/.modules_done:
rm -rf $(KERNEL_BUILD_DIR)/modules
$(MAKE) -C "$(LINUX_DIR)" CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) PATH="$(TARGET_PATH)" modules
- $(MAKE) -C "$(LINUX_DIR)" CROSS_COMPILE="$(KERNEL_CROSS)" DEPMOD=true INSTALL_MOD_PATH=$(KERNEL_BUILD_DIR)/modules modules_install
+ $(MAKE) -C "$(LINUX_DIR)" CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) DEPMOD=true INSTALL_MOD_PATH=$(KERNEL_BUILD_DIR)/modules modules_install
touch $(LINUX_DIR)/.modules_done
-$(STAMP_DIR)/.linux-compile:
- @$(MAKE) $(LINUX_DIR)/.modules_done $(TARGETS) $(KERNEL_IPKG)
+modules: $(LINUX_DIR)/.modules_done
+packages: $(TARGETS)
+
+$(LINUX_DIR)/.linux-compile:
ln -sf $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) $(BUILD_DIR)/linux
+ @$(MAKE) modules
+ @$(MAKE) packages
touch $@
$(KERNEL_IPKG):
echo "LINUX_RELEASE:=$(LINUX_RELEASE)" >> $@
pkg-install: FORCE
- @{ [ "$(INSTALL_TARGETS)" != "" ] && $(IPKG) install $(INSTALL_TARGETS) || true; }
+ @for pkg in $(INSTALL_TARGETS); do \
+ $(IPKG) install $$pkg || echo; \
+ done
-source: $(DL_DIR)/$(LINUX_SOURCE)
+download: $(DL_DIR)/$(LINUX_SOURCE)
prepare: $(LINUX_DIR)/.configured
- @mkdir -p $(STAMP_DIR) $(PACKAGE_DIR)
+ @mkdir -p $(LINUX_DIR) $(PACKAGE_DIR)
-compile: prepare $(STAMP_DIR)/.linux-compile
+compile: prepare $(LINUX_DIR)/.linux-compile
install: compile $(LINUX_KERNEL)
mostlyclean: FORCE
- rm -f $(STAMP_DIR)/.linux-compile
+ rm -f $(LINUX_DIR)/.linux-compile
rm -f $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)/.modules_done
rm -f $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)/.drivers-unpacked
$(MAKE) -C $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) clean
rm -f $(STAMP_DIR)/.linux-compile
rm -rf $(KERNEL_BUILD_DIR)
rm -f $(TARGETS)
+