VERSION=17.10-p003_1
VPATH=make
TCLSH=/usr/bin/tclsh
GEN_FLOW=SCRIPTS/gen_flow.tcl
SETUP_PATH=.
TOOL=innovus
ARGS=-64 -nowin
FSTEPS=init place cts postcts_hold route postroute signoff
SCRIPTS=FF
LOG=LOG
BROWSER=netscape
UPDATE=yes

STEPS = version setup init place cts postcts_hold route postroute signoff do_cleanup
FF_START = init
FF_STOP = signoff

all: version setup init place cts postcts_hold route postroute signoff do_cleanup

version:
	@echo "# Foundation Flows Version $(VERSION)"

help:
	@echo "==================================================="
	@echo "           $(VERSION)  Foundation Flows"
	@echo "==================================================="
	@echo "   Makefile Targets"
	@echo "==================================================="
	@echo "               setup : Setup Run Directory"
	@echo                  init : Design Import / Initialization               
	@echo                 place : Cell Placement                               
	@echo                   cts : Clock Tree Synthesis                         
	@echo          postcts_hold : PostCTS Hold Fixing                          
	@echo                 route : Global/Detail Route                          
	@echo             postroute : PostRoute Optimization                       
	@echo               signoff : Signoff Timing / Verify                      
	@echo "---------------------------------------------------"
	@echo "                 all : All design steps"
	@echo "              simple : Single script (all steps in a single session) - no stop/start"
	@echo "              single : Single script (all steps in a single session)"
	@echo "==================================================="
	@echo "   Makefile Options"
	@echo "==================================================="
	@echo "   VPATH : Make directory    (default make)"
	@echo "    TOOL : INNOVUS executable     (default innovus)"
	@echo "    ARGS : INNOVUS arguments      (default -nowin -64)"
	@echo "  UPDATE : Update scripts    (default yes)"
	@echo " SCRIPTS : Script directory  (default FF)"
	@echo "     LOG : Logfile directory (default LOG)"
	@echo "==================================================="


simple: setup
	FF_STOP=$(FF_STOP); VPATH=$(VPATH); export VPATH; $(TOOL) -init $(SCRIPTS)/INNOVUS/run_simple.tcl -log $(LOG)/simple.log $(ARGS)


single: setup
	FF_STOP=$(FF_STOP); VPATH=$(VPATH); export VPATH; $(TOOL) -init $(SCRIPTS)/INNOVUS/run_all.tcl -log $(LOG)/single.log $(ARGS)

setup:
	@/bin/mkdir -p $(VPATH) $(LOG)
	@/bin/touch $(VPATH)/$@

init: setup
	@mkdir -p $(LOG);
	@if [ "$(UPDATE)" = "yes" ] ; then \
		/usr/bin/tclsh SCRIPTS/gen_flow.tcl -m flat -d FF -v 17.1.0 -s . -y none -n  init ; \
	fi
	VPATH=$(VPATH); export VPATH; $(TOOL) -init $(SCRIPTS)/INNOVUS/run_init.tcl -log $(LOG)/init.log -overwrite $(ARGS)
place: init
	@mkdir -p $(LOG);
	@if [ "$(UPDATE)" = "yes" ] ; then \
		/usr/bin/tclsh SCRIPTS/gen_flow.tcl -m flat -d FF -v 17.1.0 -s . -y none -n  place ; \
	fi
	VPATH=$(VPATH); export VPATH; $(TOOL) -init $(SCRIPTS)/INNOVUS/run_place.tcl -log $(LOG)/place.log -overwrite $(ARGS)
cts: place
	@mkdir -p $(LOG);
	@if [ "$(UPDATE)" = "yes" ] ; then \
		/usr/bin/tclsh SCRIPTS/gen_flow.tcl -m flat -d FF -v 17.1.0 -s . -y none -n  cts ; \
	fi
	VPATH=$(VPATH); export VPATH; $(TOOL) -init $(SCRIPTS)/INNOVUS/run_cts.tcl -log $(LOG)/cts.log -overwrite $(ARGS)
postcts_hold: cts
	@mkdir -p $(LOG);
	@if [ "$(UPDATE)" = "yes" ] ; then \
		/usr/bin/tclsh SCRIPTS/gen_flow.tcl -m flat -d FF -v 17.1.0 -s . -y none -n  postcts_hold ; \
	fi
	VPATH=$(VPATH); export VPATH; $(TOOL) -init $(SCRIPTS)/INNOVUS/run_postcts_hold.tcl -log $(LOG)/postcts_hold.log -overwrite $(ARGS)
route: postcts_hold
	@mkdir -p $(LOG);
	@if [ "$(UPDATE)" = "yes" ] ; then \
		/usr/bin/tclsh SCRIPTS/gen_flow.tcl -m flat -d FF -v 17.1.0 -s . -y none -n  route ; \
	fi
	VPATH=$(VPATH); export VPATH; $(TOOL) -init $(SCRIPTS)/INNOVUS/run_route.tcl -log $(LOG)/route.log -overwrite $(ARGS)
postroute: route
	@mkdir -p $(LOG);
	@if [ "$(UPDATE)" = "yes" ] ; then \
		/usr/bin/tclsh SCRIPTS/gen_flow.tcl -m flat -d FF -v 17.1.0 -s . -y none -n  postroute ; \
	fi
	VPATH=$(VPATH); export VPATH; $(TOOL) -init $(SCRIPTS)/INNOVUS/run_postroute.tcl -log $(LOG)/postroute.log -overwrite $(ARGS)
signoff: postroute
	@mkdir -p $(LOG);
	@if [ "$(UPDATE)" = "yes" ] ; then \
		/usr/bin/tclsh SCRIPTS/gen_flow.tcl -m flat -d FF -v 17.1.0 -s . -y none -n  signoff ; \
	fi
	VPATH=$(VPATH); export VPATH; $(TOOL) -init $(SCRIPTS)/INNOVUS/run_signoff.tcl -log $(LOG)/signoff.log -overwrite $(ARGS)
debug_%:
	VPATH=$(VPATH); export STEP=$* ; export VPATH; $(TOOL) -init $(SCRIPTS)/INNOVUS/run_debug.tcl -log $(LOG)/$@.log -win $(ARGS:-nowin=)

lec_%:
	export STEP=$* ; lec -64 -xl -Dofile $(SCRIPTS)/INNOVUS/run_lec.tcl -NOGui -LOGfile $(LOG)/$@.log

help_%:
	/usr/bin/tclsh $(GEN_FLOW) -H $*

.PHONY: clean

clean:
	/bin/mv *.rpt RPT ;\
	/bin/rm -fr extLogDir* __qrc.log *cts_trace *.rpt.old *delete* placementReports* *.rguide *_mmmc \
	*_constr.pt .constr* .FE* .routing* .timing_file* .tdrlog*

do_cleanup: signoff
	$(MAKE) clean
	/bin/touch $(VPATH)/$@

reset : version
	/bin/rm -fr $(VPATH)/* extLogDir* __qrc.log *cts_trace *.rpt.old *delete* placementReports* *.rguide *_mmmc
	@for file in $(STEPS) ; \
	do \
		if [ -r $(VPATH)/$$file ] ; then \
			/bin/rm $(VPATH)/$$file ; \
		fi \
	done

block_%: setup
	@if [ "x$*" = "xsingle" ] ; then \
		ff_stop=$(FF_STOP); \
		target="$@ (from: $(FF_START) to: $(FF_STOP))"; \
	else \
		ff_stop=$* ; \
		target=$@; \
	fi; \
	if [ -r $(VPATH)/.RUNNING ] ; then \
		echo "INFO: A build seems to be running already... check $(VPATH)/.RUNNING file and remove that file if the process is dead" ; \
		/bin/head -1  $(VPATH)/.RUNNING ; \
		exit -1 ; \
	else \
		/bin/rm -f $(VPATH)/block_$${ff_stop}.DONE $(VPATH)/block_$${ff_stop}.FAILED $(VPATH)/block_$${ff_stop}.PASS ; \
		(echo "# Started building $${target} at "`/bin/date`" on "`/bin/hostname`" PID: $$$$" ; $(MAKE) $(TARGET) ) &>$(VPATH)/.RUNNING ; \
		if [ -r $(VPATH)/$${ff_stop} ] ; then \
			if [ -r $(VPATH)/.RUNNING ] ; then \
				/bin/mv $(VPATH)/.RUNNING $(VPATH)/block_$${ff_stop}.PASS ; \
				/bin/touch $(VPATH)/block_$${ff_stop} ; \
				/bin/touch $(VPATH)/block_$${ff_stop}.DONE ; \
			else \
				echo "# Something did not work properly" > $(VPATH)/block_$${ff_stop}.FAILED ; \
				/bin/touch $(VPATH)/block_$${ff_stop}.DONE ; \
				exit -1; \
			fi ; \
		else \
			if [ -r $(VPATH)/.RUNNING ] ; then \
				/bin/mv $(VPATH)/.RUNNING $(VPATH)/block_$${ff_stop}.FAILED ; \
			else \
				echo "# Something did not work properly" > $(VPATH)/block_$${ff_stop}.FAILED ; \
			fi ; \
			/bin/touch $(VPATH)/block_$${ff_stop}.DONE ; \
			exit -1 ; \
		fi ; \
	fi
