diff --git a/Mac/scripts/fullbuild.py b/Mac/scripts/fullbuild.py
index a6d8159..0750a46 100644
--- a/Mac/scripts/fullbuild.py
+++ b/Mac/scripts/fullbuild.py
@@ -60,13 +60,17 @@
 I_CARBON_CORE=15
 I_CARBON_PLUGINS=16
 I_CARBON_EXTENSIONS=17
-# label 18
-I_PPC_FULL=19
-I_PPC_SMALL=20
-# label 21
-I_APPLETS=22
+I_INTERPRETER=18
+# label 19
+I_PPC_FULL=20
+I_PPC_SMALL=21
+# label 22
+I_CARBON_FULL=23
+I_CARBON_SMALL=24
+# label 25
+I_APPLETS=26
 
-N_BUTTONS=23
+N_BUTTONS=27
 
 if OLDAESUPPORT:
 	class MwShell(Metrowerks_Shell_Suite, CodeWarrior_suite, Metrowerks_Standard_Suite,
@@ -146,9 +150,6 @@
 		r(arg)
 		del sys.path[0]
 		
-def buildcarbonnotyet(top, arg, list):
-	print "No carbon builds yet"
-		
 def buildfat(top, dummy, list):
 	"""Build fat binaries"""
 	for dst, src1, src2 in list:
@@ -158,6 +159,13 @@
 		print 'Building fat binary', dst
 		cfmfile.mergecfmfiles((src1, src2), dst)
 		
+def buildcopy(top, dummy, list):
+	import macostools
+	for src, dst in list:
+		src = os.path.join(top, src)
+		dst = os.path.join(top, dst)
+		macostools.copy(src, dst)
+		
 def handle_dialog(filename):
 	"""Handle selection dialog, return list of selected items"""
 	d = Dlg.GetNewDialog(DIALOG_ID, -1)
@@ -203,9 +211,13 @@
 	(":Extensions:img:Mac", "genimgprojects", "genallprojects")
 	]),
 	
+I_INTERPRETER : (buildcopy, None, [
+		("PythonInterpreterCarbon", "PythonInterpreter"),
+	]),
+
 I_PPC_CORE : (buildmwproject, "CWIE", [
 		(":Mac:Build:PythonCore.mcp", "PythonCore"),
-		(":Mac:Build:PythonInterpreter.mcp", "PythonInterpreter"),
+		(":Mac:Build:PythonInterpreter.mcp", "PythonInterpreterClassic"),
 	]),
 
 I_CARBON_CORE : (buildmwproject, "CWIE", [
@@ -219,6 +231,9 @@
 	]),
 	
 I_PPC_PLUGINS : (buildmwproject, "CWIE", [
+	(":Mac:Build:_weakref.mcp", "_weakref.ppc"),
+	(":Mac:Build:_symtable.mcp", "_symtable.ppc"),
+	(":Mac:Build:_testcapi.mcp", "_testcapi.ppc"),
 	(":Mac:Build:pyexpat.mcp", "pyexpat.ppc"),
 	(":Mac:Build:calldll.mcp", "calldll.ppc"),
 	(":Mac:Build:ctb.mcp", "ctb.ppc"),
@@ -246,6 +261,9 @@
 	]),
 
 I_CARBON_PLUGINS :  (buildmwproject, "CWIE", [
+	(":Mac:Build:_weakref.carbon.mcp", "_weakref.carbon"),
+	(":Mac:Build:_symtable.carbon.mcp", "_symtable.carbon"),
+	(":Mac:Build:_testcapi.carbon.mcp", "_testcapi.carbon"),
 	(":Mac:Build:pyexpat.carbon.mcp", "pyexpat.carbon"),
 	(":Mac:Build:calldll.carbon.mcp", "calldll.carbon"),
 	(":Mac:Build:gdbm.carbon.mcp", "gdbm.carbon"),
@@ -276,6 +294,14 @@
 		(":Mac:Build:PythonStandSmall.mcp", "PythonStandSmall"),
 	]),
 
+I_CARBON_FULL : (buildmwproject, "CWIE", [
+		(":Mac:Build:PythonStandalone.mcp", "PythonCarbonStandalone"),
+	]),
+
+I_CARBON_SMALL : (buildmwproject, "CWIE", [
+		(":Mac:Build:PythonStandSmall.mcp", "PythonStandSmallCarbon"),
+	]),
+
 I_PPC_EXTENSIONS : (buildmwproject, "CWIE", [
 		(":Extensions:Imaging:_imaging.mcp", "_imaging.ppc"),
 ##		(":Extensions:Imaging:_tkinter.mcp", "_tkinter.ppc"),
