From 3c4f91a59db330595919efecf54aade16e3b6f23 Mon Sep 17 00:00:00 2001 From: Abdoulaye Walsimou Gaye Date: Sun, 5 Feb 2012 15:16:51 +0100 Subject: Toolchain: do not remove builddirs of toolchain components, instead clean them Signed-off-by: Abdoulaye Walsimou Gaye --- mk/binutils.mk | 3 +++ mk/eglibc.mk | 9 +++++++++ mk/gcc.mk | 2 ++ mk/gmp.mk | 3 +++ mk/gperf_host.mk | 2 +- mk/linux.mk | 14 +++++++++++++- mk/mpc.mk | 3 +++ mk/mpfr.mk | 3 +++ mk/toolchain.mk | 4 ++-- mk/uclibc.mk | 10 ++++++++++ 10 files changed, 49 insertions(+), 4 deletions(-) diff --git a/mk/binutils.mk b/mk/binutils.mk index 3bb703f..a1ef925 100644 --- a/mk/binutils.mk +++ b/mk/binutils.mk @@ -41,3 +41,6 @@ BINUTILS_PREFIX := $(TOOLS) binutils_install: $(call embtk_install_hostpkg,binutils) + +binutils_clean: + $(Q)rm -rf $(BINUTILS_BUILD_DIR) diff --git a/mk/eglibc.mk b/mk/eglibc.mk index 88a1238..1530043 100644 --- a/mk/eglibc.mk +++ b/mk/eglibc.mk @@ -78,6 +78,15 @@ eglibc_install: $(Q)$(if $(call __embtk_pkg_installed-y,eglibc), \ true,$(__embtk_eglibc_install)) +# +# clean targets +# +eglibc_clean: + $(Q)rm -rf $(EGLIBC_BUILD_DIR) + +eglibc_headers_clean: + $(Q)rm -rf $(EGLIBC_HEADERS_BUILD_DIR) + # # download and macros # diff --git a/mk/gcc.mk b/mk/gcc.mk index 6680486..ed421ef 100644 --- a/mk/gcc.mk +++ b/mk/gcc.mk @@ -60,6 +60,8 @@ endif gcc%_install: $(call embtk_install_hostpkg,$(patsubst %_install,%,$@)) +gcc%_clean: + $(Q)rm -rf $(GCC$*_BUILD_DIR) # # GCC first stage # diff --git a/mk/gmp.mk b/mk/gmp.mk index 9a8c480..d37ba66 100644 --- a/mk/gmp.mk +++ b/mk/gmp.mk @@ -35,3 +35,6 @@ export GMP_HOST_DIR GMP_HOST_CONFIGURE_OPTS := --disable-shared --enable-static GMP_HOST_PREFIX := $(GMP_HOST_DIR) + +gmp_host_clean: + $(Q)rm -rf $(GMP_HOST_BUILD_DIR) diff --git a/mk/gperf_host.mk b/mk/gperf_host.mk index 55e2784..b995ab5 100644 --- a/mk/gperf_host.mk +++ b/mk/gperf_host.mk @@ -31,4 +31,4 @@ GPERF_HOST_SRC_DIR := $(TOOLS_BUILD)/gperf-$(GPERF_HOST_VERSION) GPERF_HOST_BUILD_DIR := $(TOOLS_BUILD)/gperf-$(GPERF_HOST_VERSION) gperf_host_clean: - $(embtk_pinfo,"Clean up gperf for host...") + $(Q)rm -rf $(GPERF_HOST_BUILD_DIR) diff --git a/mk/linux.mk b/mk/linux.mk index d02526d..3318aa0 100644 --- a/mk/linux.mk +++ b/mk/linux.mk @@ -35,7 +35,6 @@ LINUX_MAJORV := $(call embtk_get_pkgversion,linux_major) LINUX_LONGTERMV := $(call embtk_get_pkgversion,linux_longterm) LINUX_VERSION := $(call embtk_get_pkgversion,linux) LINUX_SITE := $(call __LINUX_SITE) -LINUX_SITE_MIRROR3 := ftp://ftp.embtoolkit.org/embtoolkit.org/packages-mirror LINUX_PACKAGE := linux-$(LINUX_VERSION).tar.bz2 LINUX_SRC_DIR := $(TOOLS_BUILD)/linux-$(LINUX_VERSION) LINUX_BUILD_DIR := $(TOOLS_BUILD)/linux-$(LINUX_VERSION) @@ -59,3 +58,16 @@ $(LINUX_BUILD_DIR)/.headers_installed: download_linux download_linux_headers: $(call embtk_download_pkg,linux) + +# +# clean target +# +define embtk_linux_clean + if [ -d $(LINUX_BUILD_DIR) ]; then \ + $(MAKE) -C $(LINUX_BUILD_DIR) distclean; \ + rm -rf $(LINUX_BUILD_DIR)/.headers_installed; \ + fi +endef + +linux_clean linux_headers_clean: + $(embtk_linux_clean) diff --git a/mk/mpc.mk b/mk/mpc.mk index 3de17df..0b55558 100644 --- a/mk/mpc.mk +++ b/mk/mpc.mk @@ -37,3 +37,6 @@ MPC_HOST_CONFIGURE_OPTS := --disable-shared --enable-static \ --with-gmp=$(GMP_HOST_DIR) \ --with-mpfr=$(MPFR_HOST_DIR) MPC_HOST_PREFIX := $(MPC_HOST_DIR) + +mpc_host_clean: + $(Q)rm -rf $(MPC_HOST_BUILD_DIR) diff --git a/mk/mpfr.mk b/mk/mpfr.mk index 6096fd5..0224f4d 100644 --- a/mk/mpfr.mk +++ b/mk/mpfr.mk @@ -36,3 +36,6 @@ export MPFR_HOST_DIR MPFR_HOST_CONFIGURE_OPTS := --disable-shared --enable-static MPFR_HOST_CONFIGURE_OPTS += --with-gmp=$(GMP_HOST_DIR) MPFR_HOST_PREFIX := $(MPFR_HOST_DIR) + +mpfr_host_clean: + $(Q)rm -rf $(MPFR_HOST_BUILD_DIR) diff --git a/mk/toolchain.mk b/mk/toolchain.mk index d9efc6a..fa6956a 100644 --- a/mk/toolchain.mk +++ b/mk/toolchain.mk @@ -164,9 +164,9 @@ define __embtk_toolchain_build $(call embtk_pinfo,"Building new $(GNU_TARGET)/$(EMBTK_MCU_FLAG) CORE toolchain - please wait...") rm -rf $(TOOLCHAIN_DIR)/.installed $(foreach dep,$(patsubst %_install,%,$(TOOLCHAIN_DEPS)), - rm -rf $(call __embtk_pkg_builddir,$(dep));) + $(MAKE) $(dep)_clean;) $(foreach pkg,$(__embtk_rootfs_pkgs-y),$(MAKE) $(pkg)_clean;) - rm -rf $(SYSROOT) + rm -rf $(SYSROOT) $(TOOLS) $(__embtk_toolchain_mkinitdirs) $(MAKE) $(TOOLCHAIN_PRE_DEPS-y) $(TOOLCHAIN_DEPS) touch $(TOOLCHAIN_DIR)/.installed) diff --git a/mk/uclibc.mk b/mk/uclibc.mk index abb0037..2432604 100755 --- a/mk/uclibc.mk +++ b/mk/uclibc.mk @@ -84,6 +84,16 @@ $(UCLIBC_BUILD_DIR)/.headers_installed: download_uclibc_headers: $(call embtk_download_pkg,uClibc) +define embtk_uclibc_clean + if [ -d $(UCLIBC_BUILD_DIR) ]; then \ + $(MAKE) -C $(UCLIBC_BUILD_DIR) distclean; \ + rm -rf $(UCLIBC_BUILD_DIR)/.installed; \ + rm -rf $(UCLIBC_BUILD_DIR)/.headers_installed; \ + fi +endef + +uclibc_clean uclibc_headers_clean: + $(Q)$(embtk_uclibc_clean) # # uClibc configuration macros and target # -- cgit v1.2.3