# Makefile for Efabless design kits for gf180mcu:
#
# This file supports all the process options including 2 to 6 metals,
# and multiple thicknesses of the top metal.  The three PDKs generated by
# the Makefile represent the three backend options for which the I/O library
# has layout, which are, namely, 3-, 4-, and 5- metal options.
#
# Important note about the process:  GF180MCU uses the same base process as
# other GF180 processes.  However, instead of a thin oxide gate, the base
# oxide is a thick oxide, and the thick oxide mask defines a thicker oxide.
# The process DRC rules then follow the rule sets for thick oxide devices,
# so the minimum length transistor is 280nm, making this much more like a
# 0.28um process than a 0.18um process.
#
# Notes about definitions:
# METALSN means N layers of metal, where N can be 2 to 6.
# THICKMET3P0 means that the top metal is 3.0um thick
# THICKMET1P1 means that the top metal is 1.1um thick
# THICKMET0P9 means that the top metal is 0.9um thick
# Otherwise, the top metal is 0.6um thick
# Always use exactly one "METALSN" option (N = 4 to 6).
#
# NOTE:  Using "METALSN" instead of "METALN" because "METALN" are the preferred
# layer names in the technology LEF file.
#
# MIM means that the MiM cap is defined between top metal and the one below.
# The process defines a "MIM OPT A" with the MiM cap between metals 3 and 2.
# Because this option is only available with METALS4 (For METALS3 options A
# and B are the same), it is not being implemented.
#
# MIM caps are mutually-exclusive-selectable 1fF, 1.5fF, or 2fF per um^2.
# For simplicity, this file assumes the 2fF per um^2 value.
#
# HRPOLY1K defines the 1K high sheet rho poly resistor.
#
# Not all combinations of options are valid.  Global Foundries defines the
# following combinations as valid (adjusting for the decision not to
# implement MIM OPT A):
#
# METALS2 + THICKMET3P0
#
# METALS3 + MIM
# METALS3 + MIM + THICKMET0P9
# METALS3 + MIM + THICKMET1P1
# METALS3 + MIM + THICKMET3P0
#
# METALS4 + MIM + THICKMET0P9
# METALS4 + MIM + THICKMET1P1
# METALS4 + MIM + THICKMET3P0
#
# METALS5 + MIM + THICKMET0P9
# METALS5 + MIM + THICKMET1P1
#
# METALS6 + MIM + THICKMET0P9
#
#------------------------------------------------------------------------------
#
# The defined options per PDK in this file are:
#
#  gf180mcuA   =  METALS3 | MIM | THICKMET3P0 | HRPOLY1K
#  gf180mcuB   =  METALS4 | MIM | THICKMET1P1 | HRPOLY1K
#  gf180mcuC   =  METALS5 | MIM | THICKMET0P9 | HRPOLY1K
#  gf180mcuD   =  METALS5 | MIM | THICKMET1P1 | HRPOLY1K
#
# Written by Tim Edwards April 2022
# Efabless, Inc.
#
#--------------------------------------------------------------------
# This Makefile contains bash-isms
SHELL := /bin/bash
export SHELL
# We use pipes to save output to files, without pipefail they will always be
# seen by make as having succeeded.
SHELLOPTS := pipefail
export SHELLOPTS
MV = mv
PATCH = patch
SED = @SED@

prefix = @prefix@
datarootdir = @datarootdir@
datadir = @datadir@

# Path to open_pdks root directory (may need changing if it is a symbolic link)
SCRIPTSDIR ?= ..

# Use git revision if this is a cloned repo;  otherwise get the revision
# from the VERSION file in the directory above.
GITREV = $(shell git describe --long)
ifeq (${GITREV},)
    REVISION = $(shell cat ${SCRIPTSDIR}/VERSION)
else
    REVISION = ${GITREV}
endif
TECH = gf180mcu

# The run-time environment uses PDKPATH to override the PDK location,
# so prevent that from happening during PDK install.  This will also
# happen with PDK_ROOT, so avoid that as well.
unexport PDKPATH
unexport PDK_ROOT

# Normally it's fine to keep the staging path in a local directory,
# although /tmp or a dedicated staging area are also fine, as long
# as the install process can write to the path.

STAGING_PATH = $(shell pwd)

SHARED_PDKS_PATH ?= $(datadir)/pdk

# If LINK_TARGETS is set to "none", then files are copied
# from the SkyWater sources to the target.  If set to "source",
# symbolic links are made in the target directories pointing
# back to the SkyWater sources.  If set to the name of another
# PDK (e.g, "sky130A"), then symbolic links are made to the
# same files in that PDK, where they exist, and are copied
# from source, where they don't.
#
# Behavior is to let the link targets for variant A follow the
# configuration option.  Link targets for variant B will always
# be the files of variant A (which may end up being symbolic
# links to symbolic links if "source" was chosen for link-targets
# in the configuration).

# LINK_TARGETS = source | none | gf180mcuA
LINK_TARGETS_A = @GF180MCU_LINK_TARGETS@
LINK_TARGETS_B = gf180mcuA
LINK_TARGETS_C = gf180mcuA
LINK_TARGETS_D = gf180mcuA

# ENABLED_VARIANTS = all | A | B | C | D
ENABLED_VARIANTS = @GF180MCU_ENABLED_VARIANTS@
ifeq (${ENABLED_VARIANTS},)
	VARIANTS += A B C D
else
    ifeq (${ENABLED_VARIANTS}, all)
	VARIANTS += A B C D
    else
	VARIANTS += ${ENABLED_VARIANTS}
    endif
endif

# Paths:

# Path to GF180MCU open PDK sources.  If this is specified, then all
# library repositories must be subdirectories of this path.
GF180MCU_PR_PATH = @GF180MCU_FD_PR_PATH@
GF180MCU_PV_PATH = @GF180MCU_FD_PV_PATH@
GF180MCU_WS_KLAYOUT_PATH = @GF180MCU_WS_KLAYOUT_PATH@
GF180MCU_IO_PATH = @GF180MCU_FD_IO_PATH@
GF180MCU_SC_7T5V0_PATH = @GF180MCU_FD_SC_MCU7T5V0_PATH@
GF180MCU_SC_9T5V0_PATH = @GF180MCU_FD_SC_MCU9T5V0_PATH@
GF180MCU_SRAM_PATH = @GF180MCU_FD_IP_SRAM_PATH@
GF180MCU_OSU_SC_PATH = @GF180MCU_OSU_SC_PATH@
GF180MCU_AS_SC_PATH = @GF180MCU_AS_SC_PATH@
GF180MCU_OCD_IO_PATH = @GF180MCU_OCD_IO_PATH@
GF180MCU_OCD_ALPHA_PATH = @GF180MCU_OCD_ALPHA_PATH@
GF180MCU_OCD_SRAM_PATH = @GF180MCU_OCD_IP_SRAM_PATH@

USE_REFERENCE = @USE_REFERENCE@

ifeq (${USE_REFERENCE}, 1)
    REFERENCE_JSON = ${TECH}.json
else ifeq (${USE_REFERENCE}, 0)
    REFERENCE_JSON =
else
    REFERENCE_JSON = ${USE_REFERENCE}
endif

# Path to GF180MCU library sources
PDK_URL = https://github.com/google
OSU_URL = https://github.com/stineje
OCD_URL = https://github.com/RTimothyEdwards
AVALON_URL = https://github.com/AvalonSemiconductors
FOSSI_URL = https://github.com/fossi-foundation
WAFERSPACE_URL = https://github.com/wafer-space

# Names of library repositories
# NOTE:  Switching PDK_LIB_PR and PDK_LIB_SC_7T5V0 to Efabless versions
# having "quick fixes" under development.
PDK_LIB_PR =       ${FOSSI_URL}/globalfoundries-pdk-libs-gf180mcu_fd_pr
PDK_LIB_PV =       ${FOSSI_URL}/globalfoundries-pdk-libs-gf180mcu_fd_pv
PDK_LIB_WS_KLAYOUT =  ${WAFERSPACE_URL}/gf180mcu
PDK_LIB_IO =       ${FOSSI_URL}/globalfoundries-pdk-libs-gf180mcu_fd_io
PDK_LIB_SC_7T5V0 = ${FOSSI_URL}/globalfoundries-pdk-libs-gf180mcu_fd_sc_mcu7t5v0
PDK_LIB_SC_9T5V0 = ${FOSSI_URL}/globalfoundries-pdk-libs-gf180mcu_fd_sc_mcu9t5v0
PDK_LIB_SRAM =     ${PDK_URL}/globalfoundries-pdk-ip-gf180mcu_fd_ip_sram
PDK_LIB_OSU_SC =   ${OSU_URL}/globalfoundries-pdk-libs-gf180mcu_osu_sc
PDK_LIB_AS_SC =    ${AVALON_URL}/gf180mcu_as_sc_mcu7t3v3
PDK_LIB_OCD_IO =   ${OCD_URL}/gf180mcu_ocd_io
PDK_LIB_OCD_SRAM = ${OCD_URL}/gf180mcu_ocd_ip_sram
PDK_LIB_OCD_ALPHA =${OCD_URL}/gf180mcu_ocd_alpha

# NOTE:  Install destination is the git repository of the technology platform.
# Once updated in git, the git project can be distributed to all hosts.
#
CONFIG_DIR = .config
REV_DIR = .

# Process nodes created from the master sources
GF180MCUA = gf180mcuA
GF180MCUB = gf180mcuB
GF180MCUC = gf180mcuC
GF180MCUD = gf180mcuD

DIST_LINK_TARGETS_A = ${LINK_TARGETS_A}
DIST_LINK_TARGETS_B = ${SHARED_PDKS_PATH}/${LINK_TARGETS_B}
DIST_LINK_TARGETS_C = ${SHARED_PDKS_PATH}/${LINK_TARGETS_C}
DIST_LINK_TARGETS_D = ${SHARED_PDKS_PATH}/${LINK_TARGETS_D}

# Basic definitions for each process node
GF180MCUA_DEFS = -DTECHNAME=gf180mcuA -DREVISION=${REVISION}
GF180MCUB_DEFS = -DTECHNAME=gf180mcuB -DREVISION=${REVISION}
GF180MCUC_DEFS = -DTECHNAME=gf180mcuC -DREVISION=${REVISION}
GF180MCUD_DEFS = -DTECHNAME=gf180mcuD -DREVISION=${REVISION}

# Module definitions for each process node (see top)
GF180MCUA_DEFS += -DMETALS3 -DMIM -DTHICKMET3P0 -DHRPOLY1K
GF180MCUB_DEFS += -DMETALS4 -DMIM -DTHICKMET1P1 -DHRPOLY1K
GF180MCUC_DEFS += -DMETALS5 -DMIM -DTHICKMET0P9 -DHRPOLY1K
GF180MCUD_DEFS += -DMETALS5 -DMIM -DTHICKMET1P1 -DHRPOLY1K

# Add staging path
GF180MCUA_DEFS += -DSTAGING_PATH=${STAGING_PATH}
GF180MCUB_DEFS += -DSTAGING_PATH=${STAGING_PATH}
GF180MCUC_DEFS += -DSTAGING_PATH=${STAGING_PATH}
GF180MCUD_DEFS += -DSTAGING_PATH=${STAGING_PATH}

# Get the timestamp of the open_pdks commit to use for stamping layouts.
OPEN_PDKS_TIMESTAMP = $(shell git log -1 --format="%ad" --date=raw | cut -d' ' -f1)
TIMESTAMP_OPT = -timestamp ${OPEN_PDKS_TIMESTAMP}

# Record commit numbers for the nodeinfo.json file
OPEN_PDKS_COMMIT = $(shell git rev-parse HEAD)
ifeq (${OPEN_PDKS_COMMIT},)
    COMMIT_DEFS = -DOPEN_PDKS_COMMIT=${REVISION}
else
    COMMIT_DEFS = -DOPEN_PDKS_COMMIT=${OPEN_PDKS_COMMIT}
endif

ifeq (${GF180MCU_SC_9T5V0_PATH},)
    COMMIT_DEFS += -DFD_SC_MCU9T5V0_COMMIT="unknown"
else
    COMMIT_DEFS += -DFD_SC_MCU9T5V0_COMMIT=$(shell cd ${GF180MCU_SC_9T5V0_PATH} ; git rev-parse HEAD)
endif
ifeq (${GF180MCU_SC_7T5V0_PATH},)
    COMMIT_DEFS += -DFD_SC_MCU7T5V0_COMMIT="unknown"
else
    COMMIT_DEFS += -DFD_SC_MCU7T5V0_COMMIT=$(shell cd ${GF180MCU_SC_7T5V0_PATH} ; git rev-parse HEAD)
endif
ifeq (${GF180MCU_PR_PATH},)
    COMMIT_DEFS += -DFD_PR_COMMIT="unknown"
else
    COMMIT_DEFS += -DFD_PR_COMMIT=$(shell cd ${GF180MCU_PR_PATH} ; git rev-parse HEAD)
endif
ifeq (${GF180MCU_PV_PATH},)
    COMMIT_DEFS += -DFD_PV_COMMIT="unknown"
else
    COMMIT_DEFS += -DFD_PV_COMMIT=$(shell cd ${GF180MCU_PV_PATH} ; git rev-parse HEAD)
endif
ifeq (${GF180MCU_WS_KLAYOUT_PATH},)
    COMMIT_DEFS += -DWS_KLAYOUT_COMMIT="unknown"
else
    COMMIT_DEFS += -DWS_KLAYOUT_COMMIT=$(shell cd ${GF180MCU_WS_KLAYOUT_PATH} ; git rev-parse HEAD)
endif
ifeq (${GF180MCU_IO_PATH},)
    COMMIT_DEFS += -DFD_IO_COMMIT="unknown"
else
    COMMIT_DEFS += -DFD_IO_COMMIT=$(shell cd ${GF180MCU_IO_PATH} ; git rev-parse HEAD)
endif
ifeq (${GF180MCU_SRAM_PATH},)
    COMMIT_DEFS += -DFD_IP_SRAM_COMMIT="unknown"
else
    COMMIT_DEFS += -DFD_IP_SRAM_COMMIT=$(shell cd ${GF180MCU_SRAM_PATH} ; git rev-parse HEAD)
endif
ifeq (${GF180MCU_OCD_SRAM_PATH},)
    COMMIT_DEFS += -DOCD_IP_SRAM_COMMIT="unknown"
else
    COMMIT_DEFS += -DOCD_IP_SRAM_COMMIT=$(shell cd ${GF180MCU_OCD_SRAM_PATH} ; git rev-parse HEAD)
endif
ifeq (${GF180MCU_OSU_SC_PATH},)
    COMMIT_DEFS += -DOSU_SC_COMMIT="unknown"
else
    COMMIT_DEFS += -DOSU_SC_COMMIT=$(shell cd ${GF180MCU_OSU_SC_PATH} ; git rev-parse HEAD)
endif
ifeq (${GF180MCU_AS_SC_PATH},)
    COMMIT_DEFS += -DAS_SC_MCU7T3V3_COMMIT="unknown"
else
    COMMIT_DEFS += -DAS_SC_MCU7T3V3_COMMIT=$(shell cd ${GF180MCU_AS_SC_PATH} ; git rev-parse HEAD)
endif
ifeq (${GF180MCU_OCD_IO_PATH},)
    COMMIT_DEFS += -DOCD_IO_COMMIT="unknown"
else
    COMMIT_DEFS += -DOCD_IO_COMMIT=$(shell cd ${GF180MCU_OCD_IO_PATH} ; git rev-parse HEAD)
endif
ifeq (${GF180MCU_OCD_ALPHA_PATH},)
    COMMIT_DEFS += -DOCD_ALPHA_COMMIT="unknown"
else
    COMMIT_DEFS += -DOCD_ALPHA_COMMIT=$(shell cd ${GF180MCU_OCD_ALPHA_PATH} ; git rev-parse HEAD)
endif


COMMIT_DEFS += -DMAGIC_COMMIT=$(shell magic -dnull -noconsole --commit)
COMMIT_DEFS += -DMAGIC_VERSION=$(shell magic -dnull -noconsole --version)
COMMIT_DEFS += -DOPEN_PDKS_VERSION=$(shell cat ${SCRIPTSDIR}/VERSION)

MAGICTOP = libs.tech/magic
NETGENTOP = libs.tech/netgen
QFLOWTOP = libs.tech/qflow
IRSIMTOP = libs.tech/irsim
KLAYOUTTOP = libs.tech/klayout
LIBRELANETOP = libs.tech/librelane
XSCHEMTOP = libs.tech/xschem
XCIRCUITTOP = libs.tech/xcircuit
NGSPICETOP = libs.tech/ngspice

MAGICPATH = ${MAGICTOP}
MAGIC_CURRENT = ${MAGICTOP}

NETGENPATH = ${NETGENTOP}
IRSIMPATH = ${IRSIMTOP}
QFLOWPATH = ${QFLOWTOP}
KLAYOUTPATH = ${KLAYOUTTOP}
LIBRELANEPATH = ${LIBRELANETOP}
XSCHEMPATH = ${XSCHEMTOP}
XCIRCUITPATH = ${XCIRCUITTOP}
NGSPICEPATH = ${NGSPICETOP}

MAGICTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${MAGICTOP}
NETGENTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${NETGENTOP}
IRSIMTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${IRSIMTOP}
QFLOWTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${QFLOWTOP}
KLAYOUTTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${KLAYOUTTOP}
LIBRELANETOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${LIBRELANETOP}
XSCHEMTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${XSCHEMTOP}
XCIRCUITTOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${XCIRCUITTOP}
NGSPICETOP_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${NGSPICETOP}

MAGIC_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${MAGICPATH}
NETGEN_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${NETGENPATH}
IRSIM_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${IRSIMPATH}
QFLOW_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${QFLOWPATH}
KLAYOUT_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${KLAYOUTPATH}
LIBRELANE_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${LIBRELANEPATH}
XSCHEM_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${XSCHEMPATH}
XCIRCUIT_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${XCIRCUITPATH}
NGSPICE_STAGING_A = ${STAGING_PATH}/${GF180MCUA}/${NGSPICEPATH}

MAGICTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${MAGICTOP}
NETGENTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${NETGENTOP}
IRSIMTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${IRSIMTOP}
QFLOWTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${QFLOWTOP}
KLAYOUTTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${KLAYOUTTOP}
LIBRELANETOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${LIBRELANETOP}
XSCHEMTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${XSCHEMTOP}
XCIRCUITTOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${XCIRCUITTOP}
NGSPICETOP_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${NGSPICETOP}

MAGIC_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${MAGICPATH}
NETGEN_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${NETGENPATH}
IRSIM_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${IRSIMPATH}
QFLOW_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${QFLOWPATH}
KLAYOUT_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${KLAYOUTPATH}
LIBRELANE_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${LIBRELANEPATH}
XSCHEM_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${XSCHEMPATH}
XCIRCUIT_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${XCIRCUITPATH}
NGSPICE_STAGING_B = ${STAGING_PATH}/${GF180MCUB}/${NGSPICEPATH}

MAGICTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${MAGICTOP}
NETGENTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${NETGENTOP}
IRSIMTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${IRSIMTOP}
QFLOWTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${QFLOWTOP}
KLAYOUTTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${KLAYOUTTOP}
LIBRELANETOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${LIBRELANETOP}
XSCHEMTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${XSCHEMTOP}
XCIRCUITTOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${XCIRCUITTOP}
NGSPICETOP_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${NGSPICETOP}

MAGIC_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${MAGICPATH}
NETGEN_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${NETGENPATH}
IRSIM_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${IRSIMPATH}
QFLOW_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${QFLOWPATH}
KLAYOUT_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${KLAYOUTPATH}
LIBRELANE_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${LIBRELANEPATH}
XSCHEM_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${XSCHEMPATH}
XCIRCUIT_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${XCIRCUITPATH}
NGSPICE_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${NGSPICEPATH}

MAGICTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${MAGICTOP}
NETGENTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${NETGENTOP}
IRSIMTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${IRSIMTOP}
QFLOWTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${QFLOWTOP}
KLAYOUTTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${KLAYOUTTOP}
LIBRELANETOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${LIBRELANETOP}
XSCHEMTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XSCHEMTOP}
XCIRCUITTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XCIRCUITTOP}
NGSPICETOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${NGSPICETOP}

MAGIC_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${MAGICPATH}
NETGEN_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${NETGENPATH}
IRSIM_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${IRSIMPATH}
QFLOW_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${QFLOWPATH}
KLAYOUT_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${KLAYOUTPATH}
LIBRELANE_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${LIBRELANEPATH}
XSCHEM_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XSCHEMPATH}
XCIRCUIT_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XCIRCUITPATH}
NGSPICE_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${NGSPICEPATH}

GF180MCUA_DEFS += -DMAGIC_CURRENT=${MAGIC_CURRENT}
GF180MCUB_DEFS += -DMAGIC_CURRENT=${MAGIC_CURRENT}
GF180MCUC_DEFS += -DMAGIC_CURRENT=${MAGIC_CURRENT}
GF180MCUD_DEFS += -DMAGIC_CURRENT=${MAGIC_CURRENT}

# These definitions are used by the build recipes
A_STACK = 3lm
B_STACK = 4lm
C_STACK = 5lm
D_STACK = 5lm

# These definitions are used by the build recipes for the tech LEF
A_FULLSTACK = 3LM_1TM_30K
B_FULLSTACK = 4LM_1TM_11K
C_FULLSTACK = 5LM_1TM_9K
D_FULLSTACK = 5LM_1TM_11K

# LibreLane has a number of files that are common to all digital
# standard cell libraries, so these are collected in one definition
# here:
LIBRELANE_COMMON = config.tcl tracks.info no_synth.cells drc_exclude.cells

# Where cpp syntax is followed, this is equivalent to cpp, but it does not
# mangle non-C source files under the belief that they are actually C code.
CPP   = ${SCRIPTSDIR}/common/preproc.py

# The following script in the ${SCRIPTSDIR}/common directory does most of the work of
# copying or linking the foundry vendor files to the target directory.
STAGE = set -f ; ${SCRIPTSDIR}/common/foundry_install.py -std_format ${TIMESTAMP_OPT}
ifneq ($(DESTDIR), )
INSTALL = ${SCRIPTSDIR}/common/staging_install.py -writeto $(DESTDIR) -std_format
else
INSTALL = ${SCRIPTSDIR}/common/staging_install.py -std_format
endif

# The script(s) below are used for custom changes to the vendor PDK files
PORTORDER = ../common/port_order.py -std_format
ADDPROP = ../common/insert_property.py -std_format
ADDLAYER = ../common/insert_layer.py -std_format
REMOVELAB = ../common/remove_label.py -std_format

# List the EDA tools to install local setup files for
TOOLS =

# KLAYOUT_DISABLED = 0 | 1
KLAYOUT_DISABLED = @KLAYOUT_DISABLED@
ifneq (${KLAYOUT_DISABLED}, 1)
        TOOLS += klayout
endif

# LIBRELANE_DISABLED = 0 | 1
LIBRELANE_DISABLED = @LIBRELANE_DISABLED@
ifneq (${LIBRELANE_DISABLED}, 1)
        TOOLS += librelane
endif

# QFLOW_DISABLED = 0 | 1
QFLOW_DISABLED = @QFLOW_DISABLED@
ifneq (${QFLOW_DISABLED}, 1)
        TOOLS += qflow
endif

# MAGIC_DISABLED = 0 | 1
MAGIC_DISABLED = @MAGIC_DISABLED@
ifneq (${MAGIC_DISABLED}, 1)
        TOOLS += magic
endif

# NETGEN_DISABLED = 0 | 1
NETGEN_DISABLED = @NETGEN_DISABLED@
ifneq (${NETGEN_DISABLED}, 1)
        TOOLS += netgen
endif

# IRSIM_DISABLED = 0 | 1
IRSIM_DISABLED = @IRSIM_DISABLED@
ifneq (${IRSIM_DISABLED}, 1)
        TOOLS += irsim
endif

# XSCHEM_DISABLED = 0 | 1
XSCHEM_DISABLED = @XSCHEM_DISABLED@
ifneq (${XSCHEM_DISABLED}, 1)
        TOOLS += xschem
endif

# XCIRCUIT_DISABLED = 0 | 1
XCIRCUIT_DISABLED = @XCIRCUIT_DISABLED@
ifneq (${XCIRCUIT_DISABLED}, 1)
        TOOLS += xcircuit
endif

IO_GDS = gf180mcu_fd_io/gds

all: $(foreach var, ${VARIANTS}, all-$(var))

reference: ${TECH}.json
	# Rewrite the ${TECH}.json file to change the commit values in
	# "reference" to reflect the state of the system when  "make
	# reference" was run.  This is then committed to the open_pdks
	# repository to create a known reference configuration of all
	# tools.
	../common/save_commit_refs.py ${COMMIT_DEFS} ${TECH}.json

# Handle prerequisites
prerequisites: pr-repo pv-repo klayout-repo io-repo sc-7t-repo sc-9t-repo sram-repo ocd-sram-repo osu-sc-repo avalon-sc-repo ocd-io-repo ocd-alpha-repo

pr-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		FD_PR_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_fd_pr | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_PR_PATH}" != "x" ; then \
		if test -d "${GF180MCU_PR_PATH}" ; then \
			echo "Using existing installation of primitive library from ${GF180MCU_PR_PATH}" ; \
		else \
			echo "Downloading primitive library from ${GF180MCU_PR_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_PR} ${GF180MCU_PR_PATH} $${FD_PR_COMMIT}; \
		fi ; \
	fi

pv-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		FD_PV_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_fd_pv | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_PV_PATH}" != "x" ; then \
		if test -d "${GF180MCU_PV_PATH}" ; then \
			echo "Using existing installation of verification library from ${GF180MCU_PV_PATH}" ; \
		else \
			echo "Downloading verification library from ${GF180MCU_PV_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_PV} ${GF180MCU_PV_PATH} $${FD_PV_COMMIT}; \
		fi ; \
	fi

klayout-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		WS_KLAYOUT_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_klayout | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_WS_KLAYOUT_PATH}" != "x" ; then \
		if test -d "${GF180MCU_WS_KLAYOUT_PATH}" ; then \
			echo "Using existing installation of klayout libraries from ${GF180MCU_WS_KLAYOUT_PATH}" ; \
		else \
			echo "Downloading klayout library from ${GF180MCU_WS_KLAYOUT_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_WS_KLAYOUT} ${GF180MCU_WS_KLAYOUT_PATH} $${WS_KLAYOUT_COMMIT}; \
		fi ; \
	fi

io-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		FD_IO_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_fd_io | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_IO_PATH}" != "x" ; then \
		if test -d "${GF180MCU_IO_PATH}" ; then \
			echo "Using existing installation of I/O library from ${GF180MCU_IO_PATH}" ; \
		else \
			echo "Downloading I/O library from ${GF180MCU_IO_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_IO} ${GF180MCU_IO_PATH} $${FD_IO_COMMIT}; \
		fi ; \
	fi

sc-7t-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		FD_SC_MCU7T5V0_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_fd_sc_mcu7t5v0 | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_SC_7T5V0_PATH}" != "x" ; then \
		if test -d "${GF180MCU_SC_7T5V0_PATH}" ; then \
			echo "Using existing installation of 7-track standard cell library from ${GF180MCU_SC_7T5V0_PATH}" ; \
		else \
			echo "Downloading 7-track standard cell library from ${GF180MCU_SC_7T5V0_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_SC_7T5V0} ${GF180MCU_SC_7T5V0_PATH} $${FD_SC_MCU7T5V0_COMMIT}; \
		fi ; \
	fi

sc-9t-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		FD_SC_MCU9T5V0_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_fd_sc_mcu9t5v0 | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_SC_9T5V0_PATH}" != "x" ; then \
		if test -d "${GF180MCU_SC_9T5V0_PATH}" ; then \
			echo "Using existing installation of 9-track standard cell library from ${GF180MCU_SC_9T5V0_PATH}" ; \
		else \
			echo "Downloading 9-track standard cell library from ${GF180MCU_SC_9T5V0_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_SC_9T5V0} ${GF180MCU_SC_9T5V0_PATH} $${FD_SC_MCU9T5V0_COMMIT}; \
		fi ; \
	fi

sram-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		FD_IP_SRAM_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_fd_ip_sram | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_SRAM_PATH}" != "x" ; then \
		if test -d "${GF180MCU_SRAM_PATH}" ; then \
			echo "Using existing installation of 5V SRAM library from ${GF180MCU_SRAM_PATH}" ; \
		else \
			echo "Downloading 5V SRAM library from ${GF180MCU_SRAM_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_SRAM} ${GF180MCU_SRAM_PATH} $${FD_IP_SRAM_COMMIT}; \
		fi ; \
	fi

ocd-sram-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		OCD_IP_SRAM_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_ocd_ip_sram | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_OCD_SRAM_PATH}" != "x" ; then \
		if test -d "${GF180MCU_OCD_SRAM_PATH}" ; then \
			echo "Using existing installation of 3.3V SRAM library from ${GF180MCU_OCD_SRAM_PATH}" ; \
		else \
			echo "Downloading 3.3V SRAM library from ${GF180MCU_OCD_SRAM_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_OCD_SRAM} ${GF180MCU_OCD_SRAM_PATH} $${OCD_IP_SRAM_COMMIT}; \
		fi ; \
	fi

osu-sc-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		OSU_SC_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_osu_sc_gf12t3v3 | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_OSU_SC_PATH}" != "x" ; then \
		if test -d "${GF180MCU_OSU_SC_PATH}" ; then \
			echo "Using existing installation of OSU 3.3V standard cell library from ${GF180MCU_OSU_SC_PATH}" ; \
		else \
			echo "Downloading OSU 3.3V standard cell library from ${GF180MCU_OSU_SC_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_OSU_SC} ${GF180MCU_OSU_SC_PATH} $${OSU_SC_COMMIT} ; \
		fi ; \
	fi

avalon-sc-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		AS_SC_MCU7T3V3_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_as_sc_mcu7t3v3 | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_AS_SC_PATH}" != "x" ; then \
		if test -d "${GF180MCU_AS_SC_PATH}" ; then \
			echo "Using existing installation of Avalon Semiconductors 3.3V standard cell library from ${GF180MCU_AS_SC_PATH}" ; \
		else \
			echo "Downloading Avalon Semiconductors 3.3V standard cell library from ${GF180MCU_AS_SC_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_AS_SC} ${GF180MCU_AS_SC_PATH} $${AS_SC_MCU7T3V3_COMMIT} ; \
		fi ; \
	fi

ocd-io-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		OCD_IO_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_ocd_io | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_OCD_IO_PATH}" != "x" ; then \
		if test -d "${GF180MCU_OCD_IO_PATH}" ; then \
			echo "Using existing installation of Open Circuit Design dual-voltage I/O library from ${GF180MCU_OCD_IO_PATH}" ; \
		else \
			echo "Downloading Open Circuit Design dual-voltage I/O library from ${GF180MCU_OCD_IO_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_OCD_IO} ${GF180MCU_OCD_IO_PATH} $${OCD_IO_COMMIT} ; \
		fi ; \
	fi

ocd-alpha-repo:
	if test "x${REFERENCE_JSON}" != "x"; then \
		OCD_ALPHA_COMMIT=`cat ${REFERENCE_JSON} | grep gf180mcu_ocd_alpha | grep -v COMMIT | cut -d'"' -f4` ; \
	fi ; \
	if test "x${GF180MCU_OCD_ALPHA_PATH}" != "x" ; then \
		if test -d "${GF180MCU_OCD_ALPHA_PATH}" ; then \
			echo "Using existing installation of Open Circuit Design alphanumeric library from ${GF180MCU_OCD_ALPHA_PATH}" ; \
		else \
			echo "Downloading Open Circuit Design alphanumeric library from ${GF180MCU_OCD_APHA_PATH}" ; \
			../scripts/download.sh ${PDK_LIB_OCD_ALPHA} ${GF180MCU_OCD_ALPHA_PATH} $${OCD_ALPHA_COMMIT} ; \
		fi ; \
	fi


# Update prerequisites
update: update-pr-repo update-pv-repo update-klayout-repo update-io-repo update-sc-7t-repo update-sc-9t-repo update-sram-repo update-ocd-sram-repo update-osu-sc-repo update-avalon-sc-repo update-ocd-io-repo

update-pr-repo:
	if test "x${GF180MCU_PR_PATH}" != "x" ; then \
		echo "Updating GF180MCU primitive library from ${PDK_LIB_PR}" ; \
		../scripts/update.sh ${GF180MCU_PR_PATH} ; \
	fi

update-pv-repo:
	if test "x${GF180MCU_PV_PATH}" != "x" ; then \
		echo "Updating GF180MCU verification library from ${PDK_LIB_PV}" ; \
		../scripts/update.sh ${GF180MCU_PV_PATH} ; \
	fi

update-klayout-repo:
	if test "x${GF180MCU_WS_KLAYOUT_PATH}" != "x" ; then \
		echo "Updating GF180MCU klayout libraries from ${PDK_LIB_WS_KLAYOUT}" ; \
		../scripts/update.sh ${GF180MCU_WS_KLAYOUT_PATH} ; \
	fi

update-io-repo:
	if test "x${GF180MCU_IO_PATH}" != "x" ; then \
		echo "Updating GF180MCU I/O library from ${PDK_LIB_IO}" ; \
		../scripts/update.sh ${GF180MCU_IO_PATH} ; \
	fi

update-sc-7t-repo:
	if test "x${GF180MCU_SC_7T5V0_PATH}" != "x" ; then \
		echo "Updating GF180MCU 7-track standard cell library from ${PDK_LIB_SC_7T5V0}" ; \
		../scripts/update.sh ${GF180MCU_SC_7T5V0_PATH} ; \
	fi

update-sc-9t-repo:
	if test "x${GF180MCU_SC_9T5V0_PATH}" != "x" ; then \
		echo "Updating GF180MCU 9-track standard cell library from ${PDK_LIB_SC_9T5V0}" ; \
		../scripts/update.sh ${GF180MCU_SC_9T5V0_PATH} ; \
	fi

update-sram-repo:
	if test "x${GF180MCU_SRAM_PATH}" != "x" ; then \
		echo "Updating GF180MCU 5V SRAM macro library from ${PDK_LIB_SRAM}" ; \
		../scripts/update.sh ${GF180MCU_SRAM_PATH} ; \
	fi

update-ocd-sram-repo:
	if test "x${GF180MCU_OCD_SRAM_PATH}" != "x" ; then \
		echo "Updating GF180MCU Open Circuit Design 3.3V SRAM macro library from ${PDK_LIB_OCD_SRAM}" ; \
		../scripts/update.sh ${GF180MCU_OCD_SRAM_PATH} ; \
	fi

update-osu-sc-repo:
	if test "x${GF180MCU_OSU_SC_PATH}" != "x" ; then \
		echo "Updating GF180MCU OSU 3.3V standard cell library from ${PDK_LIB_OSU_SC}" ; \
		../scripts/update.sh ${GF180MCU_OSU_SC_PATH} ; \
	fi

update-avalon-sc-repo:
	if test "x${GF180MCU_AS_SC_PATH}" != "x" ; then \
		echo "Updating GF180MCU Avalon Semiconductors 3.3V standard cell library from ${PDK_LIB_AS_SC}" ; \
		../scripts/update.sh ${GF180MCU_AS_SC_PATH} ; \
	fi

update-ocd-io-repo:
	if test "x${GF180MCU_OCD_IO_PATH}" != "x" ; then \
		echo "Updating GF180MCU Open Circuit Design dual-voltage I/O library from ${PDK_LIB_OCD_IO}" ; \
		../scripts/update.sh ${GF180MCU_OCD_IO_PATH} ; \
	fi

update-ocd-apha-repo:
	if test "x${GF180MCU_OCD_ALPHA_PATH}" != "x" ; then \
		echo "Updating GF180MCU Open Circuit Design alphanumeric library from ${PDK_LIB_OCD_ALPHA}" ; \
		../scripts/update.sh ${GF180MCU_OCD_ALPHA_PATH} ; \
	fi

all-%: prerequisites
	echo "Starting gf180mcu$* PDK staging on "`date` > ${GF180MCU$*}_make.log
	${MAKE} general-$*
	${MAKE} tools-$*
	${MAKE} vendor-$*
	echo "Ended gf180mcu$* PDK staging on "`date` >> ${GF180MCU$*}_make.log

general-%: ${TECH}.json
	mkdir -p ${STAGING_PATH}/${GF180MCU$*}/${CONFIG_DIR}
	rm -f ${STAGING_PATH}/${GF180MCU$*}/${CONFIG_DIR}/nodeinfo.json
	${CPP} ${GF180MCU$*_DEFS} ${COMMIT_DEFS} ${TECH}.json \
		${STAGING_PATH}/${GF180MCU$*}/${CONFIG_DIR}/nodeinfo.json

tools-A: $(addsuffix -A, $(TOOLS))

tools-B: $(addsuffix -B, $(TOOLS))

tools-C: $(addsuffix -C, $(TOOLS))

tools-D: $(addsuffix -D, $(TOOLS))

magic-%: magic/${TECH}.tech magic/${TECH}gds.tech magic/${TECH}.magicrc magic/${TECH}.tcl
	mkdir -p ${MAGICTOP_STAGING_$*}
	mkdir -p ${MAGIC_STAGING_$*}
	rm -f ${MAGICTOP_STAGING_$*}/current
	rm -f ${MAGIC_STAGING_$*}/${GF180MCU$*}.tech
	rm -f ${MAGIC_STAGING_$*}/${GF180MCU$*}-GDS.tech
	rm -f ${MAGIC_STAGING_$*}/${GF180MCU$*}.tcl
	rm -f ${MAGIC_STAGING_$*}/${GF180MCU$*}-BindKeys
	rm -f ${MAGIC_STAGING_$*}/magicrc

	${CPP} ${GF180MCU$*_DEFS} magic/${TECH}.tech \
		${MAGIC_STAGING_$*}/${GF180MCU$*}.tech
	${CPP} ${GF180MCU$*_DEFS} magic/${TECH}gds.tech \
		${MAGIC_STAGING_$*}/${GF180MCU$*}-GDS.tech
	${CPP} ${GF180MCU$*_DEFS} magic/${TECH}.magicrc \
		${MAGIC_STAGING_$*}/${GF180MCU$*}.magicrc
	${CPP} ${GF180MCU$*_DEFS} ${SCRIPTSDIR}/common/pdk.bindkeys \
		${MAGIC_STAGING_$*}/${GF180MCU$*}-BindKeys
	${CPP} ${GF180MCU$*_DEFS} magic/${TECH}.tcl \
		${MAGIC_STAGING_$*}/${GF180MCU$*}.tcl
	${CPP} ${GF180MCU$*_DEFS} ${SCRIPTSDIR}/common/pdk.tcl >> \
		${MAGIC_STAGING_$*}/${GF180MCU$*}.tcl

netgen-%: netgen/${TECH}_setup.tcl
	mkdir -p ${NETGENTOP_STAGING_$*}
	mkdir -p ${NETGEN_STAGING_$*}
	rm -f ${NETGEN_STAGING_$*}/${GF180MCU$*}_setup.tcl
	rm -f ${NETGEN_STAGING_$*}/setup.tcl
	${CPP} ${GF180MCU$*_DEFS} netgen/${TECH}_setup.tcl \
		${NETGEN_STAGING_$*}/${GF180MCU$*}_setup.tcl
	(cd ${NETGEN_STAGING_$*} ; ln -f -s ${GF180MCU$*}_setup.tcl setup.tcl)

qflow-%: qflow/${TECH}.sh qflow/${TECH}.par
	mkdir -p ${QFLOWTOP_STAGING_$*}
	mkdir -p ${QFLOW_STAGING_$*}
	rm -f ${QFLOW_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0.sh
	rm -f ${QFLOW_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0.par
	rm -f ${QFLOW_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0.sh
	rm -f ${QFLOW_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0.par
	${CPP} ${GF180MCU$*_DEFS} -DLIBRARY=gf180mcu_fd_sc_mcu7t5v0 \
		qflow/${TECH}.sh ${QFLOW_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0.sh
	${CPP} ${GF180MCU$*_DEFS} -DLIBRARY=gf180mcu_fd_sc_mcu9t5v0 \
		qflow/${TECH}.sh ${QFLOW_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0.sh
	${CPP} ${GF180MCU$*_DEFS} qflow/${TECH}.par \
		 ${QFLOW_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0.par
	${CPP} ${GF180MCU$*_DEFS} qflow/${TECH}.par \
		 ${QFLOW_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0.par

irsim-%:
	mkdir -p ${IRSIMTOP_STAGING_$*}
	mkdir -p ${IRSIM_STAGING_$*}

klayout-%: ${GF180MCU_WS_KLAYOUT_PATH} ${GF180MCU_PR_PATH}
	mkdir -p ${KLAYOUTTOP_STAGING_$*}
	mkdir -p ${KLAYOUT_STAGING_$*}
	rm -rf ${KLAYOUT_STAGING_$*}/drc
	rm -rf ${KLAYOUT_STAGING_$*}/lvs
	rm -rf ${KLAYOUT_STAGING_$*}/tech
	rm -rf ${KLAYOUT_STAGING_$*}/pymacros
	mkdir ${KLAYOUT_STAGING_$*}/tech

	# This is a pre-built library;  just copy the entire thing.
	# NOTE: there is only one directory gf180mcuD in the repository.
	# Copy the contents from this into all targets.
	cp -rp ${GF180MCU_WS_KLAYOUT_PATH}/gf180mcuD/libs.tech/klayout/tech \
		${KLAYOUT_STAGING_$*}

xcircuit-%:
	rm -rf ${XCIRCUIT_STAGING_$*}
	mkdir -p ${XCIRCUITTOP_STAGING_$*}
	mkdir -p ${XCIRCUIT_STAGING_$*}

xschem-%: ${GF180MCU_PR_PATH}
	rm -rf ${XSCHEM_STAGING_$*}
	mkdir -p ${XSCHEMTOP_STAGING_$*}
	mkdir -p ${XSCHEM_STAGING_$*}
	cp -rp ${GF180MCU_PR_PATH}/cells/xschem/symbols ${XSCHEM_STAGING_$*}
	cp -rp ${GF180MCU_PR_PATH}/cells/xschem/tests ${XSCHEM_STAGING_$*}
	cp -rp ${GF180MCU_PR_PATH}/cells/xschem/xschemrc ${XSCHEM_STAGING_$*}
	# Make open_pdks-specific modifications to the xschemrc file
	./custom/scripts/fix_xschemrc.py ${XSCHEM_STAGING_$*}/xschemrc \
		${GF180MCU$*} 2>&1 | tee -a ${GF180MCU$*}_make.log || true

librelane-%: librelane/config.tcl librelane/gf180mcu_fd_sc_mcu7t5v0/config.tcl librelane/gf180mcu_fd_sc_mcu9t5v0/config.tcl
	mkdir -p ${LIBRELANETOP_STAGING_$*}
	mkdir -p ${LIBRELANE_STAGING_$*}
	rm -rf ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0
	rm -rf ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0
	mkdir ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0
	mkdir ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0
	for file in ${LIBRELANE_COMMON} ; do \
		rm -f ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0/$$file ; \
	done
	for file in ${LIBRELANE_COMMON} ; do \
		rm -f ${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0/$$file ; \
	done
	${CPP} ${GF180MCU$*_DEFS} librelane/config.tcl ${LIBRELANE_STAGING_$*}/config.tcl

	for file in ${LIBRELANE_COMMON} ; do \
		${CPP} -quiet ${GF180MCU$*_DEFS} librelane/gf180mcu_fd_sc_mcu7t5v0/$$file \
			${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu7t5v0/$$file ; \
	done
	for file in ${LIBRELANE_COMMON} ; do \
		${CPP} -quiet ${GF180MCU$*_DEFS} librelane/gf180mcu_fd_sc_mcu9t5v0/$$file \
			${LIBRELANE_STAGING_$*}/gf180mcu_fd_sc_mcu9t5v0/$$file ; \
	done

	rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.min.*
	rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.nom.*
	rm -f ${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.max.*

	if test -f librelane/rules.openrcx.gf180mcu$*.min.magic ; then \
		${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.min.magic \
		${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.min.magic ;\
	fi
	if test -f librelane/rules.openrcx.gf180mcu$*.nom.magic ; then \
		${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.nom.magic \
		${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.nom.magic ;\
	fi
	if test -f librelane/rules.openrcx.gf180mcu$*.max.magic ; then \
		${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.max.magic \
		${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.max.magic ;\
	fi
	if test -f librelane/rules.openrcx.gf180mcu$*.min ; then \
		${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.min \
		${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.min ;\
	fi
	if test -f librelane/rules.openrcx.gf180mcu$*.nom ; then \
		${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.nom \
		${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.nom ;\
	fi
	if test -f librelane/rules.openrcx.gf180mcu$*.max ; then \
		${CPP} ${GF180MCU$*_DEFS} librelane/rules.openrcx.gf180mcu$*.max \
		${LIBRELANE_STAGING_$*}/rules.openrcx.gf180mcu$*.max ;\
	fi

vendor-A: primitive-build-A digital-7t5v0-build-A digital-9t5v0-build-A io-build-A ocd-io-build-A ocd-alpha-build-A sram-build-A ocd-sram-build-A digital-osu-build-A digital-avalon-build-A

vendor-B: primitive-build-B digital-7t5v0-build-B digital-9t5v0-build-B io-build-B ocd-io-build-B ocd-alpha-build-B sram-build-B ocd-sram-build-B digital-osu-build-B digital-avalon-build-B

vendor-C: primitive-build-C digital-7t5v0-build-C digital-9t5v0-build-C io-build-C ocd-io-build-C ocd-alpha-build-C sram-build-C ocd-sram-build-C digital-osu-build-C digital-avalon-build-C

vendor-D: primitive-build-D digital-7t5v0-build-D digital-9t5v0-build-D io-build-D ocd-io-build-D ocd-alpha-build-D sram-build-D ocd-sram-build-D digital-osu-build-D digital-avalon-build-D

primitive-build-%:
	if test "x${GF180MCU_PR_PATH}" != "x" ; then \
		if test -d ${GF180MCU_PR_PATH} ; then \
			echo "Building primitives library and simulation models" ;\
			make primitive-$* ;\
		fi ;\
	fi

io-build-%:
	if test "x${GF180MCU_IO_PATH}" != "x" ; then \
		if test -d ${GF180MCU_IO_PATH} ; then \
			echo "Building padframe I/O libraries" ;\
			make io-$* ;\
		fi ;\
	fi

ocd-io-build-%:
	if test "x${GF180MCU_OCD_IO_PATH}" != "x" ; then \
		if test -d ${GF180MCU_OCD_IO_PATH} ; then \
			echo "Building dual-voltage padframe I/O libraries" ;\
			make ocd-io-$* ;\
		fi ;\
	fi

ocd-alpha-build-%:
	if test "x${GF180MCU_OCD_ALPHA_PATH}" != "x" ; then \
		if test -d ${GF180MCU_OCD_ALPHA_PATH} ; then \
			echo "Building alphanumeric layout libraries" ;\
			make ocd-alpha-$* ;\
		fi ;\
	fi

digital-9t5v0-build-%:
	if test "x${GF180MCU_SC_9T5V0_PATH}" != "x" ; then \
		if test -d ${GF180MCU_SC_9T5V0_PATH} ; then \
			echo "Building 5V 9-track digital standard cell libraries" ;\
			make digital-9t5v0-$* ;\
		fi ;\
	fi

digital-7t5v0-build-%:
	if test "x${GF180MCU_SC_7T5V0_PATH}" != "x" ; then \
		if test -d ${GF180MCU_SC_7T5V0_PATH} ; then \
			echo "Building 5V 7-track digital standard cell libraries" ;\
			make digital-7t5v0-$* ;\
		fi ;\
	fi

sram-build-%:
	if test "x${GF180MCU_SRAM_PATH}" != "x" ; then \
		if test -d ${GF180MCU_SRAM_PATH} ; then \
			echo "Building 5V SRAM libraries" ;\
			make sram-$* ;\
		fi ;\
	fi

ocd-sram-build-%:
	if test "x${GF180MCU_OCD_SRAM_PATH}" != "x" ; then \
		if test -d ${GF180MCU_OCD_SRAM_PATH} ; then \
			echo "Building Open Circuit Design 3.3V SRAM libraries" ;\
			make ocd-sram-$* ;\
		fi ;\
	fi

digital-osu-build-%:
	if test "x${GF180MCU_OSU_SC_PATH}" != "x" ; then \
		if test -d ${GF180MCU_OSU_SC_PATH} ; then \
			echo "Building OSU 3.3V digital standard cell libraries" ;\
			make digital-osu-$* ;\
		fi ;\
	fi

digital-avalon-build-%:
	if test "x${GF180MCU_AS_SC_PATH}" != "x" ; then \
		if test -d ${GF180MCU_AS_SC_PATH} ; then \
			echo "Building Avalon Semiconductor 3.3V digital standard cell libraries" ;\
			make digital-avalon-$* ;\
		fi ;\
	fi

primitive-%:
        # Install tech LEF and primitive devices from vendor files
	${STAGE} -source ${GF180MCU_PR_PATH} \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-ngspice models/ngspice/*.ngspice \
		-xyce models/xyce/*.xyce \
		2>&1 | tee -a ${GF180MCU$*}_make.log
	# Install primitive device fixed layout cells from GDS
	${STAGE} -source ${GF180MCU_PR_PATH} \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-gds cells/klayout/pymacros/cells/*/*.gds noextract \
		-library primitive gf180mcu_fd_pr \
		2>&1 | tee -a ${GF180MCU$*}_make.log
	# Add "device primitive" property to the bipolar devices and
	# order the ports correctly to match the subcircuit model.  This
	# ensures that the bipolar layouts extract correctly.
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x02p00 "device primitive"
	${PORTORDER} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x02p00 I1_default_C I1_default_B I1_default_E I1_default_S
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x04p00 "device primitive"
	${PORTORDER} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x04p00 I1_default_C I1_default_B I1_default_E I1_default_S
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x08p00 "device primitive"
	${PORTORDER} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x08p00 I1_default_C I1_default_B I1_default_E I1_default_S
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x16p00 "device primitive"
	${PORTORDER} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x16p00 I1_default_C I1_default_B I1_default_E I1_default_S
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_05p00x05p00 "device primitive"
	${PORTORDER} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_05p00x05p00 I1_default_C I1_default_B I1_default_E I1_default_S
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_10p00x10p00 "device primitive"
	${PORTORDER} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_10p00x10p00 I1_default_C I1_default_B I1_default_E I1_default_S
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		pnp_05p00x00p42 "device primitive"
	${PORTORDER} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		pnp_05p00x00p42 I1_default_C I1_default_B I1_default_E
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		pnp_05p00x05p00 "device primitive"
	${PORTORDER} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		pnp_05p00x05p00 I1_default_C I1_default_B I1_default_E
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		pnp_10p00x10p00 "device primitive"
	${PORTORDER} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		pnp_10p00x10p00 I1_default_C I1_default_B I1_default_E
	# Cells which have a different cell name than the device name
	# should replace the "gencell" property with the device name.
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		efuse_cell "gencell efuse"
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x02p00_0 "gencell npn_00p54x02p00"
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x04p00_0 "gencell npn_00p54x04p00"
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x08p00_0 "gencell npn_00p54x08p00"
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_00p54x16p00_0 "gencell npn_00p54x16p00"
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_05p00x05p00_0 "gencell npn_05p00x05p00"
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		npn_10p00x10p00_0 "gencell npn_10p00x10p00"
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		pnp_05p00x00p42_0 "gencell pnp_05p00x00p42"
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		pnp_05p00x05p00_0 "gencell pnp_05p00x05p00"
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		pnp_10p00x00p42_0 "gencell pnp_10p00x00p42"
	${ADDPROP} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_pr \
		pnp_10p00x10p00_0 "gencell pnp_10p00x10p00"

digital-9t5v0-%:
        # Install 5V 9-track digital standard cells from vendor files
	${STAGE} -source ${GF180MCU_SC_9T5V0_PATH} \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-techlef tech/gf180mcu_${$*_FULLSTACK}_9t_tech.lef \
			filter=custom/scripts/fix_techlef.py \
			rename=gf180mcu_fd_sc_mcu9t5v0__nom.tlef \
		-cdl cells/*/*.cdl compile-only noconvert \
		-lib cells/*/*_ff_125C_1v98.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ff_125C_1v98.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ff_125C_1v98 \
		-lib cells/*/*_ff_n40C_1v98.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ff_n40C_1v98.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ff_n40C_1v98 \
		-lib cells/*/*_ff_125C_3v60.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ff_125C_3v60.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ff_125C_3v60 \
		-lib cells/*/*_ff_n40C_3v60.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ff_n40C_3v60.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ff_n40C_3v60 \
		-lib cells/*/*_ff_125C_5v50.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ff_125C_5v50.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ff_125C_5v50 \
		-lib cells/*/*_ff_n40C_5v50.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ff_n40C_5v50.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ff_n40C_5v50 \
		-lib cells/*/*_ss_125C_1v62.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ss_125C_1v62.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ss_125C_1v62 \
		-lib cells/*/*_ss_n40C_1v62.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ss_n40C_1v62.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ss_n40C_1v62 \
		-lib cells/*/*_ss_125C_3v00.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ss_125C_3v00.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ss_125C_3v00 \
		-lib cells/*/*_ss_n40C_3v00.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ss_n40C_3v00.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ss_n40C_3v00 \
		-lib cells/*/*_ss_125C_4v50.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ss_125C_4v50.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ss_125C_4v50 \
		-lib cells/*/*_ss_n40C_4v50.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__ss_n40C_4v50.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__ss_n40C_4v50 \
		-lib cells/*/*_tt_025C_1v80.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__tt_025C_1v80.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__tt_025C_1v80 \
		-lib cells/*/*_tt_025C_3v30.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__tt_025C_3v30.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__tt_025C_3v30 \
		-lib cells/*/*_tt_025C_5v00.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu9t5v0__tt_025C_5v00.lib \
			rename=gf180mcu_fd_sc_mcu9t5v0__tt_025C_5v00 \
		-spice cells/*/*.cdl compile-only \
			filter=custom/scripts/convert_sc_cdl.py \
		-gds cells/*/*.gds compile-only \
			options=custom/scripts/gds_import_sc.tcl \
			filter=custom/scripts/fix_stdcell_gds.py \
		-lef cells/*/*.lef annotate compile-only \
			filter=custom/scripts/fix_digital_lef.py \
		-verilog models/*/*.v compile-only rename=primitives \
		-verilog cells/*/*.v exclude=*.*.v,primitives.v \
			compile-only filter=custom/scripts/inc_verilog.py \
		-library digital gf180mcu_fd_sc_mcu9t5v0 2>&1 | \
		tee -a ${GF180MCU$*}_make.log
	# Create minimum/maximum technology LEF files
	./custom/scripts/make_minmax_techlef.py -std_format -variant=${GF180MCU$*} \
		-library=9t5v0 2>&1 | tee -a ${GF180MCU$*}_make.log || true

digital-7t5v0-%:
        # Install 5V 7-track digital standard cells from vendor files
	${STAGE} -source ${GF180MCU_SC_7T5V0_PATH} \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-techlef tech/gf180mcu_${$*_FULLSTACK}_7t_tech.lef \
			filter=custom/scripts/fix_techlef.py \
			rename=gf180mcu_fd_sc_mcu7t5v0__nom.tlef \
		-cdl cells/*/*.cdl compile-only noconvert \
		-lib cells/*/*_ff_125C_1v98.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
                        header=liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_1v98.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ff_125C_1v98 \
		-lib cells/*/*_ff_n40C_1v98.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_1v98.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ff_n40C_1v98 \
		-lib cells/*/*_ff_125C_3v60.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_3v60.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ff_125C_3v60 \
		-lib cells/*/*_ff_n40C_3v60.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_3v60.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ff_n40C_3v60 \
		-lib cells/*/*_ff_125C_5v50.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__ff_125C_5v50.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ff_125C_5v50 \
		-lib cells/*/*_ff_n40C_5v50.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__ff_n40C_5v50.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ff_n40C_5v50 \
		-lib cells/*/*_ss_125C_1v62.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_1v62.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ss_125C_1v62 \
		-lib cells/*/*_ss_n40C_1v62.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_1v62.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ss_n40C_1v62 \
		-lib cells/*/*_ss_125C_3v00.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_3v00.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ss_125C_3v00 \
		-lib cells/*/*_ss_n40C_3v00.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_3v00.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ss_n40C_3v00 \
		-lib cells/*/*_ss_125C_4v50.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__ss_125C_4v50.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ss_125C_4v50 \
		-lib cells/*/*_ss_n40C_4v50.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__ss_n40C_4v50.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__ss_n40C_4v50 \
		-lib cells/*/*_tt_025C_1v80.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__tt_025C_1v80.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__tt_025C_1v80 \
		-lib cells/*/*_tt_025C_3v30.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__tt_025C_3v30.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__tt_025C_3v30 \
		-lib cells/*/*_tt_025C_5v00.lib compile-only \
			filter=custom/scripts/fix_related_bias_pins.py \
			header=liberty/gf180mcu_fd_sc_mcu7t5v0__tt_025C_5v00.lib \
			rename=gf180mcu_fd_sc_mcu7t5v0__tt_025C_5v00 \
		-spice cells/*/*.cdl compile-only \
			filter=custom/scripts/convert_sc_cdl.py \
		-gds cells/*/*.gds compile-only \
			options=custom/scripts/gds_import_sc.tcl \
			filter=custom/scripts/fix_stdcell_gds.py \
		-lef cells/*/*.lef annotate compile-only \
			filter=custom/scripts/fix_digital_lef.py \
		-verilog models/*/*.v compile-only rename=primitives \
		-verilog cells/*/*.v exclude=*.*.v,primitives.v \
			compile-only filter=custom/scripts/inc_verilog.py \
		-library digital gf180mcu_fd_sc_mcu7t5v0 2>&1 | \
		tee -a ${GF180MCU$*}_make.log
	# Create minimum/maximum technology LEF files
	./custom/scripts/make_minmax_techlef.py -std_format -variant=${GF180MCU$*} \
		-library=7t5v0 2>&1 | tee -a ${GF180MCU$*}_make.log || true

digital-osu-%:
        # Install OSU 3.3V digital standard cells from vendor files
	# NOTE: Work in progress (to be completed)
	${STAGE} -source ${GF180MCU_OSU_SC_PATH}/gf180mcu_osu_sc_gp9t3v3 \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-techlef tlef/gf180mcu_osu_sc_gp9t3v3.tlef \
			rename=gf180mcu_osu_sc_gp9t3v3__nom.tlef \
		-lib lib/gf180mcu_osu_sc_gp9t3v3_TT_25C.ccs.lib \
			rename=gf180mcu_osu_sc_gp9t3v3__tt_025C_3v30 \
		-verilog verilog/*.v rename=gf180mcu_osu_sc_gp9t3v3.v \
		-lef lef/*.lef \
		-gds gds/*.gds compile-only \
		-spice spice/*.spice \
		-xschem xschem/*.sch compile-only \
		-library digital gf180mcu_osu_sc_gp9t3v3 2>&1 | \
		tee -a ${GF180MCU$*}_make.log

	${STAGE} -source ${GF180MCU_OSU_SC_PATH}/gf180mcu_osu_sc_gp12t3v3 \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-techlef tlef/gf180mcu_osu_sc_gp12t3v3.tlef \
			rename=gf180mcu_osu_sc_gp12t3v3__nom.tlef \
		-lib lib/gf180mcu_osu_sc_gp12t3v3_TT_25C.ccs.lib \
			rename=gf180mcu_osu_sc_gp12t3v3__tt_025C_3v30 \
		-verilog verilog/*.v rename=gf180mcu_osu_sc_gp12t3v3.v \
		-lef lef/*.lef \
		-gds gds/*.gds compile-only \
		-spice spice/*.spice \
		-xschem xschem/*.sch \
		-library digital gf180mcu_osu_sc_gp12t3v3 2>&1 | \
		tee -a ${GF180MCU$*}_make.log

digital-avalon-%: AVALON_TECH_SOURCE := ${GF180MCU_AS_SC_PATH}/pdk/libs.tech
digital-avalon-%: AVALON_REF_SOURCE := ${GF180MCU_AS_SC_PATH}/pdk/libs.ref/gf180mcu_as_sc_mcu7t3v3

digital-avalon-%:
        # Install Avalon Semiconductors 3.3V digital standard cells from vendor files
	# NOTE: The repository is in open_pdks format and mainly just needs to
	# be copied, not built.
	rm -rf ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/lib
	mkdir -p ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/lib
	cp -rp ${AVALON_REF_SOURCE}/lib ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3
	rm -rf ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/mag
	mkdir -p ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/mag
	cp -rp ${AVALON_REF_SOURCE}/mag ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3
	rm -rf ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/gds
	mkdir ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/gds
	# Remove the "_merged" suffix from the GDS library
	cp ${AVALON_REF_SOURCE}/gf180mcu_as_sc_mcu7t3v3__merged.gds ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/gds/gf180mcu_as_sc_mcu7t3v3.gds
	rm -rf ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/lef
	mkdir -p ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/lef
	cp -rp ${AVALON_REF_SOURCE}/lef ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3
	rm -rf ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/techlef
	mkdir -p ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/techlef
	cp -rp ${AVALON_REF_SOURCE}/techlef ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3
	rm -rf ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/verilog
	mkdir -p ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/verilog
	cp -rp ${AVALON_REF_SOURCE}/verilog ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3
	rm -rf ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/cdl
	mkdir -p ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/cdl
	cp -rp ${AVALON_REF_SOURCE}/cdl ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3
	rm -rf ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/spice
	mkdir -p ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3/spice
	cp -rp ${AVALON_REF_SOURCE}/spice ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_as_sc_mcu7t3v3

	# This library is done the right way and has its own librelane setup.
	mkdir -p ${LIBRELANETOP_STAGING_$*}
	mkdir -p ${LIBRELANE_STAGING_$*}
	rm -rf ${LIBRELANE_STAGING_$*}/gf180mcu_as_sc_mcu7t3v3
	mkdir ${LIBRELANE_STAGING_$*}/gf180mcu_as_sc_mcu7t3v3
	cp -rp ${AVALON_TECH_SOURCE}/librelane/gf180mcu_as_sc_mcu7t3v3 ${LIBRELANE_STAGING_$*}

io-%:
	# Install custom additions to the I/O pad library
	${STAGE} -source ./custom -target ${STAGING_PATH}/${GF180MCU$*} \
		-verilog %l/verilog/*.v compile-only rename=gf180mcu_ef_io \
		-spice %l/spice/*.spice compile-only rename=gf180mcu_ef_io \
		-gds %l/gds/*_${$*_STACK}.gds compile-only \
			rename=gf180mcu_ef_io \
			options=custom/scripts/gds_import_io.tcl \
		-lef %l/lef/*_${$*_STACK}.lef \
			annotate lefopts=-hide \
		-library general gf180mcu_fd_io 2>&1 | \
		tee -a ${GF180MCU$*}_make.log

        # Install I/O cells from vendor files
	# Note:  Do not use GF LEF views.  Annotate only.  LEF is being renamed
	# back to the original, although eventually all files will be changed
	# to canonical names.

	${STAGE} -source ${GF180MCU_IO_PATH} \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-cdl cells/*/*.cdl compile-only noconvert \
		-lib cells/*/*_ff_125C_2v75.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_ff_125C_2v75.lib \
                        header=liberty/gf180mcu_fd_io__ff_125C_2v75.lib \
			rename=gf180mcu_fd_io__ff_125C_2v75 \
		-lib cells/*/*_ff_n40C_2v75.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_ff_n40C_2v75.lib \
                        header=liberty/gf180mcu_fd_io__ff_n40C_2v75.lib \
			rename=gf180mcu_fd_io__ff_n40C_2v75 \
		-lib cells/*/*_ff_125C_3v63.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_ff_125C_3v63.lib \
                        header=liberty/gf180mcu_fd_io__ff_125C_3v63.lib \
			rename=gf180mcu_fd_io__ff_125C_3v63 \
		-lib cells/*/*_ff_n40C_3v63.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_ff_n40C_3v63.lib \
                        header=liberty/gf180mcu_fd_io__ff_n40C_3v63.lib \
			rename=gf180mcu_fd_io__ff_n40C_3v63 \
		-lib cells/*/*_ff_125C_5v50.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_ff_125C_5v50.lib \
                        header=liberty/gf180mcu_fd_io__ff_125C_5v50.lib \
			rename=gf180mcu_fd_io__ff_125C_5v50 \
		-lib cells/*/*_ff_n40C_5v50.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_ff_n40C_5v50.lib \
                        header=liberty/gf180mcu_fd_io__ff_n40C_5v50.lib \
			rename=gf180mcu_fd_io__ff_n40C_5v50 \
		-lib cells/*/*_ss_125C_2v25.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_ss_125C_2v20.lib \
                        header=liberty/gf180mcu_fd_io__ss_125C_2v25.lib \
			rename=gf180mcu_fd_io__ss_125C_2v25 \
		-lib cells/*/*_ss_125C_2v97.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_ss_125C_2v97.lib \
                        header=liberty/gf180mcu_fd_io__ss_125C_2v97.lib \
			rename=gf180mcu_fd_io__ss_125C_2v97 \
		-lib cells/*/*_ss_125C_4v50.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_ss_125C_4v50.lib \
                        header=liberty/gf180mcu_fd_io__ss_125C_4v50.lib \
			rename=gf180mcu_fd_io__ss_125C_4v50 \
		-lib cells/*/*_tt_025C_2v50.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_tt_025C_2v50.lib \
                        header=liberty/gf180mcu_fd_io__tt_025C_2v50.lib \
			rename=gf180mcu_fd_io__tt_025C_2v50 \
		-lib cells/*/*_tt_025C_3v30.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_tt_025C_3v30.lib \
                        header=liberty/gf180mcu_fd_io__tt_025C_3v30.lib \
			rename=gf180mcu_fd_io__tt_025C_3v30 \
		-lib cells/*/*_tt_025C_5v00.lib compile-only \
			include=custom/gf180mcu_fd_io/lib/*_tt_025C_5v00.lib \
                        header=liberty/gf180mcu_fd_io__tt_025C_5v00.lib \
			rename=gf180mcu_fd_io__tt_025C_5v00 \
		-spice cells/*/*.cdl compile-only \
			filter=custom/scripts/convert_io_cdl.py \
		-gds cells/*/*_${$*_STACK}.gds compile-only \
			options=custom/scripts/gds_import_io.tcl \
			filter=custom/scripts/fix_io_cor_gds.py \
		-lef cells/*/*_${$*_STACK}.lef \
			annotate lefopts=-hide \
			filter=custom/scripts/fix_io_lef.py \
		-xschem cells/*/*.sym \
			filter=custom/scripts/make_primitive.py \
		-verilog cells/*/*.v compile-only \
		-library general gf180mcu_fd_io 2>&1 | tee -a ${GF180MCU$*}_make.log

ocd-io-%:
	# Install the Open Circuit Design dual-voltage I/O library
	${STAGE} -source ${GF180MCU_OCD_IO_PATH} \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-lib cells/*/*_ff_125C_2v75.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__ff_125C_2v75.lib \
			rename=gf180mcu_ocd_io__ff_125C_2v75 \
		-lib cells/*/*_ff_n40C_2v75.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__ff_n40C_2v75.lib \
			rename=gf180mcu_ocd_io__ff_n40C_2v75 \
		-lib cells/*/*_ff_125C_3v63.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__ff_125C_3v63.lib \
			rename=gf180mcu_ocd_io__ff_125C_3v63 \
		-lib cells/*/*_ff_n40C_3v63.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__ff_n40C_3v63.lib \
			rename=gf180mcu_ocd_io__ff_n40C_3v63 \
		-lib cells/*/*_ff_125C_5v50.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__ff_125C_5v50.lib \
			rename=gf180mcu_ocd_io__ff_125C_5v50 \
		-lib cells/*/*_ff_n40C_5v50.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__ff_n40C_5v50.lib \
			rename=gf180mcu_ocd_io__ff_n40C_5v50 \
		-lib cells/*/*_ss_125C_2v25.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__ss_125C_2v25.lib \
			rename=gf180mcu_ocd_io__ss_125C_2v25 \
		-lib cells/*/*_ss_125C_2v97.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__ss_125C_2v97.lib \
			rename=gf180mcu_ocd_io__ss_125C_2v97 \
		-lib cells/*/*_ss_125C_4v50.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__ss_125C_4v50.lib \
			rename=gf180mcu_ocd_io__ss_125C_4v50 \
		-lib cells/*/*_tt_025C_2v50.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__tt_025C_2v50.lib \
			rename=gf180mcu_ocd_io__tt_025C_2v50 \
		-lib cells/*/*_tt_025C_3v30.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__tt_025C_3v30.lib \
			rename=gf180mcu_ocd_io__tt_025C_3v30 \
		-lib cells/*/*_tt_025C_5v00.lib compile-only \
                        header=liberty/gf180mcu_ocd_io__tt_025C_5v00.lib \
			rename=gf180mcu_ocd_io__tt_025C_5v00 \
		-spice netlist/schematic/*.spice compile-only  \
		-gds cells/*/*_${$*_STACK}.gds.gz compile-only \
			options=custom/scripts/gds_import_io.tcl \
		-lef cells/*/*_${$*_STACK}.lef compile-only \
		-xschem cells/*/*.sym \
			filter=custom/scripts/make_primitive.py \
		-verilog cells/*/*.v compile-only \
		-library general gf180mcu_ocd_io 2>&1 | tee -a ${GF180MCU$*}_make.log

ocd-alpha-%:
	# Install alphanumeric libraries.
	${STAGE} -source ${GF180MCU_OCD_ALPHA_PATH} \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-mag small/magic/*.mag \
		-library general gf180mcu_ocd_alpha_small \
		2>&1 | tee -a ${GF180MCU$*}_make.log
	${STAGE} -source ${GF180MCU_OCD_ALPHA_PATH} \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-mag large/magic/*.mag \
		-library general gf180mcu_ocd_alpha_large \
		2>&1 | tee -a ${GF180MCU$*}_make.log
	${STAGE} -source ${GF180MCU_OCD_ALPHA_PATH} \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-mag misc/magic/*.mag \
		-library general gf180mcu_ocd_alpha_misc \
		2>&1 | tee -a ${GF180MCU$*}_make.log
	# Install text2mag.py script for alphanumeric library
	mkdir -p ${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_ocd_alpha_small/scripts
	cp ${GF180MCU_OCD_ALPHA_PATH}/small/scripts/text2mag.py \
		${STAGING_PATH}/${GF180MCU$*}/libs.ref/gf180mcu_ocd_alpha_small/scripts

sram-%:
	# Install 5V SRAM macros from vendor files
	${STAGE} -source ${GF180MCU_SRAM_PATH} \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-cdl cells/*/*.cdl noconvert \
		-lib cells/*/*.lib \
		-spice cells/*/*.cdl \
			filter=custom/scripts/convert_sram_cdl.py \
			rename=*.spice \
		-gds cells/*/*.gds \
			options=custom/scripts/gds_import_sram.tcl \
			filter=custom/scripts/fix_sram_gds.py \
		-lef cells/*/*.lef annotate lefopts="-hide 5um" \
		-verilog cells/*/*.v \
		-library general gf180mcu_fd_ip_sram 2>&1 | tee -a ${GF180MCU$*}_make.log
	# Remove "BL" labels from the rarray4_* cells, otherwise extraction
	# of the SRAMs without using "extract unique" will fail.
	${REMOVELAB} ${STAGING_PATH}/${GF180MCU$*} gf180mcu_fd_ip_sram \
		rarray4_\* BL\* -mag

ocd-sram-%:
	# Install Open Circuit Design 3.3V SRAM macros from vendor files
	${STAGE} -source ${GF180MCU_OCD_SRAM_PATH} \
		-target ${STAGING_PATH}/${GF180MCU$*} \
		-lib cells/*/*.lib \
		-spice cells/*/*.spice \
		-gds cells/*/*.gds \
			options=custom/scripts/gds_import_ocd_sram.tcl \
		-lef cells/*/*.lef \
		-verilog cells/*/*.v \
		-library general gf180mcu_ocd_ip_sram 2>&1 | tee -a ${GF180MCU$*}_make.log

install: $(foreach var, ${VARIANTS}, install-$(var))

install-A:
	echo "Starting GF180MCU PDK migration on "`date` > ${GF180MCUA}_install.log
	${INSTALL} \
		-source ${STAGING_PATH}/${GF180MCUA} \
		-finalpath ${SHARED_PDKS_PATH}/${GF180MCUA} \
		-variable PDKPATH \
		-link_from ${DIST_LINK_TARGETS_A} 2>&1 | tee -a ${GF180MCUA}_install.log
	echo "Ended GF180MCU PDK migration on "`date` >> ${GF180MCUA}_install.log

install-B: install-A
	echo "Starting GF180MCU PDK migration on "`date` > ${GF180MCUB}_install.log
	${INSTALL} \
		-source ${STAGING_PATH}/${GF180MCUB} \
		-finalpath ${SHARED_PDKS_PATH}/${GF180MCUB} \
		-variable PDKPATH \
		-link_from ${DIST_LINK_TARGETS_B} 2>&1 | tee -a ${GF180MCUB}_install.log
	echo "Ended GF180MCU PDK migration on "`date` >> ${GF180MCUB}_install.log

install-C: install-A
	echo "Starting GF180MCU PDK migration on "`date` > ${GF180MCUC}_install.log
	${INSTALL} \
		-source ${STAGING_PATH}/${GF180MCUC} \
		-finalpath ${SHARED_PDKS_PATH}/${GF180MCUC} \
		-variable PDKPATH \
		-link_from ${DIST_LINK_TARGETS_C} 2>&1 | tee -a ${GF180MCUC}_install.log
	echo "Ended GF180MCU PDK migration on "`date` >> ${GF180MCUC}_install.log

install-D: install-A
	echo "Starting GF180MCU PDK migration on "`date` > ${GF180MCUD}_install.log
	${INSTALL} \
		-source ${STAGING_PATH}/${GF180MCUD} \
		-finalpath ${SHARED_PDKS_PATH}/${GF180MCUD} \
		-variable PDKPATH \
		-link_from ${DIST_LINK_TARGETS_C} 2>&1 | tee -a ${GF180MCUD}_install.log
	echo "Ended GF180MCU PDK migration on "`date` >> ${GF180MCUD}_install.log

uninstall: $(foreach var, ${VARIANTS}, uninstall-$(var))

uninstall-A:
	echo "Uninstalling GF180MCU PDK from ${SHARED_PDKS_PATH}"
	if test "x${SHARED_PDKS_PATH}" != "x" ; then \
		${RM} -rf ${SHARED_PDKS_PATH}/${GF180MCUA} ; \
	fi
	echo "Finished GF180MCU PDK uninstall"

uninstall-B:
	echo "Uninstalling GF180MCU PDK from ${SHARED_PDKS_PATH}"
	if test "x${SHARED_PDKS_PATH}" != "x" ; then \
		${RM} -rf ${SHARED_PDKS_PATH}/${GF180MCUB} ; \
	fi
	echo "Finished GF180MCU PDK uninstall"

uninstall-C:
	echo "Uninstalling GF180MCU PDK from ${SHARED_PDKS_PATH}"
	if test "x${SHARED_PDKS_PATH}" != "x" ; then \
		${RM} -rf ${SHARED_PDKS_PATH}/${GF180MCUC} ; \
	fi
	echo "Finished GF180MCU PDK uninstall"

uninstall-D:
	echo "Uninstalling GF180MCU PDK from ${SHARED_PDKS_PATH}"
	if test "x${SHARED_PDKS_PATH}" != "x" ; then \
		${RM} -rf ${SHARED_PDKS_PATH}/${GF180MCUD} ; \
	fi
	echo "Finished GF180MCU PDK uninstall"

clean: $(foreach var, ${VARIANTS}, clean-$(var))

clean-A:
	${STAGE} -target ${STAGING_PATH}/${GF180MCUA} -clean

clean-B:
	${STAGE} -target ${STAGING_PATH}/${GF180MCUB} -clean

clean-C:
	${STAGE} -target ${STAGING_PATH}/${GF180MCUC} -clean

clean-D:
	${STAGE} -target ${STAGING_PATH}/${GF180MCUD} -clean

veryclean: $(foreach var, ${VARIANTS}, veryclean-$(var))

veryclean-A: clean-A
	${RM} ${GF180MCUA}_make.log
	${RM} ${GF180MCUA}_install.log

veryclean-B: clean-B
	${RM} ${GF180MCUB}_make.log
	${RM} ${GF180MCUB}_install.log

veryclean-C: clean-C
	${RM} ${GF180MCUC}_make.log
	${RM} ${GF180MCUC}_install.log

veryclean-D: clean-D
	${RM} ${GF180MCUD}_make.log
	${RM} ${GF180MCUD}_install.log


