fix linux kernel build
[openwrt-10.03/.git] / target / linux / linux-2.4 / Makefile
index af06b1154e9338b75bbca482c026b21e773cfaa2..0c9021b1a015e011ef40cd3b78c3bb0b5684f011 100644 (file)
@@ -187,7 +187,7 @@ $(LINUX_DIR)/.depend_done:  $(LINUX_DIR)/.configured
        touch $(LINUX_DIR)/.depend_done
 
 $(LINUX_DIR)/$(LINUX_BINLOC): $(LINUX_DIR)/.depend_done
-       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) PATH=$(TARGET_PATH) CFLAGS_KERNEL="-fno-delayed-branch " $(LINUX_FORMAT)
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) PATH=$(TARGET_PATH) $(LINUX_FORMAT)
 
 $(LINUX_KERNEL): $(LINUX_DIR)/$(LINUX_BINLOC)
        cp -fa $< $@ 
@@ -198,7 +198,7 @@ $(LINUX_IMAGE): $(LINUX_KERNEL)
 
 $(LINUX_DIR)/.modules_done: $(LINUX_KERNEL) $(LINUX_IMAGE)
        rm -rf $(LINUX_BUILD_DIR)/modules
-       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) PATH=$(TARGET_PATH) CFLAGS_KERNEL="-fno-delayed-branch " modules
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) PATH=$(TARGET_PATH) modules
        $(MAKE) -C $(LINUX_DIR) DEPMOD=true INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules modules_install
        touch $(LINUX_DIR)/.modules_done
 
@@ -213,6 +213,7 @@ $(TARGET_MODULES_DIR):
 source: $(DL_DIR)/$(LINUX_SOURCE)
 prepare: $(LINUX_DIR)/.configured
 compile: $(LINUX_DIR)/.modules_done $(TARGETS)
+       ln -sf $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) $(LINUX_DIR)
        $(MAKE) -C $(TOPDIR)/target/linux/package \
                TARGET_DIR="$(LINUX_TARGET_DIR)" \
                BUILD_DIR="$(LINUX_BUILD_DIR)" \
@@ -225,6 +226,18 @@ install: compile $(TARGET_MODULES_DIR)
        echo -e 'dest root /\noption offline_root $(LINUX_BUILD_DIR)/root' > $(LINUX_BUILD_DIR)/ipkg.conf
        [ "$(INSTALL_TARGETS)" != "" ] && $(IPKG_KERNEL) install $(INSTALL_TARGETS) || true
 
+mostlyclean:
+       rm -f $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION)/.{drivers-unpacked,modules_done}
+       $(MAKE) -C $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) clean
+       rm -f $(LINUX_KERNEL) $(LINUX_IMAGE)
+
+rebuild:
+       -$(MAKE) mostlyclean
+       if [ -f $(LINUX_KERNEL) ]; then \
+               $(MAKE) clean; \
+       fi
+       $(MAKE) compile
+
 clean:
        rm -rf $(LINUX_BUILD_DIR)
        rm -f $(TARGETS)