add rebuild target for the linux directory

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1149 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2005-06-05 14:42:57 +00:00
parent 941f587141
commit d703a241d3
4 changed files with 31 additions and 11 deletions

View 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

View 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

View 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)

View 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}