LINUX_SERIES = 2.4 EXTRAVERSION = xen0 FULLVERSION = $(LINUX_VER)-$(EXTRAVERSION) LINUX_DIR = linux-$(FULLVERSION) include buildconfigs/Rules.mk .PHONY: build clean delete # The real action starts here! build: $(LINUX_DIR)/include/linux/autoconf.h $(MAKE) -C $(LINUX_DIR) ARCH=xen modules $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install patches/tmp/ebtables.diff: mkdir -p patches/tmp 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: pristine-linux-$(LINUX_VER) rm -rf $(LINUX_DIR) cp -al $< $(LINUX_DIR) # Apply arch-xen patches ( cd linux-$(LINUX_VER)-xen-sparse ; \ ./mkbuildtree ../$(LINUX_DIR) ) # Patch kernel Makefile to set EXTRAVERSION ( cd $(LINUX_DIR) ; \ sed -e 's/^EXTRAVERSION.*/&-$(EXTRAVERSION)/' Makefile >Mk.tmp ; \ rm -f Makefile ; mv Mk.tmp Makefile ) # add ebtables patch ( cd $(LINUX_DIR) ; patch -p1 -F3 < ../patches/tmp/ebtables.diff ) # Re-use config from install dir if one exits else use default config [ -r $(INSTALL_DIR)/boot/config-$(FULLVERSION) ] && \ cp $(INSTALL_DIR)/boot/config-$(FULLVERSION) $(LINUX_DIR)/.config \ || cp $(LINUX_DIR)/arch/xen/defconfig-$(EXTRAVERSION) \ $(LINUX_DIR)/.config make -C $(LINUX_DIR) ARCH=xen oldconfig make -C $(LINUX_DIR) ARCH=xen dep clean: $(MAKE) -C $(LINUX_DIR) ARCH=xen clean delete: rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)