Added a readme to the uml target for a quick start
[openwrt-10.03/.git] / include / kernel-build.mk
index dfd422744790ae233df58c207f79d070e1c20787..38ea9a18eb951d34f38b6f4ec01fbc3f046384cd 100644 (file)
@@ -1,3 +1,9 @@
+# 
+# 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
@@ -8,13 +14,11 @@ LINUX_SITE=http://www.us.kernel.org/pub/linux/kernel/v$(KERNEL) \
 
 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 $@
 
@@ -61,22 +65,26 @@ else
        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):
@@ -94,18 +102,20 @@ $(TOPDIR)/.kernel.mk:
        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
@@ -122,3 +132,4 @@ clean: FORCE
        rm -f $(STAMP_DIR)/.linux-compile
        rm -rf $(KERNEL_BUILD_DIR)
        rm -f $(TARGETS)
+