Message ID | 20161201051433.17168-19-bobby.prani@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Pranith Kumar <bobby.prani@gmail.com> writes: > This commit fixes the makefiles to bring them to the desired state. > > Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> > --- > tests/tcg/alpha/Makefile | 38 +++++++++++++++++++---------- > tests/tcg/arm/Makefile | 32 +++++++++++++++---------- > tests/tcg/cris/Makefile | 17 +++++++++++-- > tests/tcg/i386/Makefile | 23 +++++++++--------- > tests/tcg/lm32/Makefile | 17 +++++++++++-- > tests/tcg/mips/Makefile | 46 ++++++++++++++++++++++++++++++++++++ > tests/tcg/mips/mips32-dsp/Makefile | 17 +++++++++++-- > tests/tcg/mips/mips32-dspr2/Makefile | 17 +++++++++++-- > tests/tcg/mips/mips64-dsp/Makefile | 18 ++++++++++++-- > tests/tcg/mips/mips64-dspr2/Makefile | 17 ++++++++++++- > tests/tcg/openrisc/Makefile | 19 ++++++++++++--- > tests/tcg/xtensa/Makefile | 17 +++++++++++-- > 12 files changed, 225 insertions(+), 53 deletions(-) > create mode 100644 tests/tcg/mips/Makefile I think these changes should be split and merged with each move commit. I should be able to manually build each individual test target with each move. > > diff --git a/tests/tcg/alpha/Makefile b/tests/tcg/alpha/Makefile > index 2b1f03d..e20315f 100644 > --- a/tests/tcg/alpha/Makefile > +++ b/tests/tcg/alpha/Makefile > @@ -1,33 +1,47 @@ > -CROSS=alpha-linux-gnu- > -CC=$(CROSS)gcc > -AS=$(CROSS)as > +# -*- Mode: makefile -*- > +# > +# Alpha linux-user TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/alpha-linux-user/tests directory > +# > > -SIM=../../alpha-linux-user/qemu-alpha > +BUILD_DIR?=$(CURDIR) > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > +include $(SRC_PATH)/rules.mak > > -CFLAGS=-O > -LINK=$(CC) -o $@ crt.o $< -nostdlib > +$(call set-vpath, $(SRC_PATH)/tests/tcg/alpha) > + > +QEMU=$(BUILD_DIR)/alpha-linux-user/qemu-alpha > + > +# Compiler set-up, default to system compiler if not set > +CROSS_CC?=$(CC) > + > +CFLAGS=-Wall -O2 -g -fno-strict-aliasing -static > +LDFLAGS=-nostdlib > > TESTS=test-cond test-cmov > > all: hello-alpha $(TESTS) > > hello-alpha: hello-alpha.o crt.o > - $(LINK) > + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) > > test-cond: test-cond.o crt.o > - $(LINK) > + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) > > test-cmov.o: test-cond.c > - $(CC) -c $(CFLAGS) -DTEST_CMOV -o $@ $< > + $(CROSS_CC) -c $(CFLAGS) -DTEST_CMOV -o $@ $< > > test-cmov: test-cmov.o crt.o > - $(LINK) > + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) > > test-ovf: test-ovf.o crt.o > - $(LINK) > + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) > > check: $(TESTS) > - for f in $(TESTS); do $(SIM) $$f || exit 1; done > + for f in $(TESTS); do $(QEMU) $$f || exit 1; done > > clean: > $(RM) *.o *~ hello-alpha $(TESTS) > diff --git a/tests/tcg/arm/Makefile b/tests/tcg/arm/Makefile > index c2ae491..a7c8953 100644 > --- a/tests/tcg/arm/Makefile > +++ b/tests/tcg/arm/Makefile > @@ -1,20 +1,26 @@ > -BUILD_DIR?=$(CURDIR) > -SRC_PATH=../../../ > -include $(BUILD_DIR)/config-host.mak > +# -*- Mode: makefile -*- > +# > +# Arm linux-user TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/arm-linux-user/tests directory > +# > + > +BUILD_DIR=../.. > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > include $(SRC_PATH)/rules.mak > > $(call set-vpath, $(SRC_PATH)/tests/tcg/arm) > > QEMU=$(BUILD_DIR)/arm-linux-user/qemu-arm > > -QEMU_INCLUDES += -I$(BUILD_DIR) > -CFLAGS=-Wall -O2 -g -fno-strict-aliasing > -LDFLAGS= > - > -# TODO: automatically detect ARM and MIPS compilers, and run those too > +# Compiler set-up, default to system compiler if not set > +CROSS_CC?=$(CC) > > -# runcom maps page 0, so it requires root privileges > -# also, pi_10.com runs indefinitely > +QEMU_INCLUDES += -I$(BUILD_DIR) > +CFLAGS=-Wall -O2 -g -fno-strict-aliasing -nostdlib > +LDFLAGS=-nostdlib > > TESTS=hello-arm arm-iwmmxt > > @@ -33,13 +39,13 @@ run-arm-iwmmxt: arm-iwmmxt > > # arm test > hello-arm: hello-arm.o > - arm-linux-gnueabi-ld -o $@ $< > + $(CROSS_CC) $(LDFLAGS) -o $@ $< > > hello-arm.o: hello-arm.c > - arm-linux-gnueabi-gcc -Wall -g -O2 -c -o $@ $< > + $(CROSS_CC) $(CFLAGS) -c -o $@ $< > > arm-iwmmxt: test-arm-iwmmxt.s > - cpp < $< | arm-linux-gnueabi-gcc -Wall -static -march=iwmmxt -mabi=aapcs -x assembler - -o $@ > + cpp < $< | $(CROSS_CC) -Wall -static -march=iwmmxt -mabi=aapcs -x assembler - -o $@ > > clean: > rm -f *~ *.o $(TESTS) > diff --git a/tests/tcg/cris/Makefile b/tests/tcg/cris/Makefile > index 6b3dba4..009c3f4 100644 > --- a/tests/tcg/cris/Makefile > +++ b/tests/tcg/cris/Makefile > @@ -1,7 +1,20 @@ > --include ../../../config-host.mak > +# -*- Mode: makefile -*- > +# > +# Cris linux-user TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/cris-linux-user/tests directory > +# > + > +BUILD_DIR=../.. > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > +include $(SRC_PATH)/rules.mak > + > +$(call set-vpath, $(SRC_PATH)/tests/tcg/arm) > > CROSS=crisv32-axis-linux-gnu- > -SIM=../../../cris-linux-user/qemu-cris -L ./ > +SIM=$(BUILD_DIR)/cris-linux-user/qemu-cris -L ./ > SIMG=cris-axis-linux-gnu-run --sysroot=./ > > CC = $(CROSS)gcc > diff --git a/tests/tcg/i386/Makefile b/tests/tcg/i386/Makefile > index 97c1a97..55a45ad 100644 > --- a/tests/tcg/i386/Makefile > +++ b/tests/tcg/i386/Makefile > @@ -1,6 +1,14 @@ > -BUILD_DIR=../../../build/ > -SRC_PATH=../../../ > -include $(BUILD_DIR)/config-host.mak > +# -*- Mode: makefile -*- > +# > +# i386 linux-user TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/i386-linux-user/tests directory > +# > + > +BUILD_DIR=../.. > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > include $(SRC_PATH)/rules.mak > > $(call set-vpath, $(SRC_PATH)/tests/tcg/i386) > @@ -14,14 +22,8 @@ CFLAGS=-Wall -O2 -g -fno-strict-aliasing > #CFLAGS+=-msse2 > LDFLAGS= > > -# TODO: automatically detect ARM and MIPS compilers, and run those too > - > -# runcom maps page 0, so it requires root privileges > -# also, pi_10.com runs indefinitely > - > I386_TESTS=hello-i386 \ > test-i386-fprem > - # runcom > > # native i386 compilers sometimes are not biarch. assume cross-compilers are > ifneq ($(ARCH),i386) > @@ -57,9 +59,6 @@ run-test-x86_64: test-x86_64 > -$(QEMU_X86_64) test-x86_64 > test-x86_64.out > @if diff -u test-x86_64.ref test-x86_64.out ; then echo "Auto Test OK"; fi > > -run-runcom: runcom > - -$(QEMU) ./runcom $(SRC_PATH)/tests/pi_10.com > - > # rules to compile tests > > hello-i386: hello-i386.c > diff --git a/tests/tcg/lm32/Makefile b/tests/tcg/lm32/Makefile > index 57e7363..ad5d9a7 100644 > --- a/tests/tcg/lm32/Makefile > +++ b/tests/tcg/lm32/Makefile > @@ -1,8 +1,21 @@ > --include ../../../config-host.mak > +# -*- Mode: makefile -*- > +# > +# lm32 linux-system TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/lm32-softmmu/tests directory > +# > + > +BUILD_DIR=../.. > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > +include $(SRC_PATH)/rules.mak > + > +$(call set-vpath, $(SRC_PATH)/tests/tcg/lm32) > > CROSS=lm32-elf- > > -SIM = qemu-system-lm32 > +QEMU=$(BUILD_DIR)/lm32-softmmu/qemu-system-lm32 > SIMFLAGS = -M lm32-evr -nographic -semihosting -net none -kernel > > CC = $(CROSS)gcc > diff --git a/tests/tcg/mips/Makefile b/tests/tcg/mips/Makefile > new file mode 100644 > index 0000000..a56d6c8 > --- /dev/null > +++ b/tests/tcg/mips/Makefile > @@ -0,0 +1,46 @@ > +# -*- Mode: makefile -*- > +# > +# mips linux-user TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/mips-linux-user/tests directory > +# > + > +BUILD_DIR=../.. > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > +include $(SRC_PATH)/rules.mak > + > +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips) > + > +QEMU=$(BUILD_DIR)/mips-linux-user/qemu-mips > + > +# Compiler set-up, default to system compiler if not set > +CROSS_CC?=$(CC) > + > +CFLAGS=-Wall -O2 -g -fno-strict-aliasing > +LDFLAGS= > + > +TESTS=hello-mips > + > +all: $(patsubst %,run-%,$(TESTS)) We need new run targets for the tests - certainly a default make shouldn't run the test. > +test: all > + > +# rules to run tests > + > +run-%: % > + $(QEMU) ./$* > + > +#.PHONY: $(patsubst %,run-%,$(TESTS)) > + > +run-hello-mips: hello-mips > + > +# mips test > +hello-mips: hello-mips.o > + $(CROSS_CC) -o $@ $< > + > +hello-mips.o: hello-mips.c > + $(CROSS_CC) -Wall -g -O2 -c -o $@ $< > + > +clean: > + rm -f *~ *.o $(TESTS) > diff --git a/tests/tcg/mips/mips32-dsp/Makefile b/tests/tcg/mips/mips32-dsp/Makefile > index c3a0a00..996b9a0 100644 > --- a/tests/tcg/mips/mips32-dsp/Makefile > +++ b/tests/tcg/mips/mips32-dsp/Makefile > @@ -1,8 +1,21 @@ > --include ../../config-host.mak > +# -*- Mode: makefile -*- > +# > +# mipsel linux-user TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/mipsel-linux-user/tests directory > +# > + > +BUILD_DIR=../.. > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > +include $(SRC_PATH)/rules.mak > + > +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips32-dsp) > > CROSS=mips64el-unknown-linux-gnu- > > -SIM=qemu-mipsel > +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mipsel > SIM_FLAGS=-cpu 74Kf > > CC = $(CROSS)gcc > diff --git a/tests/tcg/mips/mips32-dspr2/Makefile b/tests/tcg/mips/mips32-dspr2/Makefile > index ed19581..e99f2bc 100644 > --- a/tests/tcg/mips/mips32-dspr2/Makefile > +++ b/tests/tcg/mips/mips32-dspr2/Makefile > @@ -1,8 +1,21 @@ > --include ../../config-host.mak > +# -*- Mode: makefile -*- > +# > +# mipsel linux-user TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/mipsel-linux-user/tests directory > +# > + > +BUILD_DIR=../.. > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > +include $(SRC_PATH)/rules.mak > + > +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips32-dsp) > > CROSS=mips64el-unknown-linux-gnu- > > -SIM=qemu-mipsel > +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mipsel > SIM_FLAGS=-cpu 74Kf > > CC = $(CROSS)gcc > diff --git a/tests/tcg/mips/mips64-dsp/Makefile b/tests/tcg/mips/mips64-dsp/Makefile > index b2ac6b3..4ee3bbb 100644 > --- a/tests/tcg/mips/mips64-dsp/Makefile > +++ b/tests/tcg/mips/mips64-dsp/Makefile > @@ -1,7 +1,21 @@ > +# -*- Mode: makefile -*- > +# > +# mips64el linux-user TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/mips64el-linux-user/tests directory > +# > > -CROSS_COMPILE ?= mips64el-unknown-linux-gnu- > +BUILD_DIR=../.. > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > +include $(SRC_PATH)/rules.mak > > -SIM = qemu-system-mips64el > +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips64-dsp) > + > +CROSS=mips64el-unknown-linux-gnu- > + > +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mips64el > SIMFLAGS = -nographic -cpu mips64dspr2 -kernel > > AS = $(CROSS_COMPILE)as > diff --git a/tests/tcg/mips/mips64-dspr2/Makefile b/tests/tcg/mips/mips64-dspr2/Makefile > index ba44bb9..8510d8c 100644 > --- a/tests/tcg/mips/mips64-dspr2/Makefile > +++ b/tests/tcg/mips/mips64-dspr2/Makefile > @@ -1,6 +1,21 @@ > +# -*- Mode: makefile -*- > +# > +# mips64el linux-user TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/mips64el-linux-user/tests directory > +# > + > +BUILD_DIR=../.. > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > +include $(SRC_PATH)/rules.mak > + > +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips64-dsp) > + > CROSS_COMPILE ?= mips64el-unknown-linux-gnu- > > -SIM = qemu-system-mips64el > +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mips64el > SIMFLAGS = -nographic -cpu mips64dspr2 -kernel > > AS = $(CROSS_COMPILE)as > diff --git a/tests/tcg/openrisc/Makefile b/tests/tcg/openrisc/Makefile > index 7e65888..071aaab 100644 > --- a/tests/tcg/openrisc/Makefile > +++ b/tests/tcg/openrisc/Makefile > @@ -1,8 +1,21 @@ > --include ../../config-host.mak > +# -*- Mode: makefile -*- > +# > +# openrisc linux-user TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/or32-linux-user/tests directory > +# > > -CROSS = or32-linux- > +BUILD_DIR=../.. > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > +include $(SRC_PATH)/rules.mak > + > +$(call set-vpath, $(SRC_PATH)/tests/tcg/openrisc) > > -SIM = qemu-or32 > +SIM=$(BUILD_DIR)/or32-linux-user/qemu-mips > + > +CROSS = or32-linux- > > CC = $(CROSS)gcc > > diff --git a/tests/tcg/xtensa/Makefile b/tests/tcg/xtensa/Makefile > index 522a63e..e3269ed 100644 > --- a/tests/tcg/xtensa/Makefile > +++ b/tests/tcg/xtensa/Makefile > @@ -1,10 +1,23 @@ > --include ../../../config-host.mak > +# -*- Mode: makefile -*- > +# > +# xtensa linux TCG tests > +# > +# The Make is expected to be called in the > +# ${BUILD_DIR}/xtensa-softmmu/tests directory > +# > + > +BUILD_DIR=../.. > +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH > +include ../config-target.mak # TARGET_NAME > +include $(SRC_PATH)/rules.mak > + > +$(call set-vpath, $(SRC_PATH)/tests/tcg/xtensa) > > CORE=dc232b > CROSS=xtensa-$(CORE)-elf- > > ifndef XT > -SIM = ../../../xtensa-softmmu/qemu-system-xtensa > +SIM = $(BUILD_DIR)/xtensa-softmmu/qemu-system-xtensa > SIMFLAGS = -M sim -cpu $(CORE) -nographic -semihosting $(EXTFLAGS) -kernel > SIMDEBUG = -s -S > else -- Alex Bennée
diff --git a/tests/tcg/alpha/Makefile b/tests/tcg/alpha/Makefile index 2b1f03d..e20315f 100644 --- a/tests/tcg/alpha/Makefile +++ b/tests/tcg/alpha/Makefile @@ -1,33 +1,47 @@ -CROSS=alpha-linux-gnu- -CC=$(CROSS)gcc -AS=$(CROSS)as +# -*- Mode: makefile -*- +# +# Alpha linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/alpha-linux-user/tests directory +# -SIM=../../alpha-linux-user/qemu-alpha +BUILD_DIR?=$(CURDIR) +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak -CFLAGS=-O -LINK=$(CC) -o $@ crt.o $< -nostdlib +$(call set-vpath, $(SRC_PATH)/tests/tcg/alpha) + +QEMU=$(BUILD_DIR)/alpha-linux-user/qemu-alpha + +# Compiler set-up, default to system compiler if not set +CROSS_CC?=$(CC) + +CFLAGS=-Wall -O2 -g -fno-strict-aliasing -static +LDFLAGS=-nostdlib TESTS=test-cond test-cmov all: hello-alpha $(TESTS) hello-alpha: hello-alpha.o crt.o - $(LINK) + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) test-cond: test-cond.o crt.o - $(LINK) + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) test-cmov.o: test-cond.c - $(CC) -c $(CFLAGS) -DTEST_CMOV -o $@ $< + $(CROSS_CC) -c $(CFLAGS) -DTEST_CMOV -o $@ $< test-cmov: test-cmov.o crt.o - $(LINK) + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) test-ovf: test-ovf.o crt.o - $(LINK) + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) check: $(TESTS) - for f in $(TESTS); do $(SIM) $$f || exit 1; done + for f in $(TESTS); do $(QEMU) $$f || exit 1; done clean: $(RM) *.o *~ hello-alpha $(TESTS) diff --git a/tests/tcg/arm/Makefile b/tests/tcg/arm/Makefile index c2ae491..a7c8953 100644 --- a/tests/tcg/arm/Makefile +++ b/tests/tcg/arm/Makefile @@ -1,20 +1,26 @@ -BUILD_DIR?=$(CURDIR) -SRC_PATH=../../../ -include $(BUILD_DIR)/config-host.mak +# -*- Mode: makefile -*- +# +# Arm linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/arm-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME include $(SRC_PATH)/rules.mak $(call set-vpath, $(SRC_PATH)/tests/tcg/arm) QEMU=$(BUILD_DIR)/arm-linux-user/qemu-arm -QEMU_INCLUDES += -I$(BUILD_DIR) -CFLAGS=-Wall -O2 -g -fno-strict-aliasing -LDFLAGS= - -# TODO: automatically detect ARM and MIPS compilers, and run those too +# Compiler set-up, default to system compiler if not set +CROSS_CC?=$(CC) -# runcom maps page 0, so it requires root privileges -# also, pi_10.com runs indefinitely +QEMU_INCLUDES += -I$(BUILD_DIR) +CFLAGS=-Wall -O2 -g -fno-strict-aliasing -nostdlib +LDFLAGS=-nostdlib TESTS=hello-arm arm-iwmmxt @@ -33,13 +39,13 @@ run-arm-iwmmxt: arm-iwmmxt # arm test hello-arm: hello-arm.o - arm-linux-gnueabi-ld -o $@ $< + $(CROSS_CC) $(LDFLAGS) -o $@ $< hello-arm.o: hello-arm.c - arm-linux-gnueabi-gcc -Wall -g -O2 -c -o $@ $< + $(CROSS_CC) $(CFLAGS) -c -o $@ $< arm-iwmmxt: test-arm-iwmmxt.s - cpp < $< | arm-linux-gnueabi-gcc -Wall -static -march=iwmmxt -mabi=aapcs -x assembler - -o $@ + cpp < $< | $(CROSS_CC) -Wall -static -march=iwmmxt -mabi=aapcs -x assembler - -o $@ clean: rm -f *~ *.o $(TESTS) diff --git a/tests/tcg/cris/Makefile b/tests/tcg/cris/Makefile index 6b3dba4..009c3f4 100644 --- a/tests/tcg/cris/Makefile +++ b/tests/tcg/cris/Makefile @@ -1,7 +1,20 @@ --include ../../../config-host.mak +# -*- Mode: makefile -*- +# +# Cris linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/cris-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/arm) CROSS=crisv32-axis-linux-gnu- -SIM=../../../cris-linux-user/qemu-cris -L ./ +SIM=$(BUILD_DIR)/cris-linux-user/qemu-cris -L ./ SIMG=cris-axis-linux-gnu-run --sysroot=./ CC = $(CROSS)gcc diff --git a/tests/tcg/i386/Makefile b/tests/tcg/i386/Makefile index 97c1a97..55a45ad 100644 --- a/tests/tcg/i386/Makefile +++ b/tests/tcg/i386/Makefile @@ -1,6 +1,14 @@ -BUILD_DIR=../../../build/ -SRC_PATH=../../../ -include $(BUILD_DIR)/config-host.mak +# -*- Mode: makefile -*- +# +# i386 linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/i386-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME include $(SRC_PATH)/rules.mak $(call set-vpath, $(SRC_PATH)/tests/tcg/i386) @@ -14,14 +22,8 @@ CFLAGS=-Wall -O2 -g -fno-strict-aliasing #CFLAGS+=-msse2 LDFLAGS= -# TODO: automatically detect ARM and MIPS compilers, and run those too - -# runcom maps page 0, so it requires root privileges -# also, pi_10.com runs indefinitely - I386_TESTS=hello-i386 \ test-i386-fprem - # runcom # native i386 compilers sometimes are not biarch. assume cross-compilers are ifneq ($(ARCH),i386) @@ -57,9 +59,6 @@ run-test-x86_64: test-x86_64 -$(QEMU_X86_64) test-x86_64 > test-x86_64.out @if diff -u test-x86_64.ref test-x86_64.out ; then echo "Auto Test OK"; fi -run-runcom: runcom - -$(QEMU) ./runcom $(SRC_PATH)/tests/pi_10.com - # rules to compile tests hello-i386: hello-i386.c diff --git a/tests/tcg/lm32/Makefile b/tests/tcg/lm32/Makefile index 57e7363..ad5d9a7 100644 --- a/tests/tcg/lm32/Makefile +++ b/tests/tcg/lm32/Makefile @@ -1,8 +1,21 @@ --include ../../../config-host.mak +# -*- Mode: makefile -*- +# +# lm32 linux-system TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/lm32-softmmu/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/lm32) CROSS=lm32-elf- -SIM = qemu-system-lm32 +QEMU=$(BUILD_DIR)/lm32-softmmu/qemu-system-lm32 SIMFLAGS = -M lm32-evr -nographic -semihosting -net none -kernel CC = $(CROSS)gcc diff --git a/tests/tcg/mips/Makefile b/tests/tcg/mips/Makefile new file mode 100644 index 0000000..a56d6c8 --- /dev/null +++ b/tests/tcg/mips/Makefile @@ -0,0 +1,46 @@ +# -*- Mode: makefile -*- +# +# mips linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/mips-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips) + +QEMU=$(BUILD_DIR)/mips-linux-user/qemu-mips + +# Compiler set-up, default to system compiler if not set +CROSS_CC?=$(CC) + +CFLAGS=-Wall -O2 -g -fno-strict-aliasing +LDFLAGS= + +TESTS=hello-mips + +all: $(patsubst %,run-%,$(TESTS)) +test: all + +# rules to run tests + +run-%: % + $(QEMU) ./$* + +#.PHONY: $(patsubst %,run-%,$(TESTS)) + +run-hello-mips: hello-mips + +# mips test +hello-mips: hello-mips.o + $(CROSS_CC) -o $@ $< + +hello-mips.o: hello-mips.c + $(CROSS_CC) -Wall -g -O2 -c -o $@ $< + +clean: + rm -f *~ *.o $(TESTS) diff --git a/tests/tcg/mips/mips32-dsp/Makefile b/tests/tcg/mips/mips32-dsp/Makefile index c3a0a00..996b9a0 100644 --- a/tests/tcg/mips/mips32-dsp/Makefile +++ b/tests/tcg/mips/mips32-dsp/Makefile @@ -1,8 +1,21 @@ --include ../../config-host.mak +# -*- Mode: makefile -*- +# +# mipsel linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/mipsel-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips32-dsp) CROSS=mips64el-unknown-linux-gnu- -SIM=qemu-mipsel +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mipsel SIM_FLAGS=-cpu 74Kf CC = $(CROSS)gcc diff --git a/tests/tcg/mips/mips32-dspr2/Makefile b/tests/tcg/mips/mips32-dspr2/Makefile index ed19581..e99f2bc 100644 --- a/tests/tcg/mips/mips32-dspr2/Makefile +++ b/tests/tcg/mips/mips32-dspr2/Makefile @@ -1,8 +1,21 @@ --include ../../config-host.mak +# -*- Mode: makefile -*- +# +# mipsel linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/mipsel-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips32-dsp) CROSS=mips64el-unknown-linux-gnu- -SIM=qemu-mipsel +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mipsel SIM_FLAGS=-cpu 74Kf CC = $(CROSS)gcc diff --git a/tests/tcg/mips/mips64-dsp/Makefile b/tests/tcg/mips/mips64-dsp/Makefile index b2ac6b3..4ee3bbb 100644 --- a/tests/tcg/mips/mips64-dsp/Makefile +++ b/tests/tcg/mips/mips64-dsp/Makefile @@ -1,7 +1,21 @@ +# -*- Mode: makefile -*- +# +# mips64el linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/mips64el-linux-user/tests directory +# -CROSS_COMPILE ?= mips64el-unknown-linux-gnu- +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak -SIM = qemu-system-mips64el +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips64-dsp) + +CROSS=mips64el-unknown-linux-gnu- + +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mips64el SIMFLAGS = -nographic -cpu mips64dspr2 -kernel AS = $(CROSS_COMPILE)as diff --git a/tests/tcg/mips/mips64-dspr2/Makefile b/tests/tcg/mips/mips64-dspr2/Makefile index ba44bb9..8510d8c 100644 --- a/tests/tcg/mips/mips64-dspr2/Makefile +++ b/tests/tcg/mips/mips64-dspr2/Makefile @@ -1,6 +1,21 @@ +# -*- Mode: makefile -*- +# +# mips64el linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/mips64el-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips64-dsp) + CROSS_COMPILE ?= mips64el-unknown-linux-gnu- -SIM = qemu-system-mips64el +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mips64el SIMFLAGS = -nographic -cpu mips64dspr2 -kernel AS = $(CROSS_COMPILE)as diff --git a/tests/tcg/openrisc/Makefile b/tests/tcg/openrisc/Makefile index 7e65888..071aaab 100644 --- a/tests/tcg/openrisc/Makefile +++ b/tests/tcg/openrisc/Makefile @@ -1,8 +1,21 @@ --include ../../config-host.mak +# -*- Mode: makefile -*- +# +# openrisc linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/or32-linux-user/tests directory +# -CROSS = or32-linux- +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/openrisc) -SIM = qemu-or32 +SIM=$(BUILD_DIR)/or32-linux-user/qemu-mips + +CROSS = or32-linux- CC = $(CROSS)gcc diff --git a/tests/tcg/xtensa/Makefile b/tests/tcg/xtensa/Makefile index 522a63e..e3269ed 100644 --- a/tests/tcg/xtensa/Makefile +++ b/tests/tcg/xtensa/Makefile @@ -1,10 +1,23 @@ --include ../../../config-host.mak +# -*- Mode: makefile -*- +# +# xtensa linux TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/xtensa-softmmu/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/xtensa) CORE=dc232b CROSS=xtensa-$(CORE)-elf- ifndef XT -SIM = ../../../xtensa-softmmu/qemu-system-xtensa +SIM = $(BUILD_DIR)/xtensa-softmmu/qemu-system-xtensa SIMFLAGS = -M sim -cpu $(CORE) -nographic -semihosting $(EXTFLAGS) -kernel SIMDEBUG = -s -S else
This commit fixes the makefiles to bring them to the desired state. Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> --- tests/tcg/alpha/Makefile | 38 +++++++++++++++++++---------- tests/tcg/arm/Makefile | 32 +++++++++++++++---------- tests/tcg/cris/Makefile | 17 +++++++++++-- tests/tcg/i386/Makefile | 23 +++++++++--------- tests/tcg/lm32/Makefile | 17 +++++++++++-- tests/tcg/mips/Makefile | 46 ++++++++++++++++++++++++++++++++++++ tests/tcg/mips/mips32-dsp/Makefile | 17 +++++++++++-- tests/tcg/mips/mips32-dspr2/Makefile | 17 +++++++++++-- tests/tcg/mips/mips64-dsp/Makefile | 18 ++++++++++++-- tests/tcg/mips/mips64-dspr2/Makefile | 17 ++++++++++++- tests/tcg/openrisc/Makefile | 19 ++++++++++++--- tests/tcg/xtensa/Makefile | 17 +++++++++++-- 12 files changed, 225 insertions(+), 53 deletions(-) create mode 100644 tests/tcg/mips/Makefile