debuggers.hg

annotate stubdom/Makefile @ 19007:d6889b3b6423

Download external tarballs from xenbits.xensource.com

I have copied the tarballs that the xen-unstable build downloads to
xenbits.xensource.com (which also hosts our hg and git). This patch
changes the download URLs to use that location.

That way the build will depend on only one external machine, under one
administration, rather than many. Also it means that the build won't
break if these sites become permanently unavailable or are rearranged
and we don't run a risk of having to panic and beg if a file should go
missing.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Mon Jan 05 11:19:16 2009 +0000 (2009-01-05)
parents 71d3d3ac23b8
children b999142bca8c
rev   line source
keir@18447 1 XEN_ROOT = ..
keir@17905 2 MINI_OS = $(XEN_ROOT)/extras/mini-os
keir@17066 3
keir@17070 4 export XEN_OS=MiniOS
keir@17070 5
keir@17066 6 export stubdom=y
keir@17066 7 export debug=y
keir@18007 8 include $(XEN_ROOT)/Config.mk
keir@17066 9
keir@18412 10 IOEMU_OPTIONS=--disable-sdl --disable-opengl --disable-vnc-tls --disable-brlapi --disable-kqemu
keir@19007 11
keir@19007 12 #ZLIB_URL?=http://www.zlib.net
keir@19007 13 ZLIB_URL=$(XEN_EXTFILES_URL)
keir@17066 14 ZLIB_VERSION=1.2.3
keir@19007 15
keir@19007 16 #LIBPCI_URL?=http://www.kernel.org/pub/software/utils/pciutils
keir@19007 17 LIBPCI_URL?=$(XEN_EXTFILES_URL)
keir@17066 18 LIBPCI_VERSION=2.2.9
keir@19007 19
keir@19007 20 #NEWLIB_URL?=ftp://sources.redhat.com/pub/newlib
keir@19007 21 NEWLIB_URL?=$(XEN_EXTFILES_URL)
keir@18034 22 NEWLIB_VERSION=1.16.0
keir@19007 23
keir@19007 24 #LWIP_URL?=http://download.savannah.gnu.org/releases/lwip
keir@19007 25 LWIP_URL?=$(XEN_EXTFILES_URL)
keir@18114 26 LWIP_VERSION=1.3.0
keir@19007 27
keir@19007 28 #GRUB_URL?=http://alpha.gnu.org/gnu/grub
keir@19007 29 GRUB_URL?=$(XEN_EXTFILES_URL)
keir@18113 30 GRUB_VERSION=0.97
keir@17066 31
keir@17066 32 WGET=wget -c
keir@17066 33
keir@17066 34 GNU_TARGET_ARCH:=$(XEN_TARGET_ARCH)
keir@17066 35 ifeq ($(XEN_TARGET_ARCH),x86_32)
keir@17066 36 GNU_TARGET_ARCH:=i686
keir@17066 37 endif
keir@17066 38
keir@17066 39 ifeq ($(GNU_TARGET_ARCH), i686)
keir@17066 40 TARGET_CFLAGS=
keir@17830 41 NEWLIB_CFLAGS+=-D_I386MACH_ALLOW_HW_INTERRUPTS
keir@18034 42 STUBDOM_SUPPORTED=1
keir@17066 43 endif
keir@17066 44 ifeq ($(GNU_TARGET_ARCH), x86_64)
keir@17066 45 TARGET_CFLAGS=-mno-red-zone
keir@17830 46 NEWLIB_CFLAGS+=-D_I386MACH_ALLOW_HW_INTERRUPTS
keir@18034 47 STUBDOM_SUPPORTED=1
keir@17066 48 endif
keir@17066 49 ifeq ($(GNU_TARGET_ARCH), ia64)
keir@17066 50 TARGET_CFLAGS=-mconstant-gp
keir@17066 51 endif
keir@17066 52
keir@17066 53 CROSS_ROOT=cross-root-$(GNU_TARGET_ARCH)
keir@17066 54 CROSS_PREFIX=$(CURDIR)/$(CROSS_ROOT)
keir@18007 55
keir@18007 56 # Disable PIE/SSP if GCC supports them. They can break us.
keir@18007 57 TARGET_CFLAGS += $(CFLAGS)
keir@18007 58 TARGET_CPPFLAGS += $(CPPFLAGS)
keir@18007 59 TARGET_CFLAGS += $(call cc-option,$(CC),-nopie,)
keir@18007 60 TARGET_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
keir@18007 61 TARGET_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
keir@18007 62
keir@18007 63 # Do not use host headers and libs
keir@18430 64 GCC_INSTALL = $(shell LANG=C gcc -print-search-dirs | sed -n -e 's/install: \(.*\)/\1/p')
keir@18007 65 TARGET_CPPFLAGS += -U __linux__ -U __FreeBSD__ -U __sun__
keir@18055 66 TARGET_CPPFLAGS += -nostdinc
keir@18069 67 TARGET_CPPFLAGS += -isystem $(CURDIR)/$(MINI_OS)/include/posix
keir@18007 68 TARGET_CPPFLAGS += -isystem $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include
keir@18007 69 TARGET_CPPFLAGS += -isystem $(GCC_INSTALL)include
keir@18510 70 TARGET_CPPFLAGS += -isystem $(CURDIR)/lwip-$(XEN_TARGET_ARCH)/src/include
keir@18510 71 TARGET_CPPFLAGS += -isystem $(CURDIR)/lwip-$(XEN_TARGET_ARCH)/src/include/ipv4
keir@18044 72 TARGET_CPPFLAGS += -I$(CURDIR)/include
keir@18007 73
keir@18007 74 TARGET_LDFLAGS += -nostdlib -L$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib
keir@17066 75
keir@17909 76 TARGETS=ioemu c caml grub
keir@17905 77
keir@17066 78 .PHONY: all
keir@18034 79 all: build
keir@18034 80 ifeq ($(STUBDOM_SUPPORTED),1)
keir@18034 81 build: ioemu-stubdom c-stubdom pv-grub
keir@18034 82 else
keir@18034 83 build:
keir@18034 84 endif
keir@17066 85
keir@17066 86 ##############
keir@17066 87 # Cross-newlib
keir@17066 88 ##############
keir@17066 89
keir@18034 90 newlib-$(NEWLIB_VERSION).tar.gz:
keir@18281 91 $(WGET) $(NEWLIB_URL)/$@
keir@18034 92
keir@18034 93 newlib-$(NEWLIB_VERSION): newlib-$(NEWLIB_VERSION).tar.gz
keir@18034 94 tar xzf $<
keir@17905 95 patch -d $@ -p0 < newlib.patch
keir@18034 96 touch $@
keir@17066 97
keir@17066 98 NEWLIB_STAMPFILE=$(CROSS_ROOT)/$(GNU_TARGET_ARCH)-xen-elf/lib/libc.a
keir@17066 99 .PHONY: cross-newlib
keir@17066 100 cross-newlib: $(NEWLIB_STAMPFILE)
keir@18368 101 $(NEWLIB_STAMPFILE): mk-headers-$(XEN_TARGET_ARCH) newlib-$(NEWLIB_VERSION)
keir@18368 102 mkdir -p newlib-$(XEN_TARGET_ARCH)
keir@18368 103 ( cd newlib-$(XEN_TARGET_ARCH) && \
keir@18034 104 CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \
keir@17066 105 $(MAKE) && \
keir@18034 106 DESTDIR= $(MAKE) install )
keir@17066 107
keir@17066 108 ############
keir@17066 109 # Cross-zlib
keir@17066 110 ############
keir@17066 111
keir@17066 112 zlib-$(ZLIB_VERSION).tar.gz:
keir@18281 113 $(WGET) $(ZLIB_URL)/$@
keir@17066 114
keir@18368 115 zlib-$(XEN_TARGET_ARCH): zlib-$(ZLIB_VERSION).tar.gz
keir@18368 116 tar xzf $<
keir@18368 117 mv zlib-$(ZLIB_VERSION) $@
keir@18368 118
keir@17066 119 ZLIB_STAMPFILE=$(CROSS_ROOT)/$(GNU_TARGET_ARCH)-xen-elf/lib/libz.a
keir@17066 120 .PHONY: cross-zlib
keir@17066 121 cross-zlib: $(ZLIB_STAMPFILE)
keir@18368 122 $(ZLIB_STAMPFILE): zlib-$(XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE)
keir@18368 123 ( cd $< && \
keir@18007 124 CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" CC=$(CC) ./configure --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf && \
keir@17066 125 $(MAKE) libz.a && \
keir@17066 126 $(MAKE) install )
keir@17066 127
keir@17066 128 ##############
keir@17066 129 # Cross-libpci
keir@17066 130 ##############
keir@17066 131
keir@17066 132 pciutils-$(LIBPCI_VERSION).tar.bz2:
keir@18281 133 $(WGET) $(LIBPCI_URL)/$@
keir@17066 134
keir@18368 135 pciutils-$(XEN_TARGET_ARCH): pciutils-$(LIBPCI_VERSION).tar.bz2
keir@17984 136 tar xjf $<
keir@18368 137 mv pciutils-$(LIBPCI_VERSION) $@
keir@17984 138 patch -d $@ -p1 < pciutils.patch
keir@17984 139 touch $@
keir@17984 140
keir@17066 141 LIBPCI_STAMPFILE=$(CROSS_ROOT)/$(GNU_TARGET_ARCH)-xen-elf/lib/libpci.a
keir@17066 142 .PHONY: cross-libpci
keir@17066 143 cross-libpci: $(LIBPCI_STAMPFILE)
keir@18368 144 $(LIBPCI_STAMPFILE): pciutils-$(XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE) $(ZLIB_STAMPFILE)
keir@18368 145 ( cd $< && \
keir@17066 146 cp ../libpci.config.h lib/config.h && \
keir@17066 147 echo '#define PCILIB_VERSION "$(LIBPCI_VERSION)"' >> lib/config.h && \
keir@17066 148 cp ../libpci.config.mak lib/config.mk && \
keir@18007 149 $(MAKE) CC="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -I$(realpath $(MINI_OS)/include)" lib/libpci.a && \
keir@17066 150 $(INSTALL_DATA) lib/libpci.a $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib/ && \
keir@17066 151 $(INSTALL_DIR) $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include/pci && \
keir@18259 152 $(INSTALL_DATA) lib/config.h lib/header.h lib/pci.h lib/types.h $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include/pci/ \
keir@17066 153 )
keir@17066 154
keir@17066 155 ######
keir@17066 156 # lwIP
keir@17066 157 ######
keir@17066 158
keir@18114 159 lwip-$(LWIP_VERSION).tar.gz:
keir@18281 160 $(WGET) $(LWIP_URL)/$@
keir@18114 161
keir@18368 162 lwip-$(XEN_TARGET_ARCH): lwip-$(LWIP_VERSION).tar.gz
keir@18114 163 tar xzf $<
keir@18368 164 mv lwip $@
keir@18114 165 patch -d $@ -p0 < lwip.patch-cvs
keir@18114 166 touch $@
keir@17066 167
keir@17066 168 #######
keir@17066 169 # Links
keir@17066 170 #######
keir@17066 171
keir@17066 172 .PHONY: $(CROSS_ROOT)
keir@17066 173 $(CROSS_ROOT): cross-newlib cross-zlib cross-libpci
keir@17066 174
keir@18510 175 $(XEN_ROOT)/tools/ioemu-dir:
keir@18510 176 make -C $(XEN_ROOT)/tools ioemu-dir-find
keir@18510 177
keir@18522 178 ioemu/linkfarm.stamp: $(XEN_ROOT)/tools/ioemu-dir
keir@18522 179 mkdir -p ioemu
keir@18522 180 set -e; \
keir@18522 181 $(absolutify_xen_root); \
keir@18522 182 cd ioemu; \
keir@18522 183 src="$$XEN_ROOT/tools/ioemu-dir"; export src; \
keir@18522 184 (cd $$src && find * -type d -print) | xargs mkdir -p; \
keir@18522 185 (cd $$src && find * ! -type l -type f $(addprefix ! -name , \
keir@18522 186 '*.[oda1]' 'config-*' config.mak qemu-dm qemu-img-xen \
keir@18522 187 '*.html' '*.pod' \
keir@18522 188 )) | \
keir@18522 189 while read f; do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done
keir@18522 190 touch ioemu/linkfarm.stamp
keir@18522 191
keir@18522 192 mk-headers-$(XEN_TARGET_ARCH): ioemu/linkfarm.stamp
keir@18044 193 mkdir -p include/xen && \
keir@18044 194 ln -sf $(addprefix ../../,$(wildcard $(XEN_ROOT)/xen/include/public/*.h)) include/xen && \
keir@18055 195 ln -sf $(addprefix ../../$(XEN_ROOT)/xen/include/public/,arch-ia64 arch-x86 hvm io xsm) include/xen && \
keir@18044 196 ( [ -h include/xen/sys ] || ln -sf ../../$(XEN_ROOT)/tools/include/xen-sys/MiniOS include/xen/sys ) && \
keir@18044 197 mkdir -p include/xen-foreign && \
keir@18044 198 ln -sf $(addprefix ../../,$(wildcard $(XEN_ROOT)/tools/include/xen-foreign/*)) include/xen-foreign/ && \
keir@18044 199 $(MAKE) -C include/xen-foreign/ && \
keir@18044 200 ( [ -h include/xen/foreign ] || ln -sf ../xen-foreign include/xen/foreign )
keir@18368 201 mkdir -p libxc-$(XEN_TARGET_ARCH)
keir@18368 202 [ -h libxc-$(XEN_TARGET_ARCH)/Makefile ] || ( cd libxc-$(XEN_TARGET_ARCH) && \
keir@17905 203 ln -sf ../$(XEN_ROOT)/tools/libxc/*.h . && \
keir@17905 204 ln -sf ../$(XEN_ROOT)/tools/libxc/*.c . && \
keir@17905 205 ln -sf ../$(XEN_ROOT)/tools/libxc/Makefile . )
keir@18368 206 mkdir -p libxc-$(XEN_TARGET_ARCH)/$(XEN_TARGET_ARCH)
keir@18368 207 [ -h libxc-$(XEN_TARGET_ARCH)/$(XEN_TARGET_ARCH) ] || ( cd libxc-$(XEN_TARGET_ARCH)/$(XEN_TARGET_ARCH) && \
keir@17905 208 ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/*.c . && \
keir@17905 209 ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/*.h . && \
keir@17905 210 ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/Makefile . )
keir@17905 211 $(MAKE) -C $(MINI_OS) links
keir@18368 212 touch mk-headers-$(XEN_TARGET_ARCH)
keir@17905 213
keir@18368 214 TARGETS_MINIOS=$(addprefix mini-os-$(XEN_TARGET_ARCH)-,$(TARGETS))
keir@17905 215 $(TARGETS_MINIOS): mini-os-%:
keir@17905 216 [ -d $@ ] || \
keir@17905 217 for i in $$(cd $(MINI_OS) ; find . -type d) ; do \
keir@17905 218 mkdir -p $@/$$i ; \
keir@17905 219 done
keir@17066 220
keir@17066 221 #######
keir@17066 222 # libxc
keir@17066 223 #######
keir@17066 224
keir@17066 225 .PHONY: libxc
keir@18368 226 libxc: libxc-$(XEN_TARGET_ARCH)/libxenctrl.a libxc-$(XEN_TARGET_ARCH)/libxenguest.a
keir@18368 227 libxc-$(XEN_TARGET_ARCH)/libxenctrl.a libxc-$(XEN_TARGET_ARCH)/libxenguest.a:: cross-zlib
keir@18368 228 CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C libxc-$(XEN_TARGET_ARCH)
keir@17066 229
keir@17066 230 #######
keir@17066 231 # ioemu
keir@17066 232 #######
keir@17066 233
keir@17066 234 .PHONY: ioemu
keir@18126 235 ioemu: cross-zlib cross-libpci libxc
keir@18055 236 [ -f ioemu/config-host.mak ] || \
keir@18512 237 ( $(absolutify_xen_root); \
keir@18512 238 cd ioemu ; \
keir@18512 239 CONFIG_STUBDOM=yes XEN_TARGET_ARCH=$(XEN_TARGET_ARCH) CFLAGS="$(TARGET_CFLAGS)" sh ./xen-setup --cc=$(CC) --disable-gcc-check $(IOEMU_OPTIONS))
keir@18368 240 CPPFLAGS= TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" $(MAKE) -C ioemu LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) TOOLS= CONFIG_STUBDOM=yes
keir@17066 241
keir@17066 242 ######
keir@17066 243 # caml
keir@17066 244 ######
keir@17066 245
keir@17066 246 .PHONY: caml
keir@18127 247 caml: $(CROSS_ROOT)
keir@18368 248 CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@ LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH)
keir@17066 249
keir@17299 250 ###
keir@17299 251 # C
keir@17299 252 ###
keir@17299 253
keir@17299 254 .PHONY: c
keir@18127 255 c: $(CROSS_ROOT)
keir@18368 256 CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@ LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH)
keir@17299 257
keir@17909 258 ######
keir@17909 259 # Grub
keir@17909 260 ######
keir@17909 261
keir@18113 262 grub-$(GRUB_VERSION).tar.gz:
keir@18281 263 $(WGET) $(GRUB_URL)/$@
keir@18113 264
keir@18113 265 grub-upstream: grub-$(GRUB_VERSION).tar.gz
keir@18113 266 tar xzf $<
keir@18113 267 mv grub-$(GRUB_VERSION) $@
keir@17909 268 for i in grub.patches/* ; do \
keir@17909 269 patch -d $@ -p1 < $$i ; \
keir@17909 270 done
keir@17909 271
keir@17909 272 .PHONY: grub
keir@18127 273 grub: grub-upstream $(CROSS_ROOT)
keir@18368 274 mkdir -p grub-$(XEN_TARGET_ARCH)
keir@18368 275 CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@ OBJ_DIR=$(CURDIR)/grub-$(XEN_TARGET_ARCH)
keir@17909 276
keir@17066 277 ########
keir@17066 278 # minios
keir@17066 279 ########
keir@17066 280
keir@17778 281 .PHONY: ioemu-stubdom
keir@18055 282 ioemu-stubdom: APP_OBJS=$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/ioemu/i386-stubdom/libqemu.a $(CURDIR)/ioemu/libqemu_common.a
keir@18368 283 ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) libxc ioemu
keir@18368 284 DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="-DCONFIG_QEMU $(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(APP_OBJS)"
keir@17066 285
keir@17778 286 CAMLLIB = $(shell ocamlc -where)
keir@17066 287 .PHONY: caml-stubdom
keir@18368 288 caml-stubdom: mini-os-$(XEN_TARGET_ARCH)-caml lwip-$(XEN_TARGET_ARCH) libxc caml
keir@18368 289 DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="-DCONFIG_CAML $(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(CURDIR)/caml/main-caml.o $(CURDIR)/caml/caml.o $(CAMLLIB)/libasmrun.a"
keir@17299 290
keir@17299 291 .PHONY: c-stubdom
keir@18368 292 c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxc c
keir@18368 293 DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="-DCONFIG_C $(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS=$(CURDIR)/c/main.a
keir@17909 294
keir@17909 295 .PHONY: pv-grub
keir@18368 296 pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxc grub
keir@18368 297 DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="-DCONFIG_GRUB $(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/grub-$(XEN_TARGET_ARCH)/main.a
keir@17066 298
keir@17066 299 #########
keir@17066 300 # install
keir@17066 301 #########
keir@17066 302
keir@18034 303 ifeq ($(STUBDOM_SUPPORTED),1)
keir@18282 304 install: install-readme install-ioemu install-grub
keir@18034 305 else
keir@18034 306 install:
keir@18034 307 endif
keir@17909 308
keir@18282 309 install-readme:
keir@18282 310 $(INSTALL_DIR) $(DESTDIR)$(DOCDIR)
keir@18282 311 $(INSTALL_DATA) README $(DESTDIR)$(DOCDIR)/README.stubdom
keir@18282 312
keir@18034 313 install-ioemu: ioemu-stubdom
keir@18034 314 $(INSTALL_DIR) "$(DESTDIR)/usr/lib/xen/bin"
keir@17066 315 $(INSTALL_PROG) stubdom-dm "$(DESTDIR)/usr/lib/xen/bin"
keir@18034 316 $(INSTALL_DIR) "$(DESTDIR)/usr/lib/xen/boot"
keir@18368 317 $(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-ioemu/mini-os.gz "$(DESTDIR)/usr/lib/xen/boot/ioemu-stubdom.gz"
keir@17909 318
keir@18034 319 install-grub: pv-grub
keir@18034 320 $(INSTALL_DIR) "$(DESTDIR)/usr/lib/xen/boot"
keir@18368 321 $(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-grub/mini-os.gz "$(DESTDIR)/usr/lib/xen/boot/pv-grub-$(XEN_TARGET_ARCH).gz"
keir@17066 322
keir@17066 323 #######
keir@17066 324 # clean
keir@17066 325 #######
keir@17066 326
keir@17066 327 # Only clean the libxc/ioemu/mini-os part
keir@17066 328 .PHONY: clean
keir@17066 329 clean:
keir@18368 330 rm -fr mini-os-$(XEN_TARGET_ARCH)-ioemu
keir@18368 331 rm -fr mini-os-$(XEN_TARGET_ARCH)-c
keir@18368 332 rm -fr mini-os-$(XEN_TARGET_ARCH)-caml
keir@18368 333 rm -fr mini-os-$(XEN_TARGET_ARCH)-grub
keir@17066 334 $(MAKE) -C caml clean
keir@17778 335 $(MAKE) -C c clean
keir@18368 336 rm -fr grub-$(XEN_TARGET_ARCH)
keir@18368 337 [ ! -d libxc-$(XEN_TARGET_ARCH) ] || $(MAKE) -C libxc-$(XEN_TARGET_ARCH) clean
keir@18510 338 -[ ! -d ioemu ] || $(MAKE) -C ioemu clean
keir@17066 339
keir@17066 340 # clean the cross-compilation result
keir@17066 341 .PHONY: crossclean
keir@17066 342 crossclean: clean
keir@17066 343 rm -fr $(CROSS_ROOT)
keir@18368 344 rm -fr newlib-$(XEN_TARGET_ARCH)
keir@18368 345 rm -fr zlib-$(XEN_TARGET_ARCH) pciutils-$(XEN_TARGET_ARCH)
keir@18368 346 rm -fr libxc-$(XEN_TARGET_ARCH) ioemu
keir@18368 347 rm -f mk-headers-$(XEN_TARGET_ARCH)
keir@17066 348
keir@17066 349 # clean patched sources
keir@17066 350 .PHONY: patchclean
keir@17066 351 patchclean: crossclean
keir@18034 352 rm -fr newlib-$(NEWLIB_VERSION)
keir@18368 353 rm -fr lwip-$(XEN_TARGET_ARCH)
keir@18113 354 rm -fr grub-upstream
keir@17066 355
keir@17066 356 # clean downloads
keir@17066 357 .PHONY: downloadclean
keir@17066 358 downloadclean: patchclean
keir@18055 359 rm -f newlib-$(NEWLIB_VERSION).tar.gz
keir@17066 360 rm -f zlib-$(ZLIB_VERSION).tar.gz
keir@17066 361 rm -f pciutils-$(LIBPCI_VERSION).tar.bz2
keir@18114 362 rm -f grub-$(GRUB_VERSION).tar.gz
keir@18114 363 rm -f lwip-$(LWIP_VERSION).tar.gz
keir@17066 364
keir@17066 365 .PHONY: distclean
keir@17066 366 distclean: downloadclean