@@ -536,9 +536,10 @@ UNSET_VARS = for var in $(UNSET_VARIABLES_NAMES); do unset $$var; done
536536SUB_MAKE = $(MAKE ) $(foreach V,$(COMMAND_LINE_ARGS ) , $(if $($V ) ,$V=$(shell echo "$($V ) " | $(FLOW_HOME ) /scripts/escape.sh) ,$V='') ) --no-print-directory DESIGN_CONFIG=$(DESIGN_CONFIG )
537537UNSET_AND_MAKE = @bash -c '$(UNSET_VARS ) ; $(SUB_MAKE ) $$@ ' --
538538
539- copyright.txt :
539+ $( OBJECTS_DIR ) / copyright.txt :
540540 @$(OPENROAD_CMD ) $(SCRIPTS_DIR ) /noop.tcl
541- @touch copyright.txt
541+ mkdir -p $(OBJECTS_DIR )
542+ @touch $(OBJECTS_DIR ) /copyright.txt
542543
543544# Separate dependency checking and doing a step. This can
544545# be useful to retest a stage without having to delete the
@@ -570,8 +571,8 @@ $(if $(5),$(5),$(RESULTS_DIR))/$(1)$(if $(4),$(4),.odb): $(2)
570571 $$(UNSET_AND_MAKE ) do-$(1 )
571572
572573.PHONY: do-$(1 )
573- do-$(1 ) : copyright.txt
574- @echo Running $(3 ) .tcl
574+ do-$(1 ) : $( OBJECTS_DIR ) / copyright.txt
575+ @echo Running $(3 ) .tcl, stage $( 1 )
575576 @(trap 'mv $(LOG_DIR ) /$(1 ) .tmp.log $(LOG_DIR ) /$(1 ) .log' EXIT; \
576577 $(OPENROAD_CMD ) $(SCRIPTS_DIR ) /noop.tcl 2>&1 >$(LOG_DIR ) /$(1 ) .tmp.log; \
577578 $(TIME_CMD ) $(OPENROAD_CMD ) -no_splash $(SCRIPTS_DIR ) /$(3 ) .tcl -metrics $(LOG_DIR ) /$(1 ) .json 2>&1 | \
@@ -858,49 +859,11 @@ do-finish:
858859 mkdir -p $(LOG_DIR ) $(REPORTS_DIR )
859860 $(UNSET_AND_MAKE ) do-6_1_fill do-6_1_fill.sdc do-6_final.sdc do-6_report do-gds elapsed
860861
861- .PHONY : skip_place
862- skip_place : $(RESULTS_DIR ) /2_floorplan.odb $(RESULTS_DIR ) /2_floorplan.sdc
863- cp $(RESULTS_DIR ) /2_floorplan.odb $(RESULTS_DIR ) /3_1_place_gp_skip_io.odb
864- cp $(RESULTS_DIR ) /2_floorplan.odb $(RESULTS_DIR ) /3_2_place_iop.odb
865- cp $(RESULTS_DIR ) /2_floorplan.odb $(RESULTS_DIR ) /3_3_place_gp.odb
866- cp $(RESULTS_DIR ) /2_floorplan.odb $(RESULTS_DIR ) /3_4_place_resized.odb
867- cp $(RESULTS_DIR ) /2_floorplan.odb $(RESULTS_DIR ) /3_5_place_dp.odb
868- cp $(RESULTS_DIR ) /2_floorplan.odb $(RESULTS_DIR ) /3_place.odb
869- cp $(RESULTS_DIR ) /2_floorplan.sdc $(RESULTS_DIR ) /3_place.sdc
870-
871- .PHONY : skip_resize
872- skip_resize : $(RESULTS_DIR ) /3_3_place_gp.odb
873- cp $(RESULTS_DIR ) /3_3_place_gp.odb $(RESULTS_DIR ) /3_4_place_resized.odb
874-
875- .PHONY : skip_cts
876- skip_cts : $(RESULTS_DIR ) /3_place.odb $(RESULTS_DIR ) /3_place.sdc
877- # mock all intermediate results
878- cp $(RESULTS_DIR ) /3_place.odb $(RESULTS_DIR ) /4_1_cts.odb
879- cp $(RESULTS_DIR ) /3_place.sdc $(RESULTS_DIR ) /4_cts.sdc
880- cp $(RESULTS_DIR ) /3_place.odb $(RESULTS_DIR ) /4_cts.odb
881-
882- .PHONY : skip_route
883- skip_route : $(RESULTS_DIR ) /4_cts.odb $(RESULTS_DIR ) /4_cts.sdc
884- cp $(RESULTS_DIR ) /3_place.odb $(RESULTS_DIR ) /5_1_grt.odb
885- cp $(RESULTS_DIR ) /3_place.odb $(RESULTS_DIR ) /5_2_route.odb
886- cp $(RESULTS_DIR ) /3_place.odb $(RESULTS_DIR ) /6_1_fill.odb
887- touch $(RESULTS_DIR ) /6_final.spef
888-
889- # A mock abstract is a fully or partially eviscerated macro. A mock
890- # abstract can be useful when creating bug reports, previewing
891- # macro placement, testing detailed routing, or other quick smoke-tests
892- # at the top level.
893- #
894- # When creating a mock abstract, depending on what needs to be tested,
895- # stages can be skipped.
896- #
897- # Leave out "skip_" targes as approperiate:
898- #
899- # make skip_place skip_cts skip_route generate_abstract
900862.PHONY : generate_abstract
901863generate_abstract : $(RESULTS_DIR ) /6_final.gds $(RESULTS_DIR ) /6_final.def $(RESULTS_DIR ) /6_final.v $(RESULTS_DIR ) /6_final.sdc
902864 $(UNSET_AND_MAKE ) do-generate_abstract
903865
866+ # Set ABSTRACT_SOURCE if you want to create an abstract from another stage than 6_final.
904867.PHONY : do-generate_abstract
905868do-generate_abstract :
906869 mkdir -p $(LOG_DIR ) $(REPORTS_DIR )
@@ -1023,7 +986,7 @@ nuke: clean_test clean_issues
1023986 rm -rf ./results ./logs ./reports ./objects
1024987 rm -rf layer_* .mps macrocell.list * best.plt * _pdn.def
1025988 rm -rf * .rpt * .rpt.old * .def.v pin_dumper.log
1026- rm -f versions.txt copyright.txt dummy.guide
989+ rm -f versions.txt $( OBJECTS_DIR ) / copyright.txt dummy.guide
1027990
1028991.PHONY : vars
1029992vars :
0 commit comments