2 # Copyright (C) 2013 Intel Corporation; author Matt Fleming
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation, Inc., 53 Temple Place Ste 330,
7 # Boston MA 02111-1307, USA; either version 2 of the License, or
8 # (at your option) any later version; incorporated herein by reference.
12 # See linux/Makefile for an example Makefile. When tests are invoked the
13 # location of the Syslinux files, as used by qemu, is in $(MOUNTDIR).
14 # Tests that copy files into $(MOUNTDIR) must be sure to delete them once
15 # the test has completed, otherwise the qemu harddisk image will become
25 export QEMU QEMU_FLAGS INITIAL HDD
27 SYSLINUX_output-str
:= $(shell sudo
$(SRC
)/build-syslinux start \
28 $(objdir
)/bios
$(HDD
) test.cfg
)
29 SYSLINUX_MOUNT_DIR
= $(firstword $(SYSLINUX_output-str
))
30 SYSLINUX_INSTALL_DIR
= $(SYSLINUX_MOUNT_DIR
)/boot
/syslinux
31 SYSLINUX_CONFIG_FILE
= $(SYSLINUX_INSTALL_DIR
)/syslinux.cfg
32 SYSLINUX_LOOPDEV
=$(lastword
$(SYSLINUX_output-str
))
34 PXELINUX_output-str
:= $(shell $(SRC
)/build-pxelinux start
$(topdir
) test.cfg
)
35 PXELINUX_INSTALL_DIR
= $(firstword $(PXELINUX_output-str
))/tftpboot
36 PXELINUX_CONFIG_FILE
= $(PXELINUX_INSTALL_DIR
)/pxelinux.cfg
/default
38 QEMU
= qemu-system-i386
40 all: syslinux-tests pxelinux-tests
42 $(MAKE
) SRC
="$(SRC)" OBJ
="$(OBJ)" objdir
="$(objdir)" \
43 INITIAL
="$(INITIAL)" INSTALL_DIR
="$(SYSLINUX_INSTALL_DIR)" \
44 CONFIG_FILE
="$(SYSLINUX_CONFIG_FILE)" \
46 @sudo
$(SRC
)/build-syslinux stop
$(SYSLINUX_MOUNT_DIR
) \
47 $(SYSLINUX_LOOPDEV
) test.cfg
50 $(MAKE
) SRC
="$(SRC)" OBJ
="$(OBJ)" objdir
="$(objdir)" \
51 INITIAL
="$(INITIAL)" INSTALL_DIR
="$(PXELINUX_INSTALL_DIR)" \
52 CONFIG_FILE
="$(PXELINUX_CONFIG_FILE)" \
54 $(SRC
)/build-pxelinux stop
$(PXELINUX_INSTALL_DIR
) test.cfg
55 else # ifeq ($(INITIAL),)
58 ifeq ($(DERIVATIVE
),SYSLINUX
)
59 QEMU_FLAGS
+= -hda
$(HDD
) -no-reboot
61 QEMU_FLAGS
= -boot n
-net nic
,model
=virtio
-net user
,tftp
="$(INSTALL_DIR)",bootfile
=pxelinux
.0 -no-reboot
67 printf
"Executing regression tests for $(DERIVATIVE)\n"
70 .PHONY
: subdirs
$(SUBDIRS
) fini
74 $(MAKE
) -C
$(OBJ
)/$@ SRC
="$(SRC)"/$@ OBJ
="$(OBJ)"/$@
/ \
75 -f
$(SRC
)/$@
/Makefile objdir
="$(objdir)/tests" \
76 INSTALL_DIR
="$(INSTALL_DIR)" CONFIG_FILE
="$(CONFIG_FILE)" \
77 DERIVATIVE
="$(DERIVATIVE)"
79 endif # ifeq ($(INITIAL),)