blob: 30022b19aaa2c1b78109ead23a1b4c44babd42db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
CC=gcc
CFLAGS=-Wall -O2 -g
LDFLAGS=
TESTS=hello test1 test2 sha1 test-i386
TESTS+=op-i386.o #op-i386.o op-ppc.o op-arm.o op-mips.o op-sparc.o
GEMU=../gemu
all: $(TESTS)
hello: hello.c
$(CC) -nostdlib $(CFLAGS) -static $(LDFLAGS) -o $@ $<
test1: test1.c
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
test2: test2.c
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
# i386 emulation test (dump various opcodes) */
test-i386: test-i386.c test-i386.h test-i386-shift.h test-i386-muldiv.h
$(CC) $(CFLAGS) $(LDFLAGS) -static -o $@ $<
test: test-i386
./test-i386 > test-i386.ref
$(GEMU) test-i386 > test-i386.out
@if diff -u test-i386.ref test-i386.out ; then echo "Auto Test OK"; fi
# dyngen tests
op-i386.o: op.c
gcc $(CFLAGS) -c -o $@ $<
op-ppc.o: op.c
powerpc-linux-gcc $(CFLAGS) -c -o $@ $<
op-arm.o: op.c
arm-linux-gcc $(CFLAGS) -c -o $@ $<
op-mips.o: op.c
mips-linux-gcc $(CFLAGS) -mno-abicalls -c -o $@ $<
op-sparc.o: op.c
sparc-linux-gcc $(CFLAGS) -mflat -c -o $@ $<
# speed test
sha1: sha1.c
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
speed: sha1
time ./sha1
time $(GEMU) sha1
# interpreter test
interp: interp.c interploop.c
$(CC) $(CFLAGS) -fomit-frame-pointer $(LDFLAGS) -o $@ $^
|