|
|
1.1 root 1: -include ../config-host.mak
2:
1.1.1.3 root 3: CFLAGS=-Wall -O2 -g
4: #CFLAGS+=-msse2
1.1 root 5: LDFLAGS=
6:
7: ifeq ($(ARCH),i386)
8: TESTS=linux-test testthread sha1-i386 test-i386 runcom
9: endif
10: ifeq ($(ARCH),x86_64)
11: TESTS=test-x86_64
12: endif
13: TESTS+=sha1# test_path
14: #TESTS+=test_path
15:
1.1.1.4 ! root 16: QEMU=../i386-linux-user/qemu-i386
1.1 root 17:
18: all: $(TESTS)
19:
20: hello-i386: hello-i386.c
21: $(CC) -nostdlib $(CFLAGS) -static $(LDFLAGS) -o $@ $<
22: strip $@
23:
24: testthread: testthread.c
25: $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lpthread
26:
27: test_path: test_path.c
28: $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
29: ./$@ || { rm $@; exit 1; }
30:
31: # i386/x86_64 emulation test (test various opcodes) */
32: test-i386: test-i386.c test-i386-code16.S test-i386-vm86.S \
33: test-i386.h test-i386-shift.h test-i386-muldiv.h
34: $(CC) $(CFLAGS) $(LDFLAGS) -static -o $@ \
35: test-i386.c test-i386-code16.S test-i386-vm86.S -lm
36:
37: test-x86_64: test-i386.c \
38: test-i386.h test-i386-shift.h test-i386-muldiv.h
39: $(CC) $(CFLAGS) $(LDFLAGS) -static -o $@ test-i386.c -lm
40:
41: ifeq ($(ARCH),i386)
42: test: test-i386
43: ./test-i386 > test-i386.ref
44: else
45: test:
46: endif
47: $(QEMU) test-i386 > test-i386.out
48: @if diff -u test-i386.ref test-i386.out ; then echo "Auto Test OK"; fi
49: ifeq ($(ARCH),i386)
50: $(QEMU) -no-code-copy test-i386 > test-i386.out
51: @if diff -u test-i386.ref test-i386.out ; then echo "Auto Test OK (no code copy)"; fi
52: endif
53:
54: # generic Linux and CPU test
55: linux-test: linux-test.c
56: $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lm
57:
58: # speed test
59: sha1-i386: sha1.c
60: $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
61:
62: sha1: sha1.c
63: $(HOST_CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
64:
65: speed: sha1 sha1-i386
66: time ./sha1
67: time $(QEMU) ./sha1-i386
68:
69: # vm86 test
70: runcom: runcom.c
71: $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
72:
73: # NOTE: -fomit-frame-pointer is currently needed : this is a bug in libqemu
74: qruncom: qruncom.c ../i386-user/libqemu.a
1.1.1.2 root 75: $(CC) $(CFLAGS) -fomit-frame-pointer $(LDFLAGS) -I../target-i386 -I.. -I../i386-user -I../fpu \
1.1 root 76: -o $@ $< -L../i386-user -lqemu -lm
77:
78: # arm test
79: hello-arm: hello-arm.o
80: arm-linux-ld -o $@ $<
81:
82: hello-arm.o: hello-arm.c
83: arm-linux-gcc -Wall -g -O2 -c -o $@ $<
84:
1.1.1.4 ! root 85: # MIPS test
! 86: hello-mips: hello-mips.c
! 87: mips-linux-gnu-gcc -nostdlib -static -mno-abicalls -fno-PIC -mabi=32 -Wall -Wextra -g -O2 -o $@ $<
! 88:
! 89: hello-mipsel: hello-mips.c
! 90: mipsel-linux-gnu-gcc -nostdlib -static -mno-abicalls -fno-PIC -mabi=32 -Wall -Wextra -g -O2 -o $@ $<
! 91:
1.1 root 92: # XXX: find a way to compile easily a test for each arch
93: test2:
1.1.1.2 root 94: @for arch in i386 arm armeb sparc ppc mips mipsel; do \
1.1.1.4 ! root 95: ../$${arch}-linux-user/qemu-$${arch} $${arch}/ls -l linux-test.c ; \
1.1 root 96: done
97:
98: clean:
99: rm -f *~ *.o test-i386.out test-i386.ref \
100: test-x86_64.log test-x86_64.ref qruncom $(TESTS)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.