# Generated automatically from 500Makefile.in by configure.
#---- EXAMPLE SPECIFIC SECTION -------------------------------

SOURCEPROG	= turng.c
GOALFUN		= loadAndRunTuring
BINDTIMES	= ($$1,?,$$2)
TESTDATA-turng1	= first0to1.t "110101---" 500
SPECDATA-turng1	= first0to1.t 500
REPEAT		= 1000000
CFLAGS		= -O3
CMIXFLAGS	= -s -q
TESTDATA-turng2	= 3right1left.t "001000110---"
SPECDATA-turng2	= 3right1left.t
TESTDATA-turng1-answer= $(TESTDATA-turng1)
SPECDATA-turng1-answer= $(SPECDATA-turng1)
TESTDATA-turng2-answer= $(TESTDATA-turng2)
SPECDATA-turng2-answer= $(SPECDATA-turng2)

#---- END OF EXAMPLE SPECIFIC SECTION ------------------------

RESGOALFUN	= "turing_res"

prefix		= /usr/local
exec_prefix	= ${prefix}
CC		= gcc
CXX		= c++
CXXFLAGS	= -I $(CMIXINCLUDE) -L $(CMIXLIB)
CMIX		= cmix
CMIXINCLUDE 	= ${prefix}/include
CMIXLIB		= ${exec_prefix}/lib
WC		= wc
SED		= sed
INDENT		= (gindent -br -ce || cat)
ECHON		= echo -n
ECHOC		= 
EXEEXT		= 

SHORTHOST	= $(HOST:.diku.dk=)
ifeq (x$(ARCH),x)
  ARCH		= i586-linux-gnu
endif

all:	timing1

clean:
	$(RM) *~ *.o *-gen.cc *-gen$(EXEEXT) *-res.c *-res$(EXEEXT) \
	*-time$(EXEEXT) *-time.txt *.ann tmp-$(USER).c core

timing1:	turng1-time.txt
	head -8 $<; tail -8 $<

timing2:	turng2-time.txt
	head -8 $<; tail -8 $<

answer1: turng1-answer-time.txt
	head -8 $<; tail -8 $<

answer2: turng2-answer-time.txt
	head -8 $<; tail -8 $<

.PRECIOUS: %-res.c
.PHONY:	clean all timing

%-time.txt:	%-time %.o %-res.o
	@echo ============================================================ \
	> $*-time.txt
	@echo "Program $*.c on host $(SHORTHOST)," \
              "architecture $(ARCH):" >> $*-time.txt
	@echo "Compiler command is \`$(CC) $(CPPFLAGS) $(CFLAGS)'" \
	      >> $*-time.txt
	@echo "Input is \`$(TESTDATA-$*)'" >> $*-time.txt
	@echo "" >> $*-time.txt
	@$(ECHON) "Source   program size: "$(ECHOC) >> $*-time.txt
	@$(WC) -c $*.o | tee -a $*-time.txt
	@$(ECHON) "Residual program size: "$(ECHOC) >> $*-time.txt
	@$(WC) -c $*-res.o | tee -a $*-time.txt
	@echo "" >> $*-time.txt
	./$*-time $(REPEAT) $(TESTDATA-$*) >> $*-time.txt
	@echo ============================================================ \
	>> $*-time.txt

%.d: %.c
	$(SHELL) -ec '$(CC) -MM $(CPPFLAGS) $< \
	| sed '\''s/$*\\.o[ :]*/& $@/g'\'' > $@'

%.d: %.cc
	$(SHELL) -ec '$(CXX) -MM $(CXXFLAGS) $< \
	| sed '\''s/$*\\.o[ :]*/& $@/g'\'' > $@'

%-gen.cc: %.c
	$(CMIX) $(CMIXFLAGS) -e 'goal: $(GOALFUN)$(BINDTIMES) producing ($(RESGOALFUN))' $<

printstatus.o: printstatus.c
	$(CC) $(CPPFLAGS) $(CFLAGS) -c $^

readprog.o: readprog.c
	$(CC) $(CPPFLAGS) $(CFLAGS) -c $^ 

%-gen: %-gen.o printstatus.o readprog.o
	$(CXX) $(LDFLAGS) -L $(CMIXLIB) -o $*-gen $^ -lcmix $(LOADLIBES)

%-res.c: %-gen
	./$< $(SPECDATA-$*) > tmp-$(USER).c
	@$(INDENT) < tmp-$(USER).c > $*-res.c
	@$(RM) tmp-$(USER).c

%-res:	%-res.o %-res-main.o
	$(CC) -o $*-res $(LDFLAGS) $^ $(LOADLIBES)

%-time: turng-time.o %.o %-res.o noprintstatus.o readprog.o
	$(CC) -o $*-time $(LDFLAGS) $^ $(LOADLIBES)

%-answer-time: %-time.o %-answer.o %-answer-res.o noprintstatus.o readprog.o
	$(CC) -o $*-answer-time $(LDFLAGS) $^ $(LOADLIBES)
