#!/bin/make -f
# Automatically generated by Tool Builder Interface V1.0. 
# File: makefile.in   (Don't edit this file.) 

#
# AR:		archive command
# AS:		assembler command
# ASFLAGS:	options to assembler
# CC:		compiler command
# CFLAGS:	options to C compiler
# DIR:		root directory of FREESS
#
#  Roberto Giorgi
#  [14-May-2009]

TGT	= freess
DEFIN	= -DSHARING_STAT -DDGEN -DDXP 
DIR	= $(TGT) 
#REL	= Release
#DEB	= Debug
OBJS	= $(REL)/main.o $(REL)/superscalar.o  ../lib/libsui.a
CFLAGS1	= $(CCOO)-D_Linux_ $(DEFIN) -I../lib -I./include 
CFLAGS	= -O3 $(CFLAGS1)
ARFLAGS	= r
AR	= ar
CC	= gcc

release:
	-@if [ ! -d Release ]; then mkdir Release; fi
	-@if [ ! -d Debug ]; then mkdir Debug; fi
	@echo ""
	@echo "------------------- Building $(TGT) Release Version"
	@(CCOO="-O3 "; REL=Release; export REL CCOO; make tool)

debug:
	-@if [ ! -d Release ]; then mkdir Release; fi
	-@if [ ! -d Debug ]; then mkdir Debug; fi
	@echo ""
	@echo "------------------- Building $(TGT) Debug Version"
	@(CCOO="-g "; CCSS=d; REL=Debug; export REL CCOO CCSS; make tool)

all:
	make clean
	make release

tool: $(OBJS)
	-@(count="0"; \
           for i in Objs/*; do \
              if [ -s $$i ]; then count=`expr $$count + 1`; fi; \
           done;\
           if [ $$count -gt 0 ]; then \
	      echo "";\
              echo "------------------- Copying PREBUILT OBJECT FILES";\
              for i in Objs/*; do \
                 tt=`echo $$i |awk -F/ '{print $$2}'`;\
                 rm -f $(REL)/$$tt.o;\
                 cp Objs/$$tt $(REL)/$$tt.o;\
                 echo "cp Objs/$$tt $(REL)/$$tt.o";\
              done;\
           fi)
	@echo ""
	@echo "------------------- Building TOOL BINARY"
	$(CC) $(OBJS) $(CFLAGS1) -o $(TGT)$(CCSS) -lm
           
../lib/libsui.a: ../lib/makefile ../lib/sui.c ../lib/sui.h
	@echo ""
	@echo "------------------- Building LIBRARY"
	cd ../lib && make || exit 1
	@echo ""
	@echo "------------------- Building TOOL MODULES"
        
$(REL)/main.o: main.c main.h ../lib/sui.h ../lib/libsui.a
	$(CC) $(CFLAGS1) -o $(REL)/main.o -c main.c
$(REL)/superscalar.o: superscalar.c superscalar.h
	$(CC) $(CFLAGS1) -o $(REL)/superscalar.o -c superscalar.c


clean: 
	@echo ""
	@echo "------------------- Cleaning all .o files"
	-'rm' -f Release/*.o *.ln
	-'rm' -f ../lib/*.o ../lib/*.a
	-'rm' -rf Debug Release
	-@mkdir Release 2> /dev/null
	-@mkdir Debug 2> /dev/null

veryclean:
	$(MAKE) clean
	-'rm' -f $(TGT) $(TGT)d $(TGT).exe $(TGT)ini $(TGT).cpe $(TGT).def \
	   $(TGT).c $(TGT).h makefile makefile.in $(TGT).tem main.c main.h
	exec tbi2

install:
	cd .. && make install && cd $(TGT)

test:
	@echo ""
	@echo "------------------- Starting ALL Tests..."
	make
	@for i in test*; do \
	   echo "------------------- $i"; \
	   if [ -d $$i ]; then cd $$i; make test; cd ..; fi; \
	done 

t0:
	cd test0 && ( make && make cmp )
t1:
	cd test1 && ( make && make cmp )
t2:
	cd test2 && ( make && make cmp )
t3:
	cd test3 && ( make && make cmp )
t4:
	cd test4 && ( make && make cmp )
t5:
	cd test5 && ( make && make cmp )
t6:
	cd test6 && ( make && make cmp )

new:
	rm -f $(TGT)
	make

