aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BitKeeper/etc/ignore1
-rw-r--r--Makefile4
-rw-r--r--buildconfigs/Rules.mk43
-rw-r--r--buildconfigs/mk.linux-2.4-xen06
-rw-r--r--buildconfigs/mk.linux-2.4-xenU6
-rw-r--r--buildconfigs/mk.linux-2.6-xen06
-rw-r--r--buildconfigs/mk.linux-2.6-xenU6
-rw-r--r--buildconfigs/mk.netbsd-2.0-xenU6
8 files changed, 43 insertions, 35 deletions
diff --git a/BitKeeper/etc/ignore b/BitKeeper/etc/ignore
index 723303c1ba..a5583563b1 100644
--- a/BitKeeper/etc/ignore
+++ b/BitKeeper/etc/ignore
@@ -58,6 +58,7 @@ netbsd-*-tools/*
netbsd-*-xen0/*
netbsd-*-xenU/*
netbsd-*.patch
+patches/*/.makedep
patches/ebtables-brnf-5_vs_2.4.25.diff
patches/ebtables.diff
patches/tmp/*
diff --git a/Makefile b/Makefile
index 7b468d1723..7e589f098c 100644
--- a/Makefile
+++ b/Makefile
@@ -15,8 +15,6 @@ KERNELS ?= linux-2.6-xen0 linux-2.6-xenU
# linux-2.4-xen0 linux-2.4-xenU netbsd-2.0-xenU
# You may use wildcards in the above e.g. KERNELS=*2.4*
-ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
-ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
XKERNELS := $(foreach kernel, $(KERNELS), $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.$(kernel))) )
export DESTDIR
@@ -87,7 +85,7 @@ world:
$(MAKE) dist
# clean doesn't do a kclean
-clean:
+clean::
$(MAKE) -C xen clean
$(MAKE) -C tools clean
$(MAKE) -C docs clean
diff --git a/buildconfigs/Rules.mk b/buildconfigs/Rules.mk
index 11f4009525..1e65484b36 100644
--- a/buildconfigs/Rules.mk
+++ b/buildconfigs/Rules.mk
@@ -6,6 +6,9 @@ include Config.mk
DISTDIR ?= $(CURDIR)/dist
DESTDIR ?= $(DISTDIR)/install
+ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
+ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
+
.PHONY: mkpatches mrproper
# Setup pristine search path
@@ -49,24 +52,30 @@ else
OS_VER = $(NETBSD_VER)
endif
-pristine-%: %.tar.bz2
- rm -rf tmp-$(@F) $@
- mkdir -p tmp-$(@F)
- tar -C tmp-$(@F) -jxf $<
- mv tmp-$(@F)/* $@
- touch $@ # update timestamp to avoid rebuild
+$(patsubst %,pristine-%/.valid-pristine,$(ALLSPARSETREES)) : pristine-%/.valid-pristine: %.tar.bz2
+ rm -rf tmp-pristine-$* $(@D)
+ mkdir -p tmp-pristine-$*
touch $@/.bk_skip
- @rm -rf tmp-$(@F)
+ tar -C tmp-pristine-$* -jxf $<
+ mv tmp-pristine-$*/* $(@D)
+ @rm -rf tmp-pristine-$*
+ touch $@ # update timestamp to avoid rebuild
+
+PATCHDIRS := $(wildcard patches/*-*)
+
+-include $(patsubst %,%/.makedep,$(PATCHDIRS))
+
+$(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep:
+ @echo 'ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)' >$@
-OS_PATCHES = $(shell echo patches/$(OS)-$(OS_VER)/*.patch)
+clean::
+ rm -f patches/*/.makedep
-ref-%: pristine-% $(OS_PATCHES)
- rm -rf $@
- cp -al $< tmp-$(@F)
+ref-%/.valid-ref: pristine-%/.valid-pristine
+ rm -rf $(@D)
+ cp -al $(<D) $(@D)
[ -d patches/$* ] && \
- for i in patches/$*/*.patch ; do ( cd tmp-$(@F) ; patch -p1 <../$$i ) ; done || \
- true
- mv tmp-$(@F) $@
+ for i in patches/$*/*.patch ; do ( cd $(@D) ; patch -p1 <../$$i || exit 1 ) ; done
touch $@ # update timestamp to avoid rebuild
%-build:
@@ -81,11 +90,11 @@ ref-%: pristine-% $(OS_PATCHES)
%-config:
$(MAKE) -f buildconfigs/mk.$* config
-%-xen.patch: ref-%
+%-xen.patch: ref-%/.valid-ref
rm -rf tmp-$@
- cp -al $< tmp-$@
+ cp -al $(<D) tmp-$@
( cd $*-xen-sparse && ./mkbuildtree ../tmp-$@ )
- diff -Nurp $< tmp-$@ > $@ || true
+ diff -Nurp $(<D) tmp-$@ > $@ || true
rm -rf tmp-$@
%-mrproper: %-mrproper-extra
diff --git a/buildconfigs/mk.linux-2.4-xen0 b/buildconfigs/mk.linux-2.4-xen0
index e28b3a1981..6044268d09 100644
--- a/buildconfigs/mk.linux-2.4-xen0
+++ b/buildconfigs/mk.linux-2.4-xen0
@@ -24,9 +24,9 @@ patches/tmp/ebtables.diff:
wget http://www.cl.cam.ac.uk/netos/xen/downloads/ebtables-brnf-5_vs_2.4.27.diff.gz -O- | gunzip -c > $@
$(LINUX_DIR)/include/linux/autoconf.h: patches/tmp/ebtables.diff
-$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref
rm -rf $(LINUX_DIR)
- cp -al $< $(LINUX_DIR)
+ cp -al $(<D) $(LINUX_DIR)
# Apply arch-xen patches
( cd linux-$(LINUX_VER)-xen-sparse ; \
./mkbuildtree ../$(LINUX_DIR) )
@@ -50,7 +50,7 @@ config: $(LINUX_DIR)/include/linux/autoconf.h
$(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
$(MAKE) -C $(LINUX_DIR) ARCH=xen dep
-clean:
+clean::
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
diff --git a/buildconfigs/mk.linux-2.4-xenU b/buildconfigs/mk.linux-2.4-xenU
index 9205c26776..4975a98892 100644
--- a/buildconfigs/mk.linux-2.4-xenU
+++ b/buildconfigs/mk.linux-2.4-xenU
@@ -19,9 +19,9 @@ build: $(LINUX_DIR)/include/linux/autoconf.h
fi
$(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
-$(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)/.valid-ref
rm -rf $(LINUX_DIR)
- cp -al $< $(LINUX_DIR)
+ cp -al $(<D) $(LINUX_DIR)
# Apply arch-xen patches
( cd linux-$(LINUX_VER)-xen-sparse ; \
./mkbuildtree ../$(LINUX_DIR) )
@@ -43,7 +43,7 @@ config: $(LINUX_DIR)/include/linux/autoconf.h
$(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
$(MAKE) -C $(LINUX_DIR) ARCH=xen dep
-clean:
+clean::
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
diff --git a/buildconfigs/mk.linux-2.6-xen0 b/buildconfigs/mk.linux-2.6-xen0
index cfba1824b0..d238a10630 100644
--- a/buildconfigs/mk.linux-2.6-xen0
+++ b/buildconfigs/mk.linux-2.6-xen0
@@ -19,9 +19,9 @@ build: $(LINUX_DIR)/include/linux/autoconf.h
fi
$(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
-$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref
rm -rf $(LINUX_DIR)
- cp -al $< $(LINUX_DIR)
+ cp -al $(<D) $(LINUX_DIR)
# Apply arch-xen patches
( cd linux-$(LINUX_VER)-xen-sparse ; \
./mkbuildtree ../$(LINUX_DIR) )
@@ -41,7 +41,7 @@ config: CONFIGMODE = menuconfig
config: $(LINUX_DIR)/include/linux/autoconf.h
$(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
-clean:
+clean::
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
diff --git a/buildconfigs/mk.linux-2.6-xenU b/buildconfigs/mk.linux-2.6-xenU
index f2df01f9a7..6101664db1 100644
--- a/buildconfigs/mk.linux-2.6-xenU
+++ b/buildconfigs/mk.linux-2.6-xenU
@@ -19,9 +19,9 @@ build: $(LINUX_DIR)/include/linux/autoconf.h
fi
$(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
-$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref
rm -rf $(LINUX_DIR)
- cp -al $< $(LINUX_DIR)
+ cp -al $(<D) $(LINUX_DIR)
# Apply arch-xen patches
( cd linux-$(LINUX_VER)-xen-sparse ; \
./mkbuildtree ../$(LINUX_DIR) )
@@ -41,7 +41,7 @@ config: CONFIGMODE = menuconfig
config: $(LINUX_DIR)/include/linux/autoconf.h
$(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
-clean:
+clean::
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
diff --git a/buildconfigs/mk.netbsd-2.0-xenU b/buildconfigs/mk.netbsd-2.0-xenU
index bbe2e1fea9..d5a740d0c3 100644
--- a/buildconfigs/mk.netbsd-2.0-xenU
+++ b/buildconfigs/mk.netbsd-2.0-xenU
@@ -24,9 +24,9 @@ netbsd-%-tools: netbsd-%-tools.tar.bz2
tar -jxf $<
touch $@ # update timestamp to avoid rebuild
-$(NETBSD_DIR)/.valid: ref-$(OS)-$(NETBSD_VER)
+$(NETBSD_DIR)/.valid: ref-$(OS)-$(NETBSD_VER)/.valid-ref
$(RM) -rf $(NETBSD_DIR)
- cp -al $< $(NETBSD_DIR)
+ cp -al $(<D) $(NETBSD_DIR)
# Apply arch-xen patches
( cd netbsd-$(NETBSD_VER)-xen-sparse ; \
./mkbuildtree ../$(NETBSD_DIR) )
@@ -38,7 +38,7 @@ netbsd-xen%: $(NETBSD_DIR)/.valid netbsd-$(NETBSD_RELEASE)-tools
$(MAKE) -C netbsd-$(FULLVERSION) netbsd
$(MAKE) -C netbsd-$(FULLVERSION) INSTALL_PATH=$(DESTDIR) INSTALL_NAME=boot/netbsd-$(NETBSD_VER)-xen$* install
-clean:
+clean::
$(MAKE) -C netbsd-$(FULLVERSION) clean
delete: