Commit 36bd9e3c authored by Juan Quintela's avatar Juan Quintela Committed by Dr. David Alan Gilbert
Browse files

migration-test: Only generate a single target architecture



Several changes:
- We only allow generate header "inside" the tree.  Why?  Because we
  need to connit the result, so it makes no sense to generate them on
  the build dir.
- We only generate a single target each time.  Getting all the
  cross-compilers correctly is an impossible task.  So know you do:
     make -C tests/migration $target (native)
     make CROSS_PREFIX=foo- -C tests/migratiion $target (cross)
  And you are done.

- If we are building out of tree, we have no data about if we are
  cross-compile or whatever.  So instead of guess what is happening,
  just do what I pointed on previous point.

Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
Message-Id: <20180913132313.11370-1-quintela@redhat.com>
Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
parent 18613dc6
Loading
Loading
Loading
Loading
+14 −9
Original line number Diff line number Diff line
@@ -9,6 +9,19 @@ TARGET_LIST = i386 aarch64 s390x

SRC_PATH = ../..

.PHONY: help $(TARGET_LIST)
help:
	@echo "Create migration guest includes.  We generate a binary."
	@echo "And then convert that binary to an include file that can be"
	@echo "run in a guest."
	@echo "Possible operations are:"
	@echo
	@echo " $(MAKE) clean                Remove all intermediate files"
	@echo " $(MAKE) target               Generate for that target"
	@echo " $(MAKE) CROSS_PREFIX=... target"
	@echo "                              Cross-compile than target"
	@echo " Possible targets are: $(TARGET_LIST)"

override define __note
/* This file is automatically generated from the assembly file in
 * tests/migration/$@. Edit that file and then run "make all"
@@ -18,16 +31,8 @@ override define __note
endef
export __note

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

.PHONY: all $(TARGET_LIST)

all: $(TARGET_LIST)

$(TARGET_LIST):
	$(MAKE) -C $@ $(call gen-cross-prefix,$@)
	$(MAKE) CROSS_PREFIX=$(CROSS_PREFIX) -C $@

clean:
	for target in $(TARGET_LIST); do \