]> xenbits.xensource.com Git - people/pauldu/mini-os.git/commitdiff
mini-os: add testbuild target to Makefile
authorJuergen Gross <jgross@suse.com>
Fri, 2 Sep 2016 08:56:46 +0000 (10:56 +0200)
committerWei Liu <wei.liu2@citrix.com>
Mon, 5 Sep 2016 11:16:20 +0000 (12:16 +0100)
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>
Makefile
arch/x86/arch.mk
arch/x86/testbuild/all-no [new file with mode: 0644]
arch/x86/testbuild/all-yes [new file with mode: 0644]
arch/x86/testbuild/balloon [new file with mode: 0644]
arch/x86/testbuild/newxen [new file with mode: 0644]
arch/x86/testbuild/newxen-yes [new file with mode: 0644]
arch/x86/testbuild/std [new file with mode: 0644]

index 8e8e56e36a2f53347c434b5dd163e717ee44c29d..81b936f040d5be2f65de06e2d1eece512cdcf5f8 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -178,6 +178,16 @@ clean:     arch_clean
        $(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 )
index 673a19d7a7ad0e6afee5fa52ecd9f0f4aefe6c6e..c87885fafdc9393cec558c2c6efb1ed190062d97 100644 (file)
@@ -3,6 +3,8 @@
 # (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
diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
new file mode 100644 (file)
index 0000000..78720c3
--- /dev/null
@@ -0,0 +1,18 @@
+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
diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
new file mode 100644 (file)
index 0000000..303c56b
--- /dev/null
@@ -0,0 +1,19 @@
+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
diff --git a/arch/x86/testbuild/balloon b/arch/x86/testbuild/balloon
new file mode 100644 (file)
index 0000000..6fa5eef
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_PARAVIRT = n
+CONFIG_BALLOON = y
diff --git a/arch/x86/testbuild/newxen b/arch/x86/testbuild/newxen
new file mode 100644 (file)
index 0000000..b412924
--- /dev/null
@@ -0,0 +1 @@
+XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
new file mode 100644 (file)
index 0000000..907a8a0
--- /dev/null
@@ -0,0 +1,20 @@
+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__
diff --git a/arch/x86/testbuild/std b/arch/x86/testbuild/std
new file mode 100644 (file)
index 0000000..e69de29