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>
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 |