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 -; \
$(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
$(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
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
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)" \
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)
# 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)
$(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}