mirror of
https://github.com/The-OpenROAD-Project/OpenLane.git
synced 2026-05-29 00:23:55 +08:00
* Initial Set Of Changes + Made openroad binary customizable with OPENROAD_BIN env var: defaults to `openroad` + OL Install allows for customizable flow.tcl for testing + OR Issue now explicitly requires input and output defs as arguments + Updated routing commands - Removed standalone tritonroute - Removed CTS sqr_cap/sqr_rest options (no longer supported) * Partial Merge Of The-OpenROAD-Project/OpenLane#472 Co-authored-by: Osama Hammad <osama21@aucegypt.edu> * Fixed Docker Environment `import opendbpy` -> `opendb` eigen is an archive now Removed Diamond Search Height Completely * Remove Minimum Distance, FP w/ layer numbers (per discussion with @osamahammad21) * Update PDK ~ Install new version of Git to handle Open_PDK's cloning woes ~ Update Commit Hash With Fixes To `download.sh` ~ Address The-OpenROAD-Project/OpenLane#475 while I'm here * Update OpenROAD, Remove Standalone OpenSTA * Remove Standalone OpenDP * Update TritonRoute Invocation + Random Seed Specified + Removed deprecated values from .params file (Not gonna remove .params file just yet) + Updated or_issue.py to handle incomplete file paths * update report layer usage * Makefile Tweaks - Decreased duplication ~ Now using long flags (See #476) * Updates to run_designs, OR commit * number of grt antenna repairer iterations * Update Magic & Netgen for LVS Issue - Remove blabla from completeTestSet pending RTimothyEdwards/netgen#21 + Update Magic and Netgen to same versions as master + Update Readme to replace efabless links with OpenLane ones * Update Magic/Netgen to Latest Versions - Remove usb_cdc_core from fastestTestSet pending RTimothyEdwards/netgen#21 Co-authored-by: Osama Hammad <osama21@aucegypt.edu>
65 lines
2.3 KiB
Makefile
65 lines
2.3 KiB
Makefile
#DOCKER_BUILD_OPTS ?= --rm --no-cache
|
|
DOCKER_BUILD_OPTS ?= --rm
|
|
DOCKERFILE_PATH ?= ./Dockerfile
|
|
IMAGE_NAME ?= efabless/openlane:current
|
|
#ROOT = sudo
|
|
|
|
TOOLS = klayout cugr drcu yosys antmicro_yosys magic openroad_app padring netgen vlogtoverilog openphysyn cvc
|
|
|
|
TOOL_BUILD_TARGETS = $(foreach tool,$(TOOLS),build-$(tool))
|
|
TOOL_EXPORT_TARGETS_PHONY = $(foreach tool,$(TOOLS),export-$(tool))
|
|
TOOL_EXPORT_TARGETS_REAL = $(foreach tool,$(TOOLS),tar/$(tool).tar.gz)
|
|
# ==============================================================================
|
|
# Build Tools
|
|
# ==============================================================================
|
|
build-all: $(TOOL_BUILD_TARGETS) export-all
|
|
|
|
$(TOOL_BUILD_TARGETS): build-% : ./docker/%/Dockerfile
|
|
mkdir -p logs/docker
|
|
docker build $(DOCKER_BUILD_OPTS) -t $* docker/$* | tee logs/docker/$*.build.txt
|
|
${MAKE} export-$*
|
|
|
|
# ==============================================================================
|
|
# Export Tools
|
|
# ==============================================================================
|
|
.PHONY: $(TOOL_EXPORT_TARGETS)
|
|
$(TOOL_EXPORT_TARGETS_PHONY): export-% :
|
|
rm -f tar/$*.tar.gz && echo "Deleted existing tar/$*.tar.gz"
|
|
mkdir -p tar
|
|
id=$$(${ROOT} docker create $*) ; \
|
|
${ROOT} docker cp $$id:\build.tar.gz tar/$*.tar.gz ; \
|
|
${ROOT} docker rm -v $$id
|
|
|
|
.PHONY: export-all
|
|
export-all: tar/openroad_tools.tar.gz
|
|
tar/openroad_tools.tar.gz: $(TOOL_EXPORT_TARGETS_REAL)
|
|
for tarFile in $(foreach tool,$(TOOLS),tar/$(tool).tar.gz); do \
|
|
tar -xzf $$tarFile ; \
|
|
done
|
|
chmod -R +x ./build/bin
|
|
find ./build/ -name "*.tcl" -exec chmod +x {} \;
|
|
cd tar && tar -czf openroad_tools.tar.gz ../build
|
|
|
|
tar/openLANE_flow.tar.gz: FORCE
|
|
cd tar && tar --exclude='../../.git' --exclude='../../docker_build' --exclude="../../designs" --exclude="../../pdks/" --exclude="../../logs/*" -czf openLANE_flow.tar.gz ../../
|
|
|
|
FORCE:
|
|
|
|
.PHONY: merge
|
|
merge: tar/openroad_tools.tar.gz tar/openLANE_flow.tar.gz
|
|
mkdir -p logs/docker/tar
|
|
docker build --build-arg CACHE_INVALIDATOR=$(shell date +%s) $(DOCKER_BUILD_OPTS) -t $(IMAGE_NAME) -f $(DOCKERFILE_PATH) ./tar | tee logs/docker/$<.build.txt ; \
|
|
|
|
.PHONY: clean_merge
|
|
clean_merge:
|
|
ifneq (,$(wildcard ./tar/openroad_tools.tar.gz))
|
|
ifneq (,$(wildcard ./tar/openLANE_flow.tar.gz))
|
|
rm ./tar/openLANE_flow.tar.gz
|
|
rm ./tar/openroad_tools.tar.gz
|
|
endif
|
|
endif
|
|
|
|
clean_export:
|
|
rm -rf export/*.tar.gz
|
|
|