fefa027154
If you jump back and forth between branches while developing plugins you end up debugging failures caused by plugins left in the build directory. Fix this by basing plugins on the source tree instead. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20200615141922.18829-2-alex.bennee@linaro.org>
77 lines
2.0 KiB
Makefile
77 lines
2.0 KiB
Makefile
# -*- Mode: makefile -*-
|
|
#
|
|
# ARM - included from tests/tcg/Makefile
|
|
#
|
|
|
|
ARM_SRC=$(SRC_PATH)/tests/tcg/arm
|
|
|
|
# Set search path for all sources
|
|
VPATH += $(ARM_SRC)
|
|
|
|
float_madds: CFLAGS+=-mfpu=neon-vfpv4
|
|
|
|
# Basic Hello World
|
|
ARM_TESTS = hello-arm
|
|
hello-arm: CFLAGS+=-marm -ffreestanding
|
|
hello-arm: LDFLAGS+=-nostdlib
|
|
|
|
# IWMXT floating point extensions
|
|
ARM_TESTS += test-arm-iwmmxt
|
|
test-arm-iwmmxt: CFLAGS+=-marm -march=iwmmxt -mabi=aapcs -mfpu=fpv4-sp-d16
|
|
test-arm-iwmmxt: test-arm-iwmmxt.S
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
|
|
|
|
# Float-convert Tests
|
|
ARM_TESTS += fcvt
|
|
fcvt: LDFLAGS+=-lm
|
|
# fcvt: CFLAGS+=-march=armv8.2-a+fp16 -mfpu=neon-fp-armv8
|
|
run-fcvt: fcvt
|
|
$(call run-test,fcvt,$(QEMU) $<,"$< on $(TARGET_NAME)")
|
|
$(call diff-out,fcvt,$(ARM_SRC)/fcvt.ref)
|
|
|
|
# Semihosting smoke test for linux-user
|
|
ARM_TESTS += semihosting
|
|
semihosting: CFLAGS += -mthumb
|
|
run-semihosting: semihosting
|
|
$(call run-test,$<,$(QEMU) $< 2> $<.err, "$< on $(TARGET_NAME)")
|
|
|
|
ARM_TESTS += semihosting-arm
|
|
semihosting-arm: CFLAGS += -marm
|
|
semihosting-arm: semihosting.c
|
|
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
|
|
|
|
run-semihosting-arm: semihosting-arm
|
|
$(call run-test,$<,$(QEMU) $< 2> $<.err, "$< on $(TARGET_NAME)")
|
|
|
|
run-plugin-semihosting-with-%:
|
|
$(call run-test, $@, $(QEMU) $(QEMU_OPTS) \
|
|
-plugin $(PLUGIN_LIB)/$(call extract-plugin,$@) \
|
|
$(call strip-plugin,$<) 2> $<.err, \
|
|
"$< on $(TARGET_NAME) with $*")
|
|
|
|
ARM_TESTS += semiconsole semiconsole-arm
|
|
|
|
semiconsole: CFLAGS += -mthumb
|
|
run-semiconsole: semiconsole
|
|
$(call skip-test, $<, "MANUAL ONLY")
|
|
|
|
run-plugin-semiconsole-with-%:
|
|
$(call skip-test, $<, "MANUAL ONLY")
|
|
|
|
semiconsole-arm: CFLAGS += -marm
|
|
semiconsole-arm: semiconsole.c
|
|
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
|
|
|
|
run-semiconsole-arm: semiconsole-arm
|
|
$(call skip-test, $<, "MANUAL ONLY")
|
|
|
|
run-plugin-semiconsole-arm-with-%:
|
|
$(call skip-test, $<, "MANUAL ONLY")
|
|
|
|
ARM_TESTS += commpage
|
|
|
|
TESTS += $(ARM_TESTS)
|
|
|
|
# On ARM Linux only supports 4k pages
|
|
EXTRA_RUNS+=run-test-mmap-4096
|