@@ -185,9 +185,11 @@ ifdef BLOCKS
185185 $(foreach block,$(BLOCKS),$(info Block ${block} needs to be hardened.))
186186 $(foreach block,$(BLOCKS),$(eval BLOCK_CONFIGS += ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/$(block)/config.mk))
187187 $(foreach block,$(BLOCKS),$(eval BLOCK_LEFS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef))
188+ $(foreach block,$(BLOCKS),$(eval BLOCK_LIBS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lib))
188189 $(foreach block,$(BLOCKS),$(eval BLOCK_GDS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.gds))
189190 $(foreach block,$(BLOCKS),$(eval BLOCK_CDL += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/6_final.cdl))
190191 export ADDITIONAL_LEFS += $(BLOCK_LEFS )
192+ export ADDITIONAL_LIBS += $(BLOCK_LIBS )
191193 export ADDITIONAL_GDS += $(BLOCK_GDS )
192194 export GDS_FILES += $(BLOCK_GDS )
193195 ifdef CDL_FILES
@@ -290,16 +292,18 @@ else
290292endif
291293export WRAPPED_GDSOAS = $(foreach lef,$(notdir $(WRAP_LEFS ) ) ,$(OBJECTS_DIR ) /$(lef :.lef=_mod.$(STREAM_SYSTEM_EXT ) ))
292294
295+ define GENERATE_ABSTRACT_RULE
296+ # Single rule, two targets, hence the "&:", syntax
297+ $(1 ) $(2 ) &: $(3 )
298+ $(MAKE ) "DESIGN_CONFIG=$(3 ) " generate_abstract
299+ endef
293300
294301# Targets to harden Blocks in case of hierarchical flow is triggered
295- build_macros : $(BLOCK_LEFS )
302+ build_macros : $(BLOCK_LEFS ) $( BLOCK_LIBS )
296303
297- $(foreach block,$(BLOCKS ) ,$(eval ./results/$(PLATFORM ) /$(DESIGN_NICKNAME ) _$(block ) /$(FLOW_VARIANT ) /${block}.lef : ./ designs/$(PLATFORM ) /$(DESIGN_NICKNAME ) /${block}/config.mk))
304+ $(foreach block,$(BLOCKS),$(eval $(call GENERATE_ABSTRACT_RULE, ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef,./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lib,./ designs/$(PLATFORM)/$(DESIGN_NICKNAME)/${block}/config.mk) ))
298305$(foreach block,$(BLOCKS ) ,$(eval ./results/$(PLATFORM ) /$(DESIGN_NICKNAME ) _$(block ) /$(FLOW_VARIANT ) /6_final.gds : ./results/$(PLATFORM ) /$(DESIGN_NICKNAME ) _$(block ) /$(FLOW_VARIANT ) /${block}.lef))
299306
300- $(BLOCK_LEFS ) :
301- $(MAKE ) DESIGN_CONFIG=$< generate_abstract
302-
303307# Utility to print tool version information
304308# -------------------------------------------------------------------------------
305309.PHONY : versions.txt
0 commit comments