diff --git a/sky130/Makefile.in b/sky130/Makefile.in
index 697fc50..1bc259f 100644
--- a/sky130/Makefile.in
+++ b/sky130/Makefile.in
@@ -1287,12 +1287,12 @@
 			sort=../common/sort_pdkfiles.py \
 		-lef %l/latest/cells/*/*.lef annotate compile-only \
 			exclude=*.magic.lef lefopts=-toplayer \
+			filter=custom/scripts/fix_digital_lef.py \
 			sort=../common/sort_pdkfiles.py \
 		-doc %l/latest/cells/*/*.pdf \
 		-lib %l/latest/timing/*.lib custom/scripts/add_wireloads.py \
 		-gds %l/latest/cells/*/*.gds compile-only \
 			options=custom/scripts/gds_import_setup.tcl \
-			filter=custom/scripts/fix_digital_lef.py \
 			sort=../common/sort_pdkfiles.py \
 		-verilog %l/latest/models/*/*.v exclude=*.*.v compile-only \
 			rename=primitives filter=custom/scripts/inc_verilog.py \
diff --git a/sky130/custom/scripts/add_wireloads.py b/sky130/custom/scripts/add_wireloads.py
index 89480ce..4f1043b 100755
--- a/sky130/custom/scripts/add_wireloads.py
+++ b/sky130/custom/scripts/add_wireloads.py
@@ -21,7 +21,7 @@
             stext = inFile.read()
             slines = stext.splitlines()
     except:
-        print('add_wireloads.py: failed to open ' + fnmIn + ' for reading.', file=sys.stderr)
+        print('add_wireloads.py: failed to open ' + inname + ' for reading.', file=sys.stderr)
         return 1
 
     # Process input with regexp
diff --git a/sky130/custom/scripts/fix_device_models.py b/sky130/custom/scripts/fix_device_models.py
index 2c746b5..bbd9f06 100755
--- a/sky130/custom/scripts/fix_device_models.py
+++ b/sky130/custom/scripts/fix_device_models.py
@@ -22,7 +22,7 @@
             stext = inFile.read()
             slines = stext.splitlines()
     except:
-        print('fix_device_models.py: failed to open ' + fnmIn + ' for reading.', file=sys.stderr)
+        print('fix_device_models.py: failed to open ' + inname + ' for reading.', file=sys.stderr)
         return 1
 
     # Process input with regexp
diff --git a/sky130/custom/scripts/fix_digital_lef.py b/sky130/custom/scripts/fix_digital_lef.py
index 5af5fab..417a949 100755
--- a/sky130/custom/scripts/fix_digital_lef.py
+++ b/sky130/custom/scripts/fix_digital_lef.py
@@ -22,7 +22,7 @@
             ltext = inFile.read()
             llines = ltext.splitlines()
     except:
-        print('fix_digital_lef.py: failed to open ' + fnmIn + ' for reading.', file=sys.stderr)
+        print('fix_digital_lef.py: failed to open ' + inname + ' for reading.', file=sys.stderr)
         return 1
 
     # Process input with regexp
diff --git a/sky130/custom/scripts/fixspice.py b/sky130/custom/scripts/fixspice.py
index a44cde8..73f6e3b 100755
--- a/sky130/custom/scripts/fixspice.py
+++ b/sky130/custom/scripts/fixspice.py
@@ -23,7 +23,7 @@
             # spilines = spitext.replace('\n+', ' ').splitlines()
             spilines = spitext.splitlines()
     except:
-        print('fixspice.py: failed to open ' + fnmIn + ' for reading.', file=sys.stderr)
+        print('fixspice.py: failed to open ' + inname + ' for reading.', file=sys.stderr)
         return 1
 
     # Process input with regexp
diff --git a/sky130/custom/scripts/inc_verilog.py b/sky130/custom/scripts/inc_verilog.py
index 2e8c350..1dd663c 100755
--- a/sky130/custom/scripts/inc_verilog.py
+++ b/sky130/custom/scripts/inc_verilog.py
@@ -22,7 +22,7 @@
             vtext = inFile.read()
             vlines = vtext.splitlines()
     except:
-        print('inc_verilog.py: failed to open ' + fnmIn + ' for reading.', file=sys.stderr)
+        print('inc_verilog.py: failed to open ' + inname + ' for reading.', file=sys.stderr)
         return 1
 
     # Check if input file is a base cell or strength-specific cell, and
diff --git a/sky130/custom/scripts/rename_cells.py b/sky130/custom/scripts/rename_cells.py
index de47dcb..527db30 100755
--- a/sky130/custom/scripts/rename_cells.py
+++ b/sky130/custom/scripts/rename_cells.py
@@ -23,7 +23,7 @@
             spitext = inFile.read()
             spilines = spitext.splitlines()
     except:
-        print('rename_cells.py: failed to open ' + fnmIn + ' for reading.', file=sys.stderr)
+        print('rename_cells.py: failed to open ' + inname + ' for reading.', file=sys.stderr)
         return 1
 
     # Process input with regexp
diff --git a/sky130/custom/scripts/rename_models.py b/sky130/custom/scripts/rename_models.py
index b883be8..1cc8960 100755
--- a/sky130/custom/scripts/rename_models.py
+++ b/sky130/custom/scripts/rename_models.py
@@ -27,7 +27,7 @@
             spitext = inFile.read()
             spilines = spitext.splitlines()
     except:
-        print('rename_models.py: failed to open ' + fnmIn + ' for reading.', file=sys.stderr)
+        print('rename_models.py: failed to open ' + inname + ' for reading.', file=sys.stderr)
         return 1
 
     # Process input with regexp
diff --git a/sky130/custom/scripts/text2m5.py b/sky130/custom/scripts/text2m5.py
index 05b8750..e91bc21 100755
--- a/sky130/custom/scripts/text2m5.py
+++ b/sky130/custom/scripts/text2m5.py
@@ -22,7 +22,7 @@
             spitext = inFile.read()
             spilines = spitext.splitlines()
     except:
-        print('text2m5.py: failed to open ' + fnmIn + ' for reading.', file=sys.stderr)
+        print('text2m5.py: failed to open ' + inname + ' for reading.', file=sys.stderr)
         return 1
 
     # Process input with regexp
