summaryrefslogtreecommitdiff
path: root/sim/testsuite/common/Make-common.in
blob: 7afef4a99ddb0c6fa6bfd5602997f46993b6308c (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
AS_FOR_TARGET = `\
  if [ -x ../../../gas/as-new ]; then \
    echo ../../../gas/as-new ; \
  else \
    echo $(target_alias)-as ; \
  fi`

LD_FOR_TARGET = `\
  if [ -x ../../../ld/ld-new ]; then \
    echo ../../../ld/ld-new ; \
  else \
    echo $(target_alias)-ld ; \
  fi`

RUN_FOR_TARGET = `\
  if [ -x ../../../sim/v850/run ]; then \
    echo ../../../sim/v850/run ; \
  else \
    echo $(target_alias)-run ; \
  fi`


check: sanity $(TESTS)
sanity:
	@eval echo AS_FOR_TARGET=$(AS_FOR_TARGET)
	@eval echo LD_FOR_TARGET=$(LD_FOR_TARGET)
	@eval echo RUN_FOR_TARGET=$(RUN_FOR_TARGET)

clean:
	rm -f $(TESTS)
	rm -f *.run *.o
	rm -f core *.core

# Rules for running the tests

.SUFFIXES: .ok .run .hi .ko .ti
.run.ok:
	rm -f tmp-$* $*.hi
	ulimit -t 5 ; \
	$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $*.run > tmp-$*
	mv tmp-$* $*.ok
.run.hi:
	rm -f tmp-$* $*.hi diff-$*
	ulimit -t 5 ; \
	$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $*.run > tmp-$*
	echo 'Hello World!' | diff - tmp-$* > diff-$*
	cat tmp-$* diff-$* > $*.hi
.run.ko:
	rm -f tmp-$* $*.ko
	set +e ; \
	ulimit -t 5 ; \
	$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $*.run > tmp-$* ; \
	if [ $$? -eq 47 ] ; then \
	  exit 0 ; \
	else \
	  exit 1 ; \
	fi
	mv tmp-$* $*.ko
.run.ti:
	rm -f tmp-$* $*.ti
	set +e ; \
	ulimit -t 5 ; \
	$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $(INTFLAGS_FOR_TARGET) $*.run > tmp-$*
	test `cat tmp-$* | wc -l` -eq 10 < /dev/null
	test `grep Tick tmp-$* | wc -l` -eq 10 < /dev/null
	mv tmp-$* $*.ti


# Rules for building the test
# Preference is for obtaining the executable (.run) from a prebuilt image

.SUFFIXES: .uue .s .S .run
.uue.run:
	head $* | grep $*.run > /dev/null
	uudecode $*.uue
.run.u:
	uuencode < $*.run $*.run > $*.u
.o.run:
	$(LD_FOR_TARGET) $(LDFLAGS_FOR_TARGET) -o $*.run $*.o
.s.o:
	$(AS_FOR_TARGET) $(ASFLAGS_FOR_TARGET) -I$(srcdir) $(srcdir)/$*.s -o $*.o
.S.o:
	$(AS_FOR_TARGET) $(ASFLAGS_FOR_TARGET) -I$(srcdir) $(srcdir)/$*.S -o $*.o


Makefile: Makefile.in config.status
	$(SHELL) ./config.status

config.status: configure
	$(SHELL) ./config.status --recheck