diff options
-rw-r--r-- | BitKeeper/etc/ignore | 1 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | buildconfigs/Rules.mk | 43 | ||||
-rw-r--r-- | buildconfigs/mk.linux-2.4-xen0 | 6 | ||||
-rw-r--r-- | buildconfigs/mk.linux-2.4-xenU | 6 | ||||
-rw-r--r-- | buildconfigs/mk.linux-2.6-xen0 | 6 | ||||
-rw-r--r-- | buildconfigs/mk.linux-2.6-xenU | 6 | ||||
-rw-r--r-- | buildconfigs/mk.netbsd-2.0-xenU | 6 |
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/* @@ -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: |