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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
|
TESTDATA_turng1 = first0to1.t 110101--- $(TAPELEN)
SPECDATA_turng1 = first0to1.t $(TAPELEN)
TESTDATA_turng2 = 3right1left.t 001000110--- $(TAPELEN)
SPECDATA_turng2 = 3right1left.t $(TAPELEN)
REPEAT = 1000000
CMIXFLAGS = -s -q
SHELL = /bin/sh
YACC = @YACC@
LEX = @LEX@
LEXLIB = @LEXLIB@
prefix = @prefix@
exec_prefix = @exec_prefix@
datadir = @datadir@
CC = @CC@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
SPECLIB = -lcmix
CPPFLAGS = @CPPFLAGS@
CMIX = cmix
MV = mv
RM = rm -f
WC = wc
SED = sed
EXEEXT = @EXEEXT@
TIMEPROG = $(datadir)/cmix/time-prog
all: timing1
clean:
$(RM) *.o core
for i in turng1 turng2 answr1 answr2; do \
$(RM) $$i-gen.c $$i-gen@EXEEXT@ $$i-res.c \
$$i-res@EXEEXT@ $$i-time$(EXEEXT) \
$$i-time.txt $$i.ann ; \
done
distclean: clean
$(RM) Makefile
timing1: turng1-time.txt
head -8 $?; tail -8 $?
timing2: turng2-time.txt
head -8 $?; tail -8 $?
answer1: answr1-time.txt
head -8 $?; tail -8 $?
answer2: answr2-time.txt
head -8 $?; tail -8 $?
500timing1:
$(MAKE) TAPELEN=500 timing1
500timing2:
$(MAKE) TAPELEN=500 timing2
500answer1:
$(MAKE) TAPELEN=500 answer1
500answer2:
$(MAKE) TAPELEN=500 answer2
.PRECIOUS: turng1-res.c turng2-res.c answr1-res.c answr2-res.c
.PRECIOUS: turng1-gen.c turng2-gen.c answr1-gen.c answr2-gen.c
.PHONY: clean all
.PHONY: timing1 timing2 answer1 answer2
.PHONY: 500timing1 500timing2 500answer1 500answer2
#
# %-time.txt: %-time %.o %-res.o
#
turng1-time.txt: turng1-time turng1.o turng1-res.o
$(TIMEPROG) turng1 $(REPEAT) "$(TESTDATA_turng1)" > $@
turng2-time.txt: turng2-time turng2.o turng2-res.o
$(TIMEPROG) turng2 $(REPEAT) "$(TESTDATA_turng2)" > $@
answr1-time.txt: answr1-time turng1.o answr1-res.o
$(TIMEPROG) -s turng1 answr1 $(REPEAT) "$(TESTDATA_turng1)" > $@
answr2-time.txt: answr2-time answr2.o answr2-res.o
$(TIMEPROG) answr2 $(REPEAT) "$(TESTDATA_turng2)" > $@
#
# %-gen.c: %.c
#
turng1-gen.c: turng1.c $(TAPELEN)turng1.cmx
$(CMIX) $(CMIXFLAGS) $(TAPELEN)turng1.cmx
turng2-gen.c: turng2.c $(TAPELEN)turng2.cmx
$(CMIX) $(CMIXFLAGS) $(TAPELEN)turng2.cmx
answr1-gen.c: turng1.c $(TAPELEN)answr1.cmx
$(CMIX) $(CMIXFLAGS) $(TAPELEN)answr1.cmx
answr2-gen.c: answr2.c $(TAPELEN)answr2.cmx
$(CMIX) $(CMIXFLAGS) $(TAPELEN)answr2.cmx
#
# %-gen@EXEEXT@: %-gen.c
#
turng1-gen@EXEEXT@: turng1-gen.o printstatus.o readprog.o
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
turng1-gen.o printstatus.o readprog.o $(SPECLIB)
turng2-gen@EXEEXT@: turng2-gen.o printstatus.o readprog.o
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
turng2-gen.o printstatus.o readprog.o $(SPECLIB)
answr1-gen@EXEEXT@: answr1-gen.o printstatus.o readprog.o
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
answr1-gen.o printstatus.o readprog.o $(SPECLIB)
answr2-gen@EXEEXT@: answr2-gen.o printstatus.o readprog.o
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
answr2-gen.o printstatus.o readprog.o $(SPECLIB)
#
# %-res.c: %-gen@EXEEXT@
#
turng1-res.c: turng1-gen@EXEEXT@
./turng1-gen@EXEEXT@ $(SPECDATA_turng1) > $@
turng2-res.c: turng2-gen@EXEEXT@
./turng2-gen@EXEEXT@ $(SPECDATA_turng2) > $@
answr1-res.c: answr1-gen@EXEEXT@
./answr1-gen@EXEEXT@ $(SPECDATA_turng1) > $@
answr2-res.c: answr2-gen@EXEEXT@
./answr2-gen@EXEEXT@ $(SPECDATA_turng2) > $@
#
# %-time@EXEEXT@: $(TAPELEN)turng-time.o %.o %-res.o noprintstatus.o readprog.o
#
turng1-time@EXEEXT@: $(TAPELEN)turng-time.o turng1.o turng1-res.o noprintstatus.o readprog.o
$(CC) -o $@ $(LDFLAGS) \
$(TAPELEN)turng-time.o turng1.o turng1-res.o noprintstatus.o readprog.o
turng2-time@EXEEXT@: $(TAPELEN)turng-time.o turng2.o turng2-res.o noprintstatus.o readprog.o
$(CC) -o $@ $(LDFLAGS) \
$(TAPELEN)turng-time.o turng2.o turng2-res.o noprintstatus.o readprog.o
answr1-time@EXEEXT@: $(TAPELEN)turng-time.o turng1.o answr1-res.o noprintstatus.o readprog.o
$(CC) -o $@ $(LDFLAGS) \
$(TAPELEN)turng-time.o turng1.o answr1-res.o noprintstatus.o readprog.o
answr2-time@EXEEXT@: $(TAPELEN)turng-time.o answr2.o answr2-res.o noprintstatus.o readprog.o
$(CC) -o $@ $(LDFLAGS) \
$(TAPELEN)turng-time.o answr2.o answr2-res.o noprintstatus.o readprog.o
|