From b1a505ab61682eafee78334e202704a631d338f3 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Sun, 19 Oct 2008 14:42:24 +0200 Subject: [PATCH] tidy up dependencies --- Makefile | 2 +- package/lzma/lzma.mk | 4 ++-- package/sed/sed.mk | 2 +- toolchain/dependencies/dependencies.mk | 30 +++++++++++++++++++++++------- 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index b6d8b90..bd052b4 100644 --- a/Makefile +++ b/Makefile @@ -261,7 +261,7 @@ ifeq ($(BR2__UCLIBC_HAVE_DOT_CONFIG),) ifneq ($(findstring uclibc-menuconfig,$(MAKECMDGOALS)),uclibc-menuconfig) BR2_UCLIBC_CONFIG_FOR_BUILDROOT=$(BASE_DIR)/.buildroot.uclibc_config -$(BR2_UCLIBC_CONFIG_FOR_BUILDROOT): $(dependencies) $(UCLIBC_DIR)/.config +$(BR2_UCLIBC_CONFIG_FOR_BUILDROOT): dependencies $(UCLIBC_DIR)/.config # Create BR2__UCLIBC_SYM=val cat $(UCLIBC_DIR)/.config > $(BR2_UCLIBC_CONFIG_FOR_BUILDROOT) $(SED) '/#/d' -e '/^$$/d' -e 's,\([^=]*\)=\(.*\),BR2__UCLIBC_\1=\2,g' \ diff --git a/package/lzma/lzma.mk b/package/lzma/lzma.mk index 855d587..cbe895a 100644 --- a/package/lzma/lzma.mk +++ b/package/lzma/lzma.mk @@ -53,9 +53,9 @@ $(STAGING_DIR)/bin/lzma: $(LZMA_HOST_DIR)/src/lzma/lzma $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" \ $(STAGING_DIR)/lib/liblzmadec.la -.PHONY: lzma-host use-lzma-host-binary +.PHONY: host-lzma use-lzma-host-binary build-lzma-host-binary use-lzma-host-binary: - if [ ! -f "$(TOOL_BUILD_DIR)/bin/lzma" ]; then \ + $(Q)if [ ! -f "$(TOOL_BUILD_DIR)/bin/lzma" ]; then \ [ -d $(TOOL_BUILD_DIR)/bin ] || mkdir -p $(TOOL_BUILD_DIR)/bin; \ ln -sf "$(HOST_LZMA_IF_ANY)" "$(TOOL_BUILD_DIR)/bin/lzma"; \ fi diff --git a/package/sed/sed.mk b/package/sed/sed.mk index 34e7876..a2728f8 100644 --- a/package/sed/sed.mk +++ b/package/sed/sed.mk @@ -72,7 +72,7 @@ ifneq ($(BR2_HAVE_MANPAGES),y) endif $(HOST_SED_DIR)/$(SED_TARGET_BINARY): - if [ ! -e "$(HOST_SED_DIR)/$(SED_TARGET_BINARY)" ]; then \ + $(Q)if [ ! -e "$(HOST_SED_DIR)/$(SED_TARGET_BINARY)" ]; then \ mkdir -p "$(HOST_SED_DIR)/bin"; \ rm -f "$(HOST_SED_DIR)/$(SED_TARGET_BINARY)"; \ ln -sf "$(HOST_SED_IF_ANY)" \ diff --git a/toolchain/dependencies/dependencies.mk b/toolchain/dependencies/dependencies.mk index 88859ae..cdd288a 100644 --- a/toolchain/dependencies/dependencies.mk +++ b/toolchain/dependencies/dependencies.mk @@ -17,31 +17,47 @@ endif ifeq ($(BR2_TARGET_GRUB2),y) NEED_RUBY:=y endif +ifeq ($(findstring y,$(BR2_TARGET_SYSLINUX)$(BR2_TARGET_PXELINUX)),y) +NEED_NASM:=y +DEPENDENCIES_HOST_PREREQ+=host-nasm +endif # We record the environ of the caller to see if we have to recheck # via dependencies.sh. dependencies:=.br.dependencies.host -ENV_DEP_HOST:=$(STAGING_DIR)/bin/env_host +ENV_DEP_HOST:=$(TOOL_BUILD_DIR)/bin/env_host ENV_DEP_HOST_SOURCE:=$(TOPDIR)/toolchain/dependencies/env.c -$(ENV_DEP_HOST): $(ENV_DEP_HOST_SOURCE) | host-sed $(DEPENDENCIES_HOST_PREREQ) +$(ENV_DEP_HOST): $(ENV_DEP_HOST_SOURCE) @$(INSTALL) -d $(@D) @$(HOSTCC) $(HOST_CFLAGS) $(ENV_DEP_HOST_SOURCE) -o $@ $(dependencies): $(ENV_DEP_HOST) + @$(ENV_DEP_HOST) > $@.new + @if cmp $@ $@.new > /dev/null 2>&1; then \ + rm -f $@.new ; \ + else \ + mv $@.new $@ ; \ + fi + +do-dependencies: $(dependencies) host-sed $(DEPENDENCIES_HOST_PREREQ) + +check-dependencies: $(dependencies) @HOSTCC="$(firstword $(HOSTCC))" MAKE="$(MAKE)" \ HOST_SED_DIR="$(HOST_SED_DIR)" \ NEED_RUBY="$(NEED_RUBY)" \ + NEED_NASM="$(NEED_NASM)" \ $(TOPDIR)/toolchain/dependencies/dependencies.sh - @$(ENV_DEP_HOST) > $@ -$(dependencies)-source: $(ENV_DEP_HOST_SOURCE) +dependencies: $(dependencies) check-dependencies do-dependencies +dependencies-source: $(ENV_DEP_HOST_SOURCE) -$(dependencies)-clean: sstrip_target-clean sstrip_host-clean host-sed-clean +dependencies-clean: sstrip_target-clean sstrip_host-clean host-sed-clean \ + host-nasm-clean rm -f $(ENV_DEP_HOST) $(dependencies) -$(dependencies)-dirclean: - true +dependencies-dirclean: + @true ############################################################# # -- 2.11.4.GIT