From aad0c0841c56f866c73aa819d2af7b5596604fd9 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 19 Feb 2005 13:00:30 +0000 Subject: [PATCH] demistifying make *clean targets, fix some clean targets issues SVN-Revision: 272 --- openwrt/Makefile | 24 +++++++-------- openwrt/README | 29 +++++++++++++++++++ openwrt/package/linux/linux.config | 2 +- openwrt/package/linux/linux.mk | 6 ++++ openwrt/package/sed/sed.mk | 2 -- openwrt/target/Makefile.in | 17 ++++++----- openwrt/toolchain/binutils/binutils.mk | 4 +-- openwrt/toolchain/ccache/ccache.mk | 4 +-- openwrt/toolchain/gcc/gcc-uclibc-3.x.mk | 6 ++-- .../kernel-headers/kernel-headers.mk | 2 +- openwrt/toolchain/uClibc/uclibc.mk | 2 +- 11 files changed, 66 insertions(+), 32 deletions(-) create mode 100644 openwrt/README diff --git a/openwrt/Makefile b/openwrt/Makefile index 17507b9f8e..43ee3ddba5 100644 --- a/openwrt/Makefile +++ b/openwrt/Makefile @@ -27,8 +27,7 @@ CONFIG_DEFCONFIG = .defconfig CONFIG = package/config noconfig_targets := menuconfig config oldconfig randconfig \ - defconfig allyesconfig allnoconfig clean distclean \ - release tags + defconfig allyesconfig allnoconfig release tags # Pull in the user's configuration file ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) @@ -127,17 +126,17 @@ source: $(TARGETS_SOURCE) # Cleanup and misc junk # ############################################################# -clean: $(TARGETS_CLEAN) - rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) +clean: + rm -rf $(TARGET_DIR) $(IMAGE).* + $(MAKE) $(DIST)-image-clean dirclean: $(TARGETS_DIRCLEAN) - rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) + rm -rf $(TARGET_DIR) $(IMAGE).* + $(MAKE) $(DIST)-image-clean -distclean: - rm -rf $(DL_DIR) $(BUILD_DIR) $(LINUX_KERNEL) $(IMAGE) - -cleanall: - rm -rf $(DL_DIR) $(BUILD_DIR) $(LINUX_KERNEL) $(IMAGE) $(TOOL_BUILD_DIR) +distclean: clean + rm -rf $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) + rm .config* .tmpconfig.h sourceball: rm -rf $(BUILD_DIR) @@ -194,8 +193,8 @@ defconfig: $(CONFIG)/conf # Cleanup and misc junk # ############################################################# -clean: - - $(MAKE) -C $(CONFIG) clean +clean: + @$(MAKE) -C $(CONFIG) clean distclean: clean @@ -204,4 +203,3 @@ endif # ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y) .PHONY: dummy subdirs release distclean clean config oldconfig \ menuconfig tags check test depend - diff --git a/openwrt/README b/openwrt/README new file mode 100644 index 0000000000..d718e5971e --- /dev/null +++ b/openwrt/README @@ -0,0 +1,29 @@ +This is the buildsystem for the OpenWrt Linux Distribution +It is a modified uClibc buildroot2. + +Please use "make menuconfig" to configure your appreciated +configuration for the toolchain and firmware. + +Simply running 'make' will build your firmware and a tarball +of kernel modules. It will download all sources, build the +cross-compile toolchain, the kernel and all choosen applications. + +You can use flash.sh for remotely updating your embedded system +via tftp. + + +There are some cleanup targets we would like to explain. +"make clean" will only clean the firmware images and the root +filesystem. "make dirclean" will remove the extracted kernel source +and all exctracted software. (busybox,bridge-utils,..), but will +preserve your toolchain. (compiler,linker,..) +"make distclean" will remove everything, including the toolchain, +all downloaded source code archives and your firmware configuration. +You can cleanup separate directories by using "make application-dirclean" +and rebuild the firmware with "make". + +Be happy.. + Your OpenWRT Project + http://www.openwrt.org + + diff --git a/openwrt/package/linux/linux.config b/openwrt/package/linux/linux.config index aef2c2888e..423fd8ce43 100644 --- a/openwrt/package/linux/linux.config +++ b/openwrt/package/linux/linux.config @@ -86,7 +86,7 @@ CONFIG_BCM4704=y # CONFIG_HIGHMEM is not set CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set -CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs init=/etc/preinit noinitrd console=ttyS0,115200" +CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=jffs2 init=/etc/preinit noinitrd console=ttyS0,115200" CONFIG_PCI=y CONFIG_NONCOHERENT_IO=y CONFIG_NEW_TIME_C=y diff --git a/openwrt/package/linux/linux.mk b/openwrt/package/linux/linux.mk index 6d4545b3c4..bead2226a6 100644 --- a/openwrt/package/linux/linux.mk +++ b/openwrt/package/linux/linux.mk @@ -57,6 +57,12 @@ endif $(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched -cp $(LINUX_KCONFIG) $(LINUX_DIR)/.config +ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS_LZMA),y) + $(SED) "s,rootfstype=jffs2,rootfstype=squashfs," $(LINUX_DIR)/.config +endif +ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS),y) + $(SED) "s,rootfstype=jffs2,rootfstype=squashfs," $(LINUX_DIR)/.config +endif $(SED) "s,^CROSS_COMPILE.*,CROSS_COMPILE=$(KERNEL_CROSS),g;" $(LINUX_DIR)/Makefile $(SED) "s,^CROSS_COMPILE.*,CROSS_COMPILE=$(KERNEL_CROSS),g;" $(LINUX_DIR)/arch/mips/Makefile $(SED) "s,\-mcpu=,\-mtune=,g;" $(LINUX_DIR)/arch/mips/Makefile diff --git a/openwrt/package/sed/sed.mk b/openwrt/package/sed/sed.mk index 637768920c..8de0ea64cd 100644 --- a/openwrt/package/sed/sed.mk +++ b/openwrt/package/sed/sed.mk @@ -69,7 +69,6 @@ use-sed-host-binary: host-sed: $(HOST_SED_TARGET) host-sed-clean: - $(MAKE) DESTDIR=$(STAGING_DIR) -C $(SED_DIR1) uninstall -$(MAKE) -C $(SED_DIR1) clean host-sed-dirclean: @@ -127,7 +126,6 @@ sed-target_binary: $(SED_DIR2)/$(SED_BINARY) sed: uclibc sed-target_binary sed-clean: - $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(SED_DIR2) uninstall -$(MAKE) -C $(SED_DIR2) clean sed-dirclean: diff --git a/openwrt/target/Makefile.in b/openwrt/target/Makefile.in index 2d23d8336a..40c9a0578b 100644 --- a/openwrt/target/Makefile.in +++ b/openwrt/target/Makefile.in @@ -1,17 +1,20 @@ # Default target skeleton stuff, may be overridden +DIST=openwrt TARGET_SKELETON=target/default/skel.tar.gz TARGET_SKEL_DIR=target/default/target_skeleton include target/device/Makefile.in -openwrt-linux.trx: openwrt-trx - PATH=$(TARGET_PATH) trx -o openwrt-linux.trx $(LINUX_DIR)/$(LINUX_BINLOC) $(IMAGE).$(ROOTFS) +$(DIST)-linux.trx: openwrt-trx + PATH=$(TARGET_PATH) trx -o $(DIST)-linux.trx $(LINUX_DIR)/$(LINUX_BINLOC) $(IMAGE).$(ROOTFS) -openwrt-gs-code.bin: openwrt-addpattern openwrt-linux.trx - PATH=$(TARGET_PATH) addpattern -2 -i openwrt-linux.trx -o openwrt-gs-code.bin -g +$(DIST)-gs-code.bin: openwrt-addpattern $(DIST)-linux.trx + PATH=$(TARGET_PATH) addpattern -2 -i $(DIST)-linux.trx -o $(DIST)-gs-code.bin -g -openwrt-g-code.bin: openwrt-gs-code.bin - sed -e "1s,^W54S,W54G," < openwrt-gs-code.bin > openwrt-g-code.bin +$(DIST)-g-code.bin: $(DIST)-gs-code.bin + sed -e "1s,^W54S,W54G," < $(DIST)-gs-code.bin > $(DIST)-g-code.bin -openwrt-image: openwrt openwrt-g-code.bin +openwrt-image: openwrt $(DIST)-g-code.bin +$(DIST)-image-clean: + @-rm $(DIST)-* 2>/dev/null diff --git a/openwrt/toolchain/binutils/binutils.mk b/openwrt/toolchain/binutils/binutils.mk index ef9c3dc0a2..3097a4bf21 100644 --- a/openwrt/toolchain/binutils/binutils.mk +++ b/openwrt/toolchain/binutils/binutils.mk @@ -79,7 +79,7 @@ binutils-clean: rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)* -$(MAKE) -C $(BINUTILS_DIR1) clean -binutils-dirclean: +binutils-toolclean: rm -rf $(BINUTILS_DIR1) @@ -130,5 +130,5 @@ binutils_target-clean: rm -f $(TARGET_DIR)/bin/$(REAL_GNU_TARGET_NAME)* -$(MAKE) -C $(BINUTILS_DIR2) clean -binutils_target-dirclean: +binutils_target-toolclean: rm -rf $(BINUTILS_DIR2) diff --git a/openwrt/toolchain/ccache/ccache.mk b/openwrt/toolchain/ccache/ccache.mk index e2fdd71cc1..cafdcd3d5d 100644 --- a/openwrt/toolchain/ccache/ccache.mk +++ b/openwrt/toolchain/ccache/ccache.mk @@ -83,7 +83,7 @@ ccache-clean: $(MAKE) -C $(CCACHE_DIR1) uninstall -$(MAKE) -C $(CCACHE_DIR1) clean -ccache-dirclean: +ccache-toolclean: rm -rf $(CCACHE_DIR1) @@ -147,5 +147,5 @@ ccache_target-clean: rm -f $(TARGET_DIR)/$(CCACHE_TARGET_BINARY) -$(MAKE) -C $(CCACHE_DIR2) clean -ccache_target-dirclean: +ccache_target-toolclean: rm -rf $(CCACHE_DIR2) diff --git a/openwrt/toolchain/gcc/gcc-uclibc-3.x.mk b/openwrt/toolchain/gcc/gcc-uclibc-3.x.mk index 3457b4a69b..d1d372ecfb 100644 --- a/openwrt/toolchain/gcc/gcc-uclibc-3.x.mk +++ b/openwrt/toolchain/gcc/gcc-uclibc-3.x.mk @@ -127,7 +127,7 @@ gcc_initial-clean: rm -rf $(GCC_BUILD_DIR1) rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)* -gcc_initial-dirclean: +gcc_initial-toolclean: rm -rf $(GCC_BUILD_DIR1) ############################################################# @@ -225,7 +225,7 @@ gcc-clean: rm -rf $(GCC_BUILD_DIR2) rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)* -gcc-dirclean: +gcc-toolclean: rm -rf $(GCC_BUILD_DIR2) ############################################################# @@ -315,7 +315,7 @@ gcc_target-clean: rm -rf $(GCC_BUILD_DIR3) rm -f $(TARGET_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)* -gcc_target-dirclean: +gcc_target-toolclean: rm -rf $(GCC_BUILD_DIR3) endif diff --git a/openwrt/toolchain/kernel-headers/kernel-headers.mk b/openwrt/toolchain/kernel-headers/kernel-headers.mk index 7335e24a35..9edf1a0f1b 100644 --- a/openwrt/toolchain/kernel-headers/kernel-headers.mk +++ b/openwrt/toolchain/kernel-headers/kernel-headers.mk @@ -40,5 +40,5 @@ kernel-headers-source: $(DL_DIR)/$(LINUX_HEADERS_SOURCE) kernel-headers-clean: clean rm -rf $(LINUX_HEADERS_DIR) -kernel-headers-dirclean: +kernel-headers-toolclean: rm -rf $(LINUX_HEADERS_DIR) diff --git a/openwrt/toolchain/uClibc/uclibc.mk b/openwrt/toolchain/uClibc/uclibc.mk index d104ce145c..15cf6b2793 100644 --- a/openwrt/toolchain/uClibc/uclibc.mk +++ b/openwrt/toolchain/uClibc/uclibc.mk @@ -137,7 +137,7 @@ uclibc-clean: -$(MAKE1) -C $(UCLIBC_DIR) clean rm -f $(UCLIBC_DIR)/.config -uclibc-dirclean: +uclibc-toolclean: rm -rf $(UCLIBC_DIR) uclibc-target-utils: $(TARGET_DIR)/usr/bin/ldd