demistifying make *clean targets, fix some clean targets issues

SVN-Revision: 272
This commit is contained in:
Waldemar Brodkorb 2005-02-19 13:00:30 +00:00
parent 2572b0e67f
commit aad0c0841c
11 changed files with 66 additions and 32 deletions

View file

@ -27,8 +27,7 @@ CONFIG_DEFCONFIG = .defconfig
CONFIG = package/config CONFIG = package/config
noconfig_targets := menuconfig config oldconfig randconfig \ noconfig_targets := menuconfig config oldconfig randconfig \
defconfig allyesconfig allnoconfig clean distclean \ defconfig allyesconfig allnoconfig release tags
release tags
# Pull in the user's configuration file # Pull in the user's configuration file
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
@ -127,17 +126,17 @@ source: $(TARGETS_SOURCE)
# Cleanup and misc junk # Cleanup and misc junk
# #
############################################################# #############################################################
clean: $(TARGETS_CLEAN) clean:
rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) rm -rf $(TARGET_DIR) $(IMAGE).*
$(MAKE) $(DIST)-image-clean
dirclean: $(TARGETS_DIRCLEAN) dirclean: $(TARGETS_DIRCLEAN)
rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) rm -rf $(TARGET_DIR) $(IMAGE).*
$(MAKE) $(DIST)-image-clean
distclean: distclean: clean
rm -rf $(DL_DIR) $(BUILD_DIR) $(LINUX_KERNEL) $(IMAGE) rm -rf $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR)
rm .config* .tmpconfig.h
cleanall:
rm -rf $(DL_DIR) $(BUILD_DIR) $(LINUX_KERNEL) $(IMAGE) $(TOOL_BUILD_DIR)
sourceball: sourceball:
rm -rf $(BUILD_DIR) rm -rf $(BUILD_DIR)
@ -195,7 +194,7 @@ defconfig: $(CONFIG)/conf
# #
############################################################# #############################################################
clean: clean:
- $(MAKE) -C $(CONFIG) clean @$(MAKE) -C $(CONFIG) clean
distclean: clean distclean: clean
@ -204,4 +203,3 @@ endif # ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y)
.PHONY: dummy subdirs release distclean clean config oldconfig \ .PHONY: dummy subdirs release distclean clean config oldconfig \
menuconfig tags check test depend menuconfig tags check test depend

29
openwrt/README Normal file
View file

@ -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

View file

@ -86,7 +86,7 @@ CONFIG_BCM4704=y
# CONFIG_HIGHMEM is not set # CONFIG_HIGHMEM is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set # 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_PCI=y
CONFIG_NONCOHERENT_IO=y CONFIG_NONCOHERENT_IO=y
CONFIG_NEW_TIME_C=y CONFIG_NEW_TIME_C=y

View file

@ -57,6 +57,12 @@ endif
$(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched $(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched
-cp $(LINUX_KCONFIG) $(LINUX_DIR)/.config -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)/Makefile
$(SED) "s,^CROSS_COMPILE.*,CROSS_COMPILE=$(KERNEL_CROSS),g;" $(LINUX_DIR)/arch/mips/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 $(SED) "s,\-mcpu=,\-mtune=,g;" $(LINUX_DIR)/arch/mips/Makefile

View file

@ -69,7 +69,6 @@ use-sed-host-binary:
host-sed: $(HOST_SED_TARGET) host-sed: $(HOST_SED_TARGET)
host-sed-clean: host-sed-clean:
$(MAKE) DESTDIR=$(STAGING_DIR) -C $(SED_DIR1) uninstall
-$(MAKE) -C $(SED_DIR1) clean -$(MAKE) -C $(SED_DIR1) clean
host-sed-dirclean: host-sed-dirclean:
@ -127,7 +126,6 @@ sed-target_binary: $(SED_DIR2)/$(SED_BINARY)
sed: uclibc sed-target_binary sed: uclibc sed-target_binary
sed-clean: sed-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(SED_DIR2) uninstall
-$(MAKE) -C $(SED_DIR2) clean -$(MAKE) -C $(SED_DIR2) clean
sed-dirclean: sed-dirclean:

View file

@ -1,17 +1,20 @@
# Default target skeleton stuff, may be overridden # Default target skeleton stuff, may be overridden
DIST=openwrt
TARGET_SKELETON=target/default/skel.tar.gz TARGET_SKELETON=target/default/skel.tar.gz
TARGET_SKEL_DIR=target/default/target_skeleton TARGET_SKEL_DIR=target/default/target_skeleton
include target/device/Makefile.in include target/device/Makefile.in
openwrt-linux.trx: openwrt-trx $(DIST)-linux.trx: openwrt-trx
PATH=$(TARGET_PATH) trx -o openwrt-linux.trx $(LINUX_DIR)/$(LINUX_BINLOC) $(IMAGE).$(ROOTFS) PATH=$(TARGET_PATH) trx -o $(DIST)-linux.trx $(LINUX_DIR)/$(LINUX_BINLOC) $(IMAGE).$(ROOTFS)
openwrt-gs-code.bin: openwrt-addpattern openwrt-linux.trx $(DIST)-gs-code.bin: openwrt-addpattern $(DIST)-linux.trx
PATH=$(TARGET_PATH) addpattern -2 -i openwrt-linux.trx -o openwrt-gs-code.bin -g PATH=$(TARGET_PATH) addpattern -2 -i $(DIST)-linux.trx -o $(DIST)-gs-code.bin -g
openwrt-g-code.bin: openwrt-gs-code.bin $(DIST)-g-code.bin: $(DIST)-gs-code.bin
sed -e "1s,^W54S,W54G," < openwrt-gs-code.bin > openwrt-g-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

View file

@ -79,7 +79,7 @@ binutils-clean:
rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)* rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
-$(MAKE) -C $(BINUTILS_DIR1) clean -$(MAKE) -C $(BINUTILS_DIR1) clean
binutils-dirclean: binutils-toolclean:
rm -rf $(BINUTILS_DIR1) rm -rf $(BINUTILS_DIR1)
@ -130,5 +130,5 @@ binutils_target-clean:
rm -f $(TARGET_DIR)/bin/$(REAL_GNU_TARGET_NAME)* rm -f $(TARGET_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
-$(MAKE) -C $(BINUTILS_DIR2) clean -$(MAKE) -C $(BINUTILS_DIR2) clean
binutils_target-dirclean: binutils_target-toolclean:
rm -rf $(BINUTILS_DIR2) rm -rf $(BINUTILS_DIR2)

View file

@ -83,7 +83,7 @@ ccache-clean:
$(MAKE) -C $(CCACHE_DIR1) uninstall $(MAKE) -C $(CCACHE_DIR1) uninstall
-$(MAKE) -C $(CCACHE_DIR1) clean -$(MAKE) -C $(CCACHE_DIR1) clean
ccache-dirclean: ccache-toolclean:
rm -rf $(CCACHE_DIR1) rm -rf $(CCACHE_DIR1)
@ -147,5 +147,5 @@ ccache_target-clean:
rm -f $(TARGET_DIR)/$(CCACHE_TARGET_BINARY) rm -f $(TARGET_DIR)/$(CCACHE_TARGET_BINARY)
-$(MAKE) -C $(CCACHE_DIR2) clean -$(MAKE) -C $(CCACHE_DIR2) clean
ccache_target-dirclean: ccache_target-toolclean:
rm -rf $(CCACHE_DIR2) rm -rf $(CCACHE_DIR2)

View file

@ -127,7 +127,7 @@ gcc_initial-clean:
rm -rf $(GCC_BUILD_DIR1) rm -rf $(GCC_BUILD_DIR1)
rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)* rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
gcc_initial-dirclean: gcc_initial-toolclean:
rm -rf $(GCC_BUILD_DIR1) rm -rf $(GCC_BUILD_DIR1)
############################################################# #############################################################
@ -225,7 +225,7 @@ gcc-clean:
rm -rf $(GCC_BUILD_DIR2) rm -rf $(GCC_BUILD_DIR2)
rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)* rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
gcc-dirclean: gcc-toolclean:
rm -rf $(GCC_BUILD_DIR2) rm -rf $(GCC_BUILD_DIR2)
############################################################# #############################################################
@ -315,7 +315,7 @@ gcc_target-clean:
rm -rf $(GCC_BUILD_DIR3) rm -rf $(GCC_BUILD_DIR3)
rm -f $(TARGET_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)* rm -f $(TARGET_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)*
gcc_target-dirclean: gcc_target-toolclean:
rm -rf $(GCC_BUILD_DIR3) rm -rf $(GCC_BUILD_DIR3)
endif endif

View file

@ -40,5 +40,5 @@ kernel-headers-source: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
kernel-headers-clean: clean kernel-headers-clean: clean
rm -rf $(LINUX_HEADERS_DIR) rm -rf $(LINUX_HEADERS_DIR)
kernel-headers-dirclean: kernel-headers-toolclean:
rm -rf $(LINUX_HEADERS_DIR) rm -rf $(LINUX_HEADERS_DIR)

View file

@ -137,7 +137,7 @@ uclibc-clean:
-$(MAKE1) -C $(UCLIBC_DIR) clean -$(MAKE1) -C $(UCLIBC_DIR) clean
rm -f $(UCLIBC_DIR)/.config rm -f $(UCLIBC_DIR)/.config
uclibc-dirclean: uclibc-toolclean:
rm -rf $(UCLIBC_DIR) rm -rf $(UCLIBC_DIR)
uclibc-target-utils: $(TARGET_DIR)/usr/bin/ldd uclibc-target-utils: $(TARGET_DIR)/usr/bin/ldd