Annotation of qemu/tests/tcg/Makefile, revision 1.1.1.1

1.1       root        1: -include ../config-host.mak
                      2: -include $(SRC_PATH)/rules.mak
                      3: 
                      4: $(call set-vpath, $(SRC_PATH)/tests)
                      5: 
                      6: QEMU=../i386-linux-user/qemu-i386
                      7: QEMU_X86_64=../x86_64-linux-user/qemu-x86_64
                      8: CC_X86_64=$(CC_I386) -m64
                      9: 
                     10: QEMU_INCLUDES += -I..
                     11: CFLAGS=-Wall -O2 -g -fno-strict-aliasing
                     12: #CFLAGS+=-msse2
                     13: LDFLAGS=
                     14: 
                     15: # TODO: automatically detect ARM and MIPS compilers, and run those too
                     16: 
                     17: # runcom maps page 0, so it requires root privileges
                     18: # also, pi_10.com runs indefinitely
                     19: 
                     20: I386_TESTS=hello-i386 \
                     21:           linux-test \
                     22:           testthread \
                     23:           sha1-i386 \
                     24:           test-i386 \
                     25:           test-mmap \
                     26:           # runcom
                     27: 
                     28: # native i386 compilers sometimes are not biarch.  assume cross-compilers are
                     29: ifneq ($(ARCH),i386)
                     30: I386_TESTS+=run-test-x86_64
                     31: endif
                     32: 
                     33: TESTS = test_path
                     34: ifneq ($(call find-in-path, $(CC_I386)),)
                     35: TESTS += $(I386_TESTS)
                     36: endif
                     37: 
                     38: all: $(patsubst %,run-%,$(TESTS))
                     39: 
                     40: # rules to run tests
                     41: 
                     42: .PHONY: $(patsubst %,run-%,$(TESTS))
                     43: 
                     44: run-%: %
                     45:        -$(QEMU) ./$*
                     46: 
                     47: run-hello-i386: hello-i386
                     48: run-linux-test: linux-test
                     49: run-testthread: testthread
                     50: run-sha1-i386: sha1-i386
                     51: 
                     52: run-test-i386: test-i386
                     53:        ./test-i386 > test-i386.ref
                     54:        -$(QEMU) test-i386 > test-i386.out
                     55:        @if diff -u test-i386.ref test-i386.out ; then echo "Auto Test OK"; fi
                     56: 
                     57: run-test-x86_64: test-x86_64
                     58:        ./test-x86_64 > test-x86_64.ref
                     59:        -$(QEMU_X86_64) test-x86_64 > test-x86_64.out
                     60:        @if diff -u test-x86_64.ref test-x86_64.out ; then echo "Auto Test OK"; fi
                     61: 
                     62: run-test-mmap: test-mmap
                     63:        -$(QEMU) ./test-mmap
                     64:        -$(QEMU) -p 8192 ./test-mmap 8192
                     65:        -$(QEMU) -p 16384 ./test-mmap 16384
                     66:        -$(QEMU) -p 32768 ./test-mmap 32768
                     67: 
                     68: run-runcom: runcom
                     69:        -$(QEMU) ./runcom $(SRC_PATH)/tests/pi_10.com
                     70: 
                     71: run-test_path: test_path
                     72:        ./test_path
                     73: 
                     74: # rules to compile tests
                     75: 
                     76: test_path: test_path.o
                     77: test_path.o: test_path.c
                     78: 
                     79: hello-i386: hello-i386.c
                     80:        $(CC_I386) -nostdlib $(CFLAGS) -static $(LDFLAGS) -o $@ $<
                     81:        strip $@
                     82: 
                     83: testthread: testthread.c
                     84:        $(CC_I386) $(CFLAGS) $(LDFLAGS) -o $@ $< -lpthread
                     85: 
                     86: # i386/x86_64 emulation test (test various opcodes) */
                     87: test-i386: test-i386.c test-i386-code16.S test-i386-vm86.S \
                     88:            test-i386.h test-i386-shift.h test-i386-muldiv.h
                     89:        $(CC_I386) $(CFLAGS) $(LDFLAGS) -o $@ \
                     90:               $(<D)/test-i386.c $(<D)/test-i386-code16.S $(<D)/test-i386-vm86.S -lm
                     91: 
                     92: test-x86_64: test-i386.c \
                     93:            test-i386.h test-i386-shift.h test-i386-muldiv.h
                     94:        $(CC_X86_64) $(CFLAGS) $(LDFLAGS) -o $@ $(<D)/test-i386.c -lm
                     95: 
                     96: # generic Linux and CPU test
                     97: linux-test: linux-test.c
                     98:        $(CC_I386) $(CFLAGS) $(LDFLAGS) -o $@ $< -lm
                     99: 
                    100: # vm86 test
                    101: runcom: runcom.c
                    102:        $(CC_I386) $(CFLAGS) $(LDFLAGS) -o $@ $<
                    103: 
                    104: test-mmap: test-mmap.c
                    105:        $(CC_I386) -m32 $(CFLAGS) -Wall -O2 $(LDFLAGS) -o $@ $<
                    106: 
                    107: # speed test
                    108: sha1-i386: sha1.c
                    109:        $(CC_I386) $(CFLAGS) $(LDFLAGS) -o $@ $<
                    110: 
                    111: sha1: sha1.c
                    112:        $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
                    113: 
                    114: speed: sha1 sha1-i386
                    115:        time ./sha1
                    116:        time $(QEMU) ./sha1-i386
                    117: 
                    118: # arm test
                    119: hello-arm: hello-arm.o
                    120:        arm-linux-ld -o $@ $<
                    121: 
                    122: hello-arm.o: hello-arm.c
                    123:        arm-linux-gcc -Wall -g -O2 -c -o $@ $<
                    124: 
                    125: test-arm-iwmmxt: test-arm-iwmmxt.s
                    126:        cpp < $< | arm-linux-gnu-gcc -Wall -static -march=iwmmxt -mabi=aapcs -x assembler - -o $@
                    127: 
                    128: # MIPS test
                    129: hello-mips: hello-mips.c
                    130:        mips-linux-gnu-gcc -nostdlib -static -mno-abicalls -fno-PIC -mabi=32 -Wall -Wextra -g -O2 -o $@ $<
                    131: 
                    132: hello-mipsel: hello-mips.c
                    133:        mipsel-linux-gnu-gcc -nostdlib -static -mno-abicalls -fno-PIC -mabi=32 -Wall -Wextra -g -O2 -o $@ $<
                    134: 
                    135: # testsuite for the CRIS port.
                    136: test-cris:
                    137:        $(MAKE) -C cris check
                    138: 
                    139: # testsuite for the LM32 port.
                    140: test-lm32:
                    141:        $(MAKE) -C lm32 check
                    142: 
                    143: clean:
                    144:        rm -f *~ *.o test-i386.out test-i386.ref \
                    145:            test-x86_64.log test-x86_64.ref qruncom $(TESTS)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.