Add a "testbuild" target to the Makefile to test building a set of
pre-defined configurations.
Configurations tested are stored under arch/<arch>/testbuild in form
of configuration files. All configurations found there are built in
a local directory.
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
$(RM) $(OBJ_DIR)/lwip.a $(LWO)
rm -f tags TAGS
+.PHONY: testbuild
+TEST_CONFIGS := $(wildcard $(CURDIR)/$(TARGET_ARCH_DIR)/testbuild/*)
+testbuild:
+ for arch in $(MINIOS_TARGET_ARCHS); do \
+ for conf in $(TEST_CONFIGS); do \
+ $(MAKE) clean; \
+ MINIOS_TARGET_ARCH=$$arch MINIOS_CONFIG=$$conf $(MAKE) || exit 1; \
+ done; \
+ done
+ $(MAKE) clean
define all_sources
( find . -name '*.[chS]' -print )
# (including x86_32, x86_32y and x86_64).
#
+MINIOS_TARGET_ARCHS := x86_32 x86_64
+
ifeq ($(MINIOS_TARGET_ARCH),x86_32)
ARCH_CFLAGS := -m32 -march=i686
ARCH_LDFLAGS := -m elf_i386
--- /dev/null
+CONFIG_PARAVIRT = n
+CONFIG_START_NETWORK = n
+CONFIG_SPARSE_BSS = n
+CONFIG_QEMU_XS_ARGS = n
+CONFIG_TEST = n
+CONFIG_PCIFRONT = n
+CONFIG_BLKFRONT = n
+CONFIG_TPMFRONT = n
+CONFIG_TPM_TIS = n
+CONFIG_TPMBACK = n
+CONFIG_NETFRONT = n
+CONFIG_FBFRONT = n
+CONFIG_KBDFRONT = n
+CONFIG_CONSFRONT = n
+CONFIG_XENBUS = n
+CONFIG_XC = n
+CONFIG_LWIP = n
+CONFIG_BALLOON = n
--- /dev/null
+CONFIG_PARAVIRT = y
+CONFIG_START_NETWORK = y
+CONFIG_SPARSE_BSS = y
+CONFIG_QEMU_XS_ARGS = y
+CONFIG_TEST = y
+CONFIG_PCIFRONT = y
+CONFIG_BLKFRONT = y
+CONFIG_TPMFRONT = y
+CONFIG_TPM_TIS = y
+CONFIG_TPMBACK = y
+CONFIG_NETFRONT = y
+CONFIG_FBFRONT = y
+CONFIG_KBDFRONT = y
+CONFIG_CONSFRONT = y
+CONFIG_XENBUS = y
+CONFIG_XC = y
+# LWIP is special: it needs support from outside
+CONFIG_LWIP = n
+CONFIG_BALLOON = y
--- /dev/null
+CONFIG_PARAVIRT = n
+CONFIG_BALLOON = y
--- /dev/null
+XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
--- /dev/null
+CONFIG_PARAVIRT = y
+CONFIG_START_NETWORK = y
+CONFIG_SPARSE_BSS = y
+CONFIG_QEMU_XS_ARGS = y
+CONFIG_TEST = y
+CONFIG_PCIFRONT = y
+CONFIG_BLKFRONT = y
+CONFIG_TPMFRONT = y
+CONFIG_TPM_TIS = y
+CONFIG_TPMBACK = y
+CONFIG_NETFRONT = y
+CONFIG_FBFRONT = y
+CONFIG_KBDFRONT = y
+CONFIG_CONSFRONT = y
+CONFIG_XENBUS = y
+CONFIG_XC = y
+# LWIP is special: it needs support from outside
+CONFIG_LWIP = n
+CONFIG_BALLOON = y
+XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__