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

SOURCEPROG	= bsrch1.c
GOALFUN		= binsearch
BINDTIMES	= (?,$$1,?)
TESTDATA	= 42 512
SPECTIMEDATA	= 512
REPEAT		= 5000000
CFLAGS		= 
CMIXFLAGS	= -s -q

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

RESGOALFUN	= "$(GOALFUN)_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		= indent -br -ce
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 core

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

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

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

.PRECIOUS: %-res.c
.PHONY:	clean all timing1 timing2 answer2

%-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))' $<

%-gen: %-gen.cc
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $*-gen $< -lcmix $(LOADLIBES)

%-res.c: %-gen
	./$< $(SPECTIMEDATA) | $(INDENT) > $*-res.c

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

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