Tim Edwards
11/08/2021, 8:06 PMMatthew Guthaus
11/08/2021, 8:18 PM# Install OSU T18 ls digital standard cells.
set -f ; ../common/foundry_install.py -std_format -source -target /software/PDKs/open_pdks/sky130/sky130A \
-techlef sky130_osu_sc_18T.tlef rename=sky130_osc_sc_18t_ls.tlef \
-spice 18T_ls/cdl/*.spice compile-only exclude=*.*.spice \
-lef 18T_ls/lef/*.lef \
-lib 18T_ls/lib/*.lib \
-gds 18T_ls/gds/*.gds compile-only \
options=custom/scripts/gds_import_setup.tcl \
-library digital sky130_osu_sc_18t_ls 2>&1 | tee -a sky130A_make.log
Traceback (most recent call last):
File "../common/foundry_install.py", line 430, in <module>
sourcedir = option[1]
Tim Edwards
11/08/2021, 8:21 PMMatthew Guthaus
11/08/2021, 9:14 PMMatthew Guthaus
11/08/2021, 9:21 PMmrg@diode /software/PDKs/open_pdks (master)$ SHARED_PDKS_PATH=/software/PDKs make install
(cd sky130 && make install)
make[1]: Entering directory '/software/PDKs/open_pdks/sky130'
echo "Starting SKY130 PDK migration on "`date` > sky130A_install.log
../common/staging_install.py -std_format \
-source /software/PDKs/open_pdks/sky130/sky130A \
-target /usr/local/share/pdk/sky130A \
-variable PDKPATH \
-link_from none 2>&1 | tee -a sky130A_install.log
Installing in target directory /usr/local/share/pdk/sky130A
Traceback (most recent call last):
File "../common/staging_install.py", line 381, in <module>
os.makedirs(targetdir, exist_ok=True)
File "/usr/lib/python3.8/os.py", line 213, in makedirs
makedirs(head, exist_ok=exist_ok)
File "/usr/lib/python3.8/os.py", line 223, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/usr/local/share/pdk'
echo "Ended SKY130 PDK migration on "`date` >> sky130A_install.log
make[1]: Leaving directory '/software/PDKs/open_pdks/sky130'
Common install: /usr/local/share is not writeable (ignoring).
Done.
Matthew Guthaus
11/08/2021, 9:23 PMprefix = /usr/local
datarootdir = ${prefix}/share
datadir = ${datarootdir}
...
SHARED_PDKS_PATH = $(datadir)/pdk
Matthew Guthaus
11/08/2021, 9:24 PMSHARED_PDKS_PATH ?= $(datadir)/pdk
Tim Edwards
11/09/2021, 1:57 AMMatthew Guthaus
11/09/2021, 2:19 AMMitch Bailey
11/09/2021, 3:10 AMMakefile
TEST_VAR = default1
TEST_ENV_VAR ?= default2
test:
echo $(TEST_VAR) > /dev/null
echo $(TEST_ENV_VAR) > /dev/null
and ran the following script
echo "default"
unset TEST_VAR
unset TEST_ENV_VAR
make test
echo " "
echo "command line override"
make TEST_VAR=commandLine1 TEST_ENV_VAR=commandLine2 test
echo " "
echo "environment override"
export TEST_VAR=override1
export TEST_ENV_VAR=override2
make test
echo " "
echo "environment/command line override"
make TEST_VAR=commandLine1 TEST_ENV_VAR=commandLine2 test
and got the following results
default
echo default1 > /dev/null
echo default2 > /dev/null
command line override
echo commandLine1 > /dev/null
echo commandLine2 > /dev/null
environment override
echo default1 > /dev/null
echo override2 > /dev/null
environment/command line override
echo commandLine1 > /dev/null
echo commandLine2 > /dev/null
So environment variables override ?=
assignments but not =
assignments, while command line assignments override both ?=
and =
assignments and ignore environment variables. FWIW.Matthew Guthaus
11/09/2021, 4:21 AMMatthew Guthaus
11/09/2021, 4:24 AMMatthew Guthaus
11/09/2021, 4:25 AMLinen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.
Powered by