aboutsummaryrefslogtreecommitdiff
path: root/tests/migration/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tests/migration/Makefile')
-rw-r--r--tests/migration/Makefile44
1 files changed, 24 insertions, 20 deletions
diff --git a/tests/migration/Makefile b/tests/migration/Makefile
index c0824b4fbe..dc3b551976 100644
--- a/tests/migration/Makefile
+++ b/tests/migration/Makefile
@@ -1,31 +1,35 @@
-# To specify cross compiler prefix, use CROSS_PREFIX=
-# $ make CROSS_PREFIX=x86_64-linux-gnu-
+#
+# Copyright (c) 2018 Red Hat, Inc. and/or its affiliates
+#
+# This work is licensed under the terms of the GNU GPL, version 2 or later.
+# See the COPYING file in the top-level directory.
+#
+
+TARGET_LIST = i386
+
+SRC_PATH = ../..
override define __note
-/* This file is automatically generated from
- * tests/migration/x86-a-b-bootblock.S, edit that and then run
- * tests/migration/rebuild-x86-bootblock.sh to update,
- * and then remember to send both in your patch submission.
+/* This file is automatically generated from the assembly file in
+ * tests/migration/$@. Edit that file and then run "make all"
+ * inside tests/migration to update, and then remember to send both
+ * the header and the assembler differences in your patch submission.
*/
endef
export __note
-.PHONY: all clean
-all: x86-a-b-bootblock.h
-
-x86-a-b-bootblock.h: x86.bootsect
- echo "$$__note" > header.tmp
- xxd -i $< | sed -e 's/.*int.*//' >> header.tmp
- mv header.tmp $@
+find-arch-cross-cc = $(lastword $(shell grep -h "CROSS_CC_GUEST=" $(wildcard $(SRC_PATH)/$(patsubst i386,*86*,$(1))-softmmu/config-target.mak) /dev/null))
+parse-cross-prefix = $(subst gcc,,$(patsubst cc,gcc,$(patsubst CROSS_CC_GUEST="%",%,$(call find-arch-cross-cc,$(1)))))
+gen-cross-prefix = $(patsubst %-,CROSS_PREFIX=%-,$(call parse-cross-prefix,$(1)))
-x86.bootsect: x86.boot
- dd if=$< of=$@ bs=256 count=2 skip=124
+.PHONY: all $(TARGET_LIST)
-x86.boot: x86.o
- $(CROSS_PREFIX)objcopy -O binary $< $@
+all: $(TARGET_LIST)
-x86.o: x86-a-b-bootblock.S
- $(CROSS_PREFIX)gcc -m32 -march=i486 -c $< -o $@
+$(TARGET_LIST):
+ $(MAKE) -C $@ $(call gen-cross-prefix,$@)
clean:
- @rm -rf *.boot *.o *.bootsect
+ for target in $(TARGET_LIST); do \
+ $(MAKE) -C $$target clean; \
+ done