summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/Makefile6
-rw-r--r--target/linux/Makefile7
-rw-r--r--target/linux/linux-2.4/Makefile14
-rw-r--r--target/linux/linux-2.4/broadcom.mk15
4 files changed, 31 insertions, 11 deletions
diff --git a/target/Makefile b/target/Makefile
index 05d0023d7..88476a799 100644
--- a/target/Makefile
+++ b/target/Makefile
@@ -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
diff --git a/target/linux/Makefile b/target/linux/Makefile
index ced6dca00..d1b4d545a 100644
--- a/target/linux/Makefile
+++ b/target/linux/Makefile
@@ -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
diff --git a/target/linux/linux-2.4/Makefile b/target/linux/linux-2.4/Makefile
index 08e91da6d..9a594b77f 100644
--- a/target/linux/linux-2.4/Makefile
+++ b/target/linux/linux-2.4/Makefile
@@ -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)
diff --git a/target/linux/linux-2.4/broadcom.mk b/target/linux/linux-2.4/broadcom.mk
index bd0bb9ec1..714caf6e0 100644
--- a/target/linux/linux-2.4/broadcom.mk
+++ b/target/linux/linux-2.4/broadcom.mk
@@ -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}