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