From 3c1f00b21a11a861ffee0ef801dc57b50b0639c1 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Sun, 4 Feb 2007 16:34:56 +0000 Subject: [PATCH] - avoid spurious rebuilds. Thanks to janlana, closes #1191 - provide a syslinux-source target while at it --- package/lzma/lzma.mk | 14 +++++++------- target/x86/grub/grub.mk | 11 ++++++----- target/x86/syslinux/syslinux.mk | 6 ++++-- toolchain/gcc/gcc-uclibc-3.x.mk | 5 +++-- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/package/lzma/lzma.mk b/package/lzma/lzma.mk index 0fd3432520..24682fdcd0 100644 --- a/package/lzma/lzma.mk +++ b/package/lzma/lzma.mk @@ -12,8 +12,8 @@ LZMA_TARGET_DIR:=$(BUILD_DIR)/lzma-$(LZMA_VER) LZMA_CFLAGS:=$(TARGET_CFLAGS) ifeq ($(BR2_LARGEFILE),y) LZMA_CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -else endif +LZMA_TARGET_BINARY:=bin/lzma $(DL_DIR)/$(LZMA_SOURCE): $(WGET) -P $(DL_DIR) $(LZMA_SITE)/$(LZMA_SOURCE) @@ -81,14 +81,14 @@ $(LZMA_TARGET_DIR)/src/lzma/lzma: $(LZMA_TARGET_DIR)/.configured $(MAKE) -C $(LZMA_TARGET_DIR) all touch -c $@ -$(TARGET_DIR)/usr/bin/lzma: $(LZMA_TARGET_DIR)/src/lzma/lzma - -cp -dpf $(LZMA_TARGET_DIR)/src/lzma/lzma $(TARGET_DIR)/bin/; - -$(STRIP) --strip-unneeded $(TARGET_DIR)/bin/lzma - touch -c $(TARGET_DIR)/bin/lzma +$(TARGET_DIR)/$(LZMA_TARGET_BINARY): $(LZMA_TARGET_DIR)/src/lzma/lzma + cp -dpf $(LZMA_TARGET_DIR)/src/lzma/lzma $@ + -$(STRIP) --strip-unneeded $@ + touch -c $@ -#lzma-headers: $(TARGET_DIR)/bin/lzma +#lzma-headers: $(TARGET_DIR)/$(LZMA_TARGET_BINARY) -lzma-target: uclibc $(TARGET_DIR)/usr/bin/lzma +lzma-target: uclibc $(TARGET_DIR)/$(LZMA_TARGET_BINARY) lzma-source: $(DL_DIR)/$(LZMA_SOURCE) diff --git a/target/x86/grub/grub.mk b/target/x86/grub/grub.mk index 971b779e5f..9181929af5 100644 --- a/target/x86/grub/grub.mk +++ b/target/x86/grub/grub.mk @@ -27,7 +27,7 @@ GRUB_PATCH_SITE:=http://ftp.debian.org/debian/pool/main/g/grub GRUB_CAT:=$(ZCAT) GRUB_DIR:=$(BUILD_DIR)/grub-0.97 GRUB_BINARY:=grub/grub -GRUB_TARGET_BINARY:=bin/grub +GRUB_TARGET_BINARY:=sbin/grub GRUB_SPLASHIMAGE=$(TOPDIR)/target/x86/grub/splash.xpm.gz @@ -93,21 +93,22 @@ $(GRUB_DIR)/.configured: $(GRUB_DIR)/.unpacked --disable-auto-linux-mem-opt \ $(GRUB_CONFIG-y) \ ); - touch $@ + touch $@ $(GRUB_DIR)/$(GRUB_BINARY): $(GRUB_DIR)/.configured $(MAKE) CC=$(TARGET_CC) -C $(GRUB_DIR) -grub-target_binary: $(GRUB_DIR)/$(GRUB_BINARY) - cp $(GRUB_DIR)/$(GRUB_BINARY) $(TARGET_DIR)/sbin/ +$(GRUB_DIR)/.installed: $(GRUB_DIR)/$(GRUB_BINARY) + cp $(GRUB_DIR)/$(GRUB_BINARY) $(TARGET_DIR)/$(GRUB_TARGET_BINARY) test -d $(TARGET_DIR)/boot/grub || mkdir -p $(TARGET_DIR)/boot/grub cp $(GRUB_DIR)/stage1/stage1 $(GRUB_DIR)/stage2/*1_5 $(GRUB_DIR)/stage2/stage2 $(TARGET_DIR)/boot/grub/ ifeq ($(BR2_TARGET_GRUB_SPLASH),y) test -f $(TARGET_DIR)/boot/grub/$(GRUB_SPLASHIMAGE) || \ cp $(GRUB_SPLASHIMAGE) $(TARGET_DIR)/boot/grub/ endif + touch $@ -grub: grub-target_binary +grub: uclibc $(GRUB_DIR)/.installed grub-clean: $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(GRUB_DIR) uninstall diff --git a/target/x86/syslinux/syslinux.mk b/target/x86/syslinux/syslinux.mk index 8d6d1e1685..a1f5d7f8e2 100644 --- a/target/x86/syslinux/syslinux.mk +++ b/target/x86/syslinux/syslinux.mk @@ -34,14 +34,16 @@ SYSLINUX_BIN=$(SYSLINUX_DIR2)/mtools/syslinux $(DL_DIR)/$(SYSLINUX_SOURCE): $(WGET) -P $(DL_DIR) $(SYSLINUX_SITE)/$(SYSLINUX_SOURCE) +syslinux-source: $(DL_DIR)/$(SYSLINUX_SOURCE) + $(SYSLINUX_DIR)/Makefile: $(DL_DIR)/$(SYSLINUX_SOURCE) $(SYSLINUX_PATCH) $(SYSLINUX_CAT) $(DL_DIR)/$(SYSLINUX_SOURCE) | tar -C $(BUILD_DIR) -xvf - toolchain/patch-kernel.sh $(SYSLINUX_DIR) target/x86/syslinux/ \*.patch - touch -c $(SYSLINUX_DIR)/Makefile + touch -c $@ $(SYSLINUX_DIR)/isolinux.bin: $(SYSLINUX_DIR)/Makefile $(MAKE) -C $(SYSLINUX_DIR) - touch -c $(SYSLINUX_DIR)/isolinux.bin + touch -c $@ syslinux: $(SYSLINUX_DIR)/isolinux.bin diff --git a/toolchain/gcc/gcc-uclibc-3.x.mk b/toolchain/gcc/gcc-uclibc-3.x.mk index 9975dd6f2c..8155b55bf6 100644 --- a/toolchain/gcc/gcc-uclibc-3.x.mk +++ b/toolchain/gcc/gcc-uclibc-3.x.mk @@ -292,7 +292,7 @@ endif # touch $@ -gcc-target-libs: $(GCC_BUILD_DIR2)/.installed +$(GCC_BUILD_DIR2)/.libs_installed: $(GCC_BUILD_DIR2)/.installed ifeq ($(BR2_GCC_SHARED_LIBGCC),y) # These are in /lib, so... rm -rf $(TARGET_DIR)/usr/lib/libgcc_s*.so* @@ -311,7 +311,8 @@ ifeq ($(BR2_INSTALL_LIBGCJ),y) endif gcc: uclibc-configured binutils gcc_initial $(LIBFLOAT_TARGET) uclibc \ - $(GCC_BUILD_DIR2)/.installed gcc-target-libs $(GCC_TARGETS) + $(GCC_BUILD_DIR2)/.installed $(GCC_BUILD_DIR2)/.libs_installed \ + $(GCC_TARGETS) gcc-source: $(DL_DIR)/$(GCC_SOURCE) -- 2.30.2