debuggers.hg

annotate stubdom/Makefile @ 19427:2039e8271051

ioemu-stubdom: Use xen-setup-stubdom rather than configure

xen-setup runs the upstream configure script, and ends up
autodetecting various properties of the host and then trying to use
them in stubdom, which works badly.

In commit c609854fe18aab3216f28e1e5291b75970d398d5 in
qemu-xen-unstable we provide a new `xen-setup-stubdom' script, which
hardcodes the relevant answers.

With these two changes, stubdom should compile again.

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