add rebuild target for the linux directory
authorFelix Fietkau <nbd@openwrt.org>
Sun, 5 Jun 2005 14:42:57 +0000 (14:42 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 5 Jun 2005 14:42:57 +0000 (14:42 +0000)
SVN-Revision: 1149

openwrt/target/Makefile
openwrt/target/linux/Makefile
openwrt/target/linux/linux-2.4/Makefile
openwrt/target/linux/linux-2.4/broadcom.mk

index 05d0023d7b9e6761d1dbc0f99e881654a904ffc8..88476a7993248c02009939bee81656479da90615 100644 (file)
@@ -45,7 +45,9 @@ $(foreach fs,$(TARGET_FS),$(eval $(call BIN_template,$(fs))))
 INSTALL_TARGET_DIRS:=$(patsubst %,%-install,$(TARGET_DIRS))
 $(INSTALL_TARGET_DIRS): image_clean $(TARGET_DIR)/etc/sysconf $(BIN_DIR)
 
-prepare: $(patsubst %,%-prepare,$(TARGET_DIRS))
+prepare: $(patsubst %,%-prepare,$(TARGET_DIRS)) $(TARGET_DIR)
+
+$(TARGET_DIR):
        mkdir -p $(TARGET_DIR)
        if [ -f "$(TARGET_SKELETON)" ] ; then \
        zcat $(TARGET_SKELETON) | tar -C $(BUILD_DIR) -xf -; \
@@ -88,6 +90,8 @@ $(TARGET_DIR)/etc/sysconf:
        $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
 %-compile: %-prepare
        $(MAKE) -C $(patsubst %-compile,%,$@) compile
+%-rebuild: 
+       $(MAKE) -C $(patsubst %-rebuild,%,$@) rebuild
 %-install: %-compile
        $(MAKE) -C $(patsubst %-install,%,$@) install
 
index ced6dca00528d6f3771bd9b43bdfaac8f239da54..d1b4d545a8348e78fe7d6b9abd137d9bbfbb524b 100644 (file)
@@ -11,6 +11,9 @@ $(1)/$(2)-prepare:
 $(1)/$(2)-compile:
        $(MAKE) -C $(1) BOARD="$(2)" compile
 
+$(1)/$(2)-rebuild:
+       $(MAKE) -C $(1) BOARD="$(2)" rebuild
+
 $(1)/$(2)-install:
        $(MAKE) -C $(1) BOARD="$(2)" install
 
@@ -18,15 +21,17 @@ ifeq ($(BR2_LINUX_$(3)),y)
 clean: $(1)/$(2)-clean
 prepare: $(1)/$(2)-prepare
 compile: $(1)/$(2)-compile
+rebuild: $(1)/$(2)-rebuild
 install: $(1)/$(2)-install
 endif
 
-.PHONY: $(1)/$(2)-clean $(1)/$(2)-prepare $(1)/$(2)-compile $(1)/$(2)-install
+.PHONY: $(1)/$(2)-clean $(1)/$(2)-prepare $(1)/$(2)-compile $(1)/$(2)-rebuild $(1)/$(2)-install
 endef
 
 prepare:
 compile:
 install:
+rebuild:
 clean:
        rm -rf $(BUILD_DIR)/kernel
 
index 08e91da6d21b2c6b18d185ea0283b552a6e84992..9a594b77feb7da64b66e7f609cf67ae66647738c 100644 (file)
@@ -213,6 +213,8 @@ $(TARGET_MODULES_DIR):
 source: $(DL_DIR)/$(LINUX_SOURCE)
 prepare: $(LINUX_DIR)/.configured
 compile: $(LINUX_DIR)/.modules_done $(TARGETS)
+       rm -f $(LINUX_DIR)
+       ln -s $(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 +227,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)
index bd0bb9ec18e1afc5425d9c0fc944d508a7e3b2ef..714caf6e03bfbdfb646da164b62d198c4b5cec66 100644 (file)
@@ -10,8 +10,8 @@ LINUX_BINARY_DRIVER_SITE=http://openwrt.org/downloads/
 # proprietary driver, extracted from asus GPL sourcetree GPL_1941.zip
 LINUX_BINARY_WL_DRIVER=kernel-binary-wl-0.3.tar.gz
 LINUX_BINARY_WL_MD5SUM=cc45df670bcfb4e74a709b9d7beba636
-LINUX_ET_DRIVER=kernel-source-et-0.9.tar.gz
-LINUX_ET_MD5SUM=eba31483e5ff4f8420827538ab452b7c
+LINUX_ET_DRIVER=kernel-source-et-0.10.tar.gz
+LINUX_ET_MD5SUM=408901f0b3c672ea0f353795391f07f6
 
 $(DL_DIR)/$(LINUX_BINARY_WL_DRIVER):
        $(SCRIPT_DIR)/download.pl $(DL_DIR) $(LINUX_BINARY_WL_DRIVER) $(LINUX_BINARY_WL_MD5SUM) $(LINUX_BINARY_DRIVER_SITE)
@@ -19,24 +19,21 @@ $(DL_DIR)/$(LINUX_BINARY_WL_DRIVER):
 $(DL_DIR)/$(LINUX_ET_DRIVER):
        $(SCRIPT_DIR)/download.pl $(DL_DIR) $(LINUX_ET_DRIVER) $(LINUX_ET_MD5SUM) $(LINUX_BINARY_DRIVER_SITE)
        
-$(LINUX_DIR)/.patched: $(LINUX_DIR)/.drivers-unpacked
+$(LINUX_DIR)/.depend_done $(LINUX_DIR)/.modules_done: drivers-unpacked
 
-$(LINUX_DIR)/.drivers-unpacked:
+drivers-unpacked:
        -mkdir -p $(BUILD_DIR)
        zcat $(DL_DIR)/$(LINUX_BINARY_WL_DRIVER) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
        zcat $(DL_DIR)/$(LINUX_ET_DRIVER) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
        # copy binary wlan driver
-       mkdir $(LINUX_DIR)/drivers/net/{et,wl}
+       mkdir -p $(LINUX_DIR)/drivers/net/{et,wl}
        cp -a $(BUILD_DIR)/wl/*.o $(LINUX_DIR)/drivers/net/wl
        # copy proprietary et source
        cp -a $(BUILD_DIR)/et/* $(LINUX_DIR)/drivers/net/et
        mkdir -p $(LINUX_DIR)/arch/mips/bcm947xx/include/
        cp -a $(BUILD_DIR)/et/*.h $(LINUX_DIR)/arch/mips/bcm947xx/include/
-       touch $@
 
 linux-dirclean: drivers-clean
 
 drivers-clean:
-       rm -rf $(BUILD_DIR)/wl
-       rm -rf $(BUILD_DIR)/et
-
+       rm -rf $(BUILD_DIR)/{wl,et}