summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2007-02-04 16:34:56 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2007-02-04 16:34:56 +0000
commit3c1f00b21a11a861ffee0ef801dc57b50b0639c1 (patch)
tree00c2393e0c177dd2dc4eec833ca30b8d5b818488
parentcc6f5f2027ab34f3384ccde954f93321d9f6bc67 (diff)
downloadbuildroot-novena-3c1f00b21a11a861ffee0ef801dc57b50b0639c1.tar.gz
buildroot-novena-3c1f00b21a11a861ffee0ef801dc57b50b0639c1.zip
- avoid spurious rebuilds. Thanks to janlana, closes #1191
- provide a syslinux-source target while at it
-rw-r--r--package/lzma/lzma.mk14
-rw-r--r--target/x86/grub/grub.mk11
-rw-r--r--target/x86/syslinux/syslinux.mk6
-rw-r--r--toolchain/gcc/gcc-uclibc-3.x.mk5
4 files changed, 20 insertions, 16 deletions
diff --git a/package/lzma/lzma.mk b/package/lzma/lzma.mk
index 0fd343252..24682fdcd 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 971b779e5..9181929af 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 8d6d1e168..a1f5d7f8e 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 9975dd6f2..8155b55bf 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)