diff --git a/.travis.yml b/.travis.yml
index c033ef1..33c4543 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,6 +14,6 @@
     - External
 
 script:
-  - xcodebuild -scheme "MoltenVK Package (Release)"
+  - xcodebuild -scheme "MoltenVK Package"
   - xcodebuild -workspace Demos/Demos.xcworkspace -scheme "Cube-macOS"
 
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
index f6e302d..992d96c 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
@@ -27,12 +27,6 @@
 		A964BD3E1E4EA6FC00CA9AF1 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC611E4EA6FC00CA9AF1 /* util.cpp */; };
 		A964BD3F1E4EA6FC00CA9AF1 /* util_init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */; };
 		A964BD401E4EA6FC00CA9AF1 /* util_init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */; };
-		A9B5D09C1CF8830B00D7CBDD /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D09B1CF8830B00D7CBDD /* libc++.tbd */; };
-		A9B5D09E1CF8831400D7CBDD /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D09D1CF8831400D7CBDD /* libc++.tbd */; };
-		A9B5D0A01CF8834600D7CBDD /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D09F1CF8834600D7CBDD /* MoltenVK.framework */; };
-		A9B5D0A21CF8835500D7CBDD /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D0A11CF8835500D7CBDD /* MoltenVK.framework */; };
-		A9B5D0A41CF8837900D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D0A31CF8837900D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */; };
-		A9B5D0A61CF8838E00D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B5D0A51CF8838E00D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */; };
 		A9B67B781C3AAE9800373FFD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
 		A9B67B7A1C3AAE9800373FFD /* DemoViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.mm */; };
 		A9B67B7C1C3AAE9800373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
@@ -45,23 +39,15 @@
 		A9B67B8F1C3AAEA200373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B871C3AAEA200373FFD /* main.m */; };
 		A9B67B901C3AAEA200373FFD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
 		A9B67B911C3AAEA200373FFD /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
+		A9C2ABA2218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; };
+		A9C2ABA3218505B000DDBC03 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */; };
+		A9C2ABA6218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; };
+		A9C2ABA7218505CB00DDBC03 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
-		1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
-		1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
 		1D6058910D05DD3D006BFB54 /* API-Samples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "API-Samples.app"; sourceTree = BUILT_PRODUCTS_DIR; };
-		1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
-		2D500B990D5A79CF00DBA0E3 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
-		A900B1A21B5EAA1C00150D60 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; };
-		A90941BB1C582DF40094110D /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../../../../../../Library/Developer/Xcode/DerivedData/VulkanSamples-emusmkeclqfwfncmwqpcvdzumhpu/Build/Products/Release/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = "<group>"; };
-		A9096E4E1F7EF10300DFBEA6 /* IOSurface.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOSurface.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/IOSurface.framework; sourceTree = DEVELOPER_DIR; };
 		A92F37071C7E1B2B008F8BC9 /* Samples.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Samples.h; sourceTree = "<group>"; };
-		A92F3CED1C7E5E9D008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenShaderConverter/build/Debug/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
-		A92F3CEF1C7E5EB5008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenShaderConverter/build/Debug/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
-		A92F3CF11C7E5EBF008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../MoltenShaderConverter/build/Debug-iphoneos/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = "<group>"; };
-		A94A67231B7BDE9B00F6D7C4 /* MetalGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalGL.framework; path = ../../MetalGL/macOS/MetalGL.framework; sourceTree = "<group>"; };
-		A94A67241B7BDE9B00F6D7C4 /* MetalGLShaderConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalGLShaderConverter.framework; path = ../../MetalGLShaderConverter/macOS/MetalGLShaderConverter.framework; sourceTree = "<group>"; };
 		A95C05021C98FC1100CC653D /* blue.ppm */ = {isa = PBXFileReference; lastKnownFileType = file; path = blue.ppm; sourceTree = "<group>"; };
 		A95C05031C98FC1100CC653D /* cube_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cube_data.h; sourceTree = "<group>"; };
 		A95C05041C98FC1100CC653D /* green.ppm */ = {isa = PBXFileReference; lastKnownFileType = file; path = green.ppm; sourceTree = "<group>"; };
@@ -71,8 +57,6 @@
 		A95C05081C98FC1100CC653D /* red.ppm */ = {isa = PBXFileReference; lastKnownFileType = file; path = red.ppm; sourceTree = "<group>"; };
 		A95C05091C98FC1100CC653D /* spotlight.ppm */ = {isa = PBXFileReference; lastKnownFileType = file; path = spotlight.ppm; sourceTree = "<group>"; };
 		A95C050A1C98FC1100CC653D /* yellow.ppm */ = {isa = PBXFileReference; lastKnownFileType = file; path = yellow.ppm; sourceTree = "<group>"; };
-		A95C07051C98FDB800CC653D /* MoltenSPIRVToMSLConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenSPIRVToMSLConverter.framework; path = "../../../../MoltenShaderConverter/build/Debug-iphoneos/MoltenSPIRVToMSLConverter.framework"; sourceTree = "<group>"; };
-		A95C07071C98FDD400CC653D /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../../../../../../../Library/Developer/Xcode/DerivedData/LunarGSamples-csovmpqhztbhjscdjbysjxxoqgvu/Build/Products/Debug/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = "<group>"; };
 		A964BAF11E4E95E500CA9AF1 /* copy_blit_image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_blit_image.cpp; sourceTree = "<group>"; };
 		A964BAF51E4E968F00CA9AF1 /* 15-draw_cube.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "15-draw_cube.cpp"; sourceTree = "<group>"; };
 		A964BAF91E4E96B400CA9AF1 /* draw_subpasses.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_subpasses.cpp; sourceTree = "<group>"; };
@@ -106,18 +90,6 @@
 		A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = util_init.cpp; sourceTree = "<group>"; };
 		A964BC641E4EA6FC00CA9AF1 /* util_init.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = util_init.hpp; sourceTree = "<group>"; };
 		A977BCFE1B66BB010067E5BF /* API-Samples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "API-Samples.app"; sourceTree = BUILT_PRODUCTS_DIR; };
-		A977BD211B67186B0067E5BF /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; };
-		A977BD221B67186B0067E5BF /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
-		A977BD231B67186B0067E5BF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
-		A977BD251B67186B0067E5BF /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Metal.framework; sourceTree = DEVELOPER_DIR; };
-		A977BD261B67186B0067E5BF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
-		A9A222171B5D69F40050A5F9 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
-		A9B5D09B1CF8830B00D7CBDD /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
-		A9B5D09D1CF8831400D7CBDD /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libc++.tbd"; sourceTree = DEVELOPER_DIR; };
-		A9B5D09F1CF8834600D7CBDD /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../../Package/Latest/MoltenVK/macOS/MoltenVK.framework; sourceTree = "<group>"; };
-		A9B5D0A11CF8835500D7CBDD /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../../Package/Latest/MoltenVK/iOS/MoltenVK.framework; sourceTree = "<group>"; };
-		A9B5D0A31CF8837900D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../../Package/Latest/MoltenShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
-		A9B5D0A51CF8838E00D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../../Package/Latest/MoltenShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
 		A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
 		A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
 		A9B67B6E1C3AAE9800373FFD /* DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoViewController.h; sourceTree = "<group>"; };
@@ -138,12 +110,10 @@
 		A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
 		A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
 		A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
-		A9B6B75F1C0F795000A9E33A /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/System/Library/Frameworks/CoreAudio.framework; sourceTree = DEVELOPER_DIR; };
-		A9B6B7641C0F795D00A9E33A /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
-		A9BF67C21C582EC900B8CF77 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../MoltenShaderConverter/build/Debug-iphoneos/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = "<group>"; };
-		A9CDEA271B6A782C00F7B008 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
-		A9E264761B671B0A00FE691A /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib/libc++.dylib"; sourceTree = DEVELOPER_DIR; };
-		BA240AC10FEFE77A00DE852D /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
+		A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
+		A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../MoltenVK/iOS/framework/MoltenVK.framework; sourceTree = "<group>"; };
+		A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
+		A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../MoltenVK/macOS/framework/MoltenVK.framework; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -151,9 +121,8 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9B5D0A21CF8835500D7CBDD /* MoltenVK.framework in Frameworks */,
-				A9B5D0A61CF8838E00D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
-				A9B5D09E1CF8831400D7CBDD /* libc++.tbd in Frameworks */,
+				A9C2ABA3218505B000DDBC03 /* MoltenVK.framework in Frameworks */,
+				A9C2ABA2218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -161,9 +130,8 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9B5D0A01CF8834600D7CBDD /* MoltenVK.framework in Frameworks */,
-				A9B5D0A41CF8837900D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
-				A9B5D09C1CF8830B00D7CBDD /* libc++.tbd in Frameworks */,
+				A9C2ABA7218505CB00DDBC03 /* MoltenVK.framework in Frameworks */,
+				A9C2ABA6218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -186,37 +154,12 @@
 				A95C03971C98FBED00CC653D /* API-Samples */,
 				A9B67B6A1C3AAE9800373FFD /* iOS */,
 				A9B67B811C3AAEA200373FFD /* macOS */,
-				29B97323FDCFA39411CA2CEA /* Frameworks */,
 				19C28FACFE9D520D11CA2CBB /* Products */,
+				A9C2AB9F218505B000DDBC03 /* Frameworks */,
 			);
 			name = CustomTemplate;
 			sourceTree = "<group>";
 		};
-		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
-			isa = PBXGroup;
-			children = (
-				A9096E4E1F7EF10300DFBEA6 /* IOSurface.framework */,
-				A9B5D0A51CF8838E00D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A9B5D0A31CF8837900D7CBDD /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A9B5D0A11CF8835500D7CBDD /* MoltenVK.framework */,
-				A9B5D09F1CF8834600D7CBDD /* MoltenVK.framework */,
-				A9B5D09D1CF8831400D7CBDD /* libc++.tbd */,
-				A9B5D09B1CF8830B00D7CBDD /* libc++.tbd */,
-				A95C07071C98FDD400CC653D /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A95C07051C98FDB800CC653D /* MoltenSPIRVToMSLConverter.framework */,
-				A92F3CF11C7E5EBF008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A92F3CEF1C7E5EB5008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A92F3CED1C7E5E9D008F8BC9 /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A9BF67C21C582EC900B8CF77 /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A90941BB1C582DF40094110D /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A9B6B7641C0F795D00A9E33A /* CoreAudio.framework */,
-				A9B6B75F1C0F795000A9E33A /* CoreAudio.framework */,
-				A9ADEC601B6EC2EB00DBA48C /* iOS */,
-				A9ADEC611B6EC2F300DBA48C /* macOS */,
-			);
-			name = Frameworks;
-			sourceTree = "<group>";
-		};
 		A95C03971C98FBED00CC653D /* API-Samples */ = {
 			isa = PBXGroup;
 			children = (
@@ -498,36 +441,6 @@
 			path = utils;
 			sourceTree = "<group>";
 		};
-		A9ADEC601B6EC2EB00DBA48C /* iOS */ = {
-			isa = PBXGroup;
-			children = (
-				A9A222171B5D69F40050A5F9 /* Metal.framework */,
-				BA240AC10FEFE77A00DE852D /* OpenGLES.framework */,
-				1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */,
-				2D500B990D5A79CF00DBA0E3 /* QuartzCore.framework */,
-				1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
-				1D30AB110D05D00D00671497 /* Foundation.framework */,
-				A9CDEA271B6A782C00F7B008 /* GLKit.framework */,
-				A900B1A21B5EAA1C00150D60 /* libc++.dylib */,
-			);
-			name = iOS;
-			sourceTree = "<group>";
-		};
-		A9ADEC611B6EC2F300DBA48C /* macOS */ = {
-			isa = PBXGroup;
-			children = (
-				A94A67231B7BDE9B00F6D7C4 /* MetalGL.framework */,
-				A94A67241B7BDE9B00F6D7C4 /* MetalGLShaderConverter.framework */,
-				A9E264761B671B0A00FE691A /* libc++.dylib */,
-				A977BD251B67186B0067E5BF /* Metal.framework */,
-				A977BD261B67186B0067E5BF /* QuartzCore.framework */,
-				A977BD211B67186B0067E5BF /* AppKit.framework */,
-				A977BD221B67186B0067E5BF /* CoreGraphics.framework */,
-				A977BD231B67186B0067E5BF /* Foundation.framework */,
-			);
-			name = macOS;
-			sourceTree = "<group>";
-		};
 		A9B67B6A1C3AAE9800373FFD /* iOS */ = {
 			isa = PBXGroup;
 			children = (
@@ -578,6 +491,17 @@
 			path = Resources;
 			sourceTree = "<group>";
 		};
+		A9C2AB9F218505B000DDBC03 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */,
+				A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */,
+				A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */,
+				A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -721,7 +645,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				DEVELOPMENT_TEAM = "";
 				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/iOS\"",
+					"\"$(SRCROOT)/../../../MoltenVK/iOS/framework\"",
 					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\"",
 				);
 				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
@@ -747,7 +671,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				DEVELOPMENT_TEAM = "";
 				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/iOS\"",
+					"\"$(SRCROOT)/../../../MoltenVK/iOS/framework\"",
 					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\"",
 				);
 				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
@@ -769,7 +693,7 @@
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				COMBINE_HIDPI_IMAGES = YES;
 				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/macOS\"",
+					"\"$(SRCROOT)/../../../MoltenVK/macOS/framework\"",
 					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\"",
 				);
 				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
@@ -792,7 +716,7 @@
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				COMBINE_HIDPI_IMAGES = YES;
 				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/macOS\"",
+					"\"$(SRCROOT)/../../../MoltenVK/macOS/framework\"",
 					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\"",
 				);
 				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
diff --git a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
index 292c609..d3f84da 100644
--- a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
@@ -7,16 +7,6 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
-		A904B5711C9A08C90008C013 /* cube-frag.spv in Resources */ = {isa = PBXBuildFile; fileRef = A904B52E1C9A08C90008C013 /* cube-frag.spv */; };
-		A904B5721C9A08C90008C013 /* cube-frag.spv in Resources */ = {isa = PBXBuildFile; fileRef = A904B52E1C9A08C90008C013 /* cube-frag.spv */; };
-		A904B5751C9A08C90008C013 /* cube-vert.spv in Resources */ = {isa = PBXBuildFile; fileRef = A904B52F1C9A08C90008C013 /* cube-vert.spv */; };
-		A904B5761C9A08C90008C013 /* cube-vert.spv in Resources */ = {isa = PBXBuildFile; fileRef = A904B52F1C9A08C90008C013 /* cube-vert.spv */; };
-		A91F43A01EDDD46B00733D01 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A91F439F1EDDD46B00733D01 /* libMoltenVK.dylib */; };
-		A91F43A51EDDD5CF00733D01 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A91F43A41EDDD5CF00733D01 /* libc++.tbd */; };
-		A91F43A61EDDD61100733D01 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A91F439F1EDDD46B00733D01 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
-		A91F43A71EDDD61D00733D01 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9B2A5551D7E4FB300F66656 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
-		A9A262E91CF0C60F00A87A75 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9A262E71CF0C60500A87A75 /* libc++.tbd */; };
-		A9B2A5561D7E4FB300F66656 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B2A5551D7E4FB300F66656 /* libMoltenVK.dylib */; };
 		A9B53B151C3AC0BE00ABC6F6 /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
 		A9B53B161C3AC0BE00ABC6F6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
 		A9B53B181C3AC0BE00ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B831C3AAEA200373FFD /* AppDelegate.m */; };
@@ -29,6 +19,10 @@
 		A9B53B341C3AC15200ABC6F6 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */; };
 		A9B53B351C3AC15200ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
 		A9B53B361C3AC15200ABC6F6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
+		A9C2ABAC2185086D00DDBC03 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */; };
+		A9C2ABAD2185087500DDBC03 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */; };
+		A9C2ABB02185098A00DDBC03 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+		A9C2ABB12185099500DDBC03 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 /* End PBXBuildFile section */
 
 /* Begin PBXCopyFilesBuildPhase section */
@@ -38,7 +32,7 @@
 			dstPath = "";
 			dstSubfolderSpec = 6;
 			files = (
-				A91F43A61EDDD61100733D01 /* libMoltenVK.dylib in CopyFiles */,
+				A9C2ABB02185098A00DDBC03 /* libMoltenVK.dylib in CopyFiles */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -48,23 +42,16 @@
 			dstPath = "";
 			dstSubfolderSpec = 6;
 			files = (
-				A91F43A71EDDD61D00733D01 /* libMoltenVK.dylib in CopyFiles */,
+				A9C2ABB12185099500DDBC03 /* libMoltenVK.dylib in CopyFiles */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 /* End PBXCopyFilesBuildPhase section */
 
 /* Begin PBXFileReference section */
-		A904B52E1C9A08C90008C013 /* cube-frag.spv */ = {isa = PBXFileReference; lastKnownFileType = file; path = "cube-frag.spv"; sourceTree = "<group>"; };
-		A904B52F1C9A08C90008C013 /* cube-vert.spv */ = {isa = PBXFileReference; lastKnownFileType = file; path = "cube-vert.spv"; sourceTree = "<group>"; };
 		A904B5301C9A08C90008C013 /* cube.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cube.c; sourceTree = "<group>"; };
 		A904B5311C9A08C90008C013 /* cube.frag */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.frag; sourceTree = "<group>"; };
 		A904B5331C9A08C90008C013 /* cube.vert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.vert; sourceTree = "<group>"; };
-		A9096E501F7EF11A00DFBEA6 /* IOSurface.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOSurface.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/IOSurface.framework; sourceTree = DEVELOPER_DIR; };
-		A91F439F1EDDD46B00733D01 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/iOS/libMoltenVK.dylib; sourceTree = "<group>"; };
-		A91F43A41EDDD5CF00733D01 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/lib/libc++.tbd"; sourceTree = DEVELOPER_DIR; };
-		A9A262E71CF0C60500A87A75 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
-		A9B2A5551D7E4FB300F66656 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/macOS/libMoltenVK.dylib; sourceTree = "<group>"; };
 		A9B53B271C3AC0BE00ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		A9B53B431C3AC15200ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
@@ -87,8 +74,8 @@
 		A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
 		A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
 		A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
-		A9E34B841CECF28700E40A7F /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../iOS/MoltenVK.framework; sourceTree = "<group>"; };
-		A9E34B871CECF29800E40A7F /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../macOS/MoltenVK.framework; sourceTree = "<group>"; };
+		A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/macOS/dynamic/libMoltenVK.dylib; sourceTree = "<group>"; };
+		A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/iOS/dynamic/libMoltenVK.dylib; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -96,8 +83,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9B2A5561D7E4FB300F66656 /* libMoltenVK.dylib in Frameworks */,
-				A9A262E91CF0C60F00A87A75 /* libc++.tbd in Frameworks */,
+				A9C2ABAD2185087500DDBC03 /* libMoltenVK.dylib in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -105,8 +91,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A91F43A01EDDD46B00733D01 /* libMoltenVK.dylib in Frameworks */,
-				A91F43A51EDDD5CF00733D01 /* libc++.tbd in Frameworks */,
+				A9C2ABAC2185086D00DDBC03 /* libMoltenVK.dylib in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -128,8 +113,8 @@
 				A904B52C1C9A08C80008C013 /* cube */,
 				A9B67B6A1C3AAE9800373FFD /* iOS */,
 				A9B67B811C3AAEA200373FFD /* macOS */,
-				A9295EAA1CECEF0900EFC483 /* Frameworks */,
 				19C28FACFE9D520D11CA2CBB /* Products */,
+				A9C2ABA82185085B00DDBC03 /* Frameworks */,
 			);
 			name = CustomTemplate;
 			sourceTree = "<group>";
@@ -137,8 +122,6 @@
 		A904B52C1C9A08C80008C013 /* cube */ = {
 			isa = PBXGroup;
 			children = (
-				A904B52E1C9A08C90008C013 /* cube-frag.spv */,
-				A904B52F1C9A08C90008C013 /* cube-vert.spv */,
 				A904B5301C9A08C90008C013 /* cube.c */,
 				A904B5311C9A08C90008C013 /* cube.frag */,
 				A904B5331C9A08C90008C013 /* cube.vert */,
@@ -147,20 +130,6 @@
 			path = "../Vulkan-Tools/cube";
 			sourceTree = "<group>";
 		};
-		A9295EAA1CECEF0900EFC483 /* Frameworks */ = {
-			isa = PBXGroup;
-			children = (
-				A9096E501F7EF11A00DFBEA6 /* IOSurface.framework */,
-				A91F439F1EDDD46B00733D01 /* libMoltenVK.dylib */,
-				A9B2A5551D7E4FB300F66656 /* libMoltenVK.dylib */,
-				A9E34B841CECF28700E40A7F /* MoltenVK.framework */,
-				A9E34B871CECF29800E40A7F /* MoltenVK.framework */,
-				A9A262E71CF0C60500A87A75 /* libc++.tbd */,
-				A91F43A41EDDD5CF00733D01 /* libc++.tbd */,
-			);
-			name = Frameworks;
-			sourceTree = "<group>";
-		};
 		A9B67B6A1C3AAE9800373FFD /* iOS */ = {
 			isa = PBXGroup;
 			children = (
@@ -211,6 +180,15 @@
 			path = Resources;
 			sourceTree = "<group>";
 		};
+		A9C2ABA82185085B00DDBC03 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */,
+				A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -218,7 +196,6 @@
 			isa = PBXNativeTarget;
 			buildConfigurationList = A9B53B241C3AC0BE00ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-macOS" */;
 			buildPhases = (
-				A9BA29C5204F24D400EA6575 /* Generate SPIR-V shaders */,
 				A9B53B141C3AC0BE00ABC6F6 /* Resources */,
 				A9B53B171C3AC0BE00ABC6F6 /* Sources */,
 				A9B53B1B1C3AC0BE00ABC6F6 /* Frameworks */,
@@ -237,7 +214,6 @@
 			isa = PBXNativeTarget;
 			buildConfigurationList = A9B53B401C3AC15200ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-iOS" */;
 			buildPhases = (
-				A9BA29C6204F298800EA6575 /* Generate SPIR-V shaders */,
 				A9B53B2E1C3AC15200ABC6F6 /* Resources */,
 				A9B53B331C3AC15200ABC6F6 /* Sources */,
 				A9B53B371C3AC15200ABC6F6 /* Frameworks */,
@@ -290,8 +266,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A904B5761C9A08C90008C013 /* cube-vert.spv in Resources */,
-				A904B5721C9A08C90008C013 /* cube-frag.spv in Resources */,
 				A9B53B151C3AC0BE00ABC6F6 /* macOS.xcassets in Resources */,
 				A9B53B161C3AC0BE00ABC6F6 /* Main.storyboard in Resources */,
 			);
@@ -301,48 +275,15 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A904B5751C9A08C90008C013 /* cube-vert.spv in Resources */,
 				A9B53B2F1C3AC15200ABC6F6 /* Icon.png in Resources */,
 				A9B53B301C3AC15200ABC6F6 /* Main.storyboard in Resources */,
 				A9B53B311C3AC15200ABC6F6 /* Default~ipad.png in Resources */,
 				A9B53B321C3AC15200ABC6F6 /* Default-568h@2x.png in Resources */,
-				A904B5711C9A08C90008C013 /* cube-frag.spv in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 /* End PBXResourcesBuildPhase section */
 
-/* Begin PBXShellScriptBuildPhase section */
-		A9BA29C5204F24D400EA6575 /* Generate SPIR-V shaders */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "Generate SPIR-V shaders";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "set -e\n\n\"${PROJECT_DIR}/../../../MoltenVKShaderConverter/Tools/MoltenVKShaderConverter\" -gi -so -xs \"-\" -d \"${PROJECT_DIR}/../Vulkan-Tools/cube\"\n";
-		};
-		A9BA29C6204F298800EA6575 /* Generate SPIR-V shaders */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "Generate SPIR-V shaders";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "set -e\n\n\"${PROJECT_DIR}/../../../MoltenVKShaderConverter/Tools/MoltenVKShaderConverter\" -gi -so -xs \"-\" -d \"${PROJECT_DIR}/../Vulkan-Tools/cube\"\n";
-		};
-/* End PBXShellScriptBuildPhase section */
-
 /* Begin PBXSourcesBuildPhase section */
 		A9B53B171C3AC0BE00ABC6F6 /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
@@ -379,7 +320,7 @@
 				);
 				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
 				LD_RUNPATH_SEARCH_PATHS = "@executable_path";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS\"";
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/dynamic\"";
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				PRODUCT_NAME = Cube;
 				SDKROOT = macosx;
@@ -398,7 +339,7 @@
 				);
 				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
 				LD_RUNPATH_SEARCH_PATHS = "@executable_path";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS\"";
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/dynamic\"";
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				PRODUCT_NAME = Cube;
 				SDKROOT = macosx;
@@ -418,7 +359,7 @@
 				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				LD_RUNPATH_SEARCH_PATHS = "@executable_path";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS\"";
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\"";
 				PRODUCT_NAME = Cube;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
@@ -439,7 +380,7 @@
 				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				LD_RUNPATH_SEARCH_PATHS = "@executable_path";
-				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS\"";
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\"";
 				PRODUCT_NAME = Cube;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
diff --git a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
index c9dbc2e..e1db4ad 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
@@ -37,35 +37,19 @@
 		A9B67B8F1C3AAEA200373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B871C3AAEA200373FFD /* main.m */; };
 		A9B67B901C3AAEA200373FFD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
 		A9B67B911C3AAEA200373FFD /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
+		A9C2AB99218503A400DDBC03 /* libMoltenVK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB97218503A400DDBC03 /* libMoltenVK.a */; };
+		A9C2AB9A218503A400DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB98218503A400DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; };
+		A9C2AB9D218503BA00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB9B218503BA00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; };
+		A9C2AB9E218503BA00DDBC03 /* libMoltenVK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */; };
 		A9D516F81CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */; };
 		A9D516F91CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */; };
-		A9F4FB461CF68822003FA0C3 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB451CF68822003FA0C3 /* libc++.tbd */; };
-		A9F4FB481CF6882E003FA0C3 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB471CF6882E003FA0C3 /* libc++.tbd */; };
-		A9F4FB4A1CF688A5003FA0C3 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB491CF688A5003FA0C3 /* MoltenVK.framework */; };
-		A9F4FB4C1CF688B5003FA0C3 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB4B1CF688B5003FA0C3 /* MoltenVK.framework */; };
-		A9F4FB4F1CF68C79003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB4E1CF68C79003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */; };
-		A9F4FB511CF68C83003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9F4FB501CF68C83003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
-		1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
-		1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
 		1D6058910D05DD3D006BFB54 /* Hologram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Hologram.app; sourceTree = BUILT_PRODUCTS_DIR; };
-		1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
-		2D500B990D5A79CF00DBA0E3 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
-		A900B1A21B5EAA1C00150D60 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; };
-		A90941BB1C582DF40094110D /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../../../../../../Library/Developer/Xcode/DerivedData/VulkanSamples-emusmkeclqfwfncmwqpcvdzumhpu/Build/Products/Release/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = "<group>"; };
-		A9096E521F7EF13000DFBEA6 /* IOSurface.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOSurface.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/IOSurface.framework; sourceTree = DEVELOPER_DIR; };
 		A93CC3701CD56B8F00EB8A56 /* generate-dispatch-table */ = {isa = PBXFileReference; explicitFileType = text.script.python; path = "generate-dispatch-table"; sourceTree = "<group>"; };
 		A93CC3711CD56FD600EB8A56 /* CMakeLists.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A94A67231B7BDE9B00F6D7C4 /* MetalGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalGL.framework; path = ../../MetalGL/macOS/MetalGL.framework; sourceTree = "<group>"; };
-		A94A67241B7BDE9B00F6D7C4 /* MetalGLShaderConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalGLShaderConverter.framework; path = ../../MetalGLShaderConverter/macOS/MetalGLShaderConverter.framework; sourceTree = "<group>"; };
 		A977BCFE1B66BB010067E5BF /* Hologram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Hologram.app; sourceTree = BUILT_PRODUCTS_DIR; };
-		A977BD211B67186B0067E5BF /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; };
-		A977BD221B67186B0067E5BF /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
-		A977BD231B67186B0067E5BF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
-		A977BD251B67186B0067E5BF /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Metal.framework; sourceTree = DEVELOPER_DIR; };
-		A977BD261B67186B0067E5BF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
 		A997897F1CD3D4E2005E7DAC /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = "<group>"; };
 		A99789821CD3D4E2005E7DAC /* Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Helpers.h; sourceTree = "<group>"; };
 		A99789831CD3D4E2005E7DAC /* Hologram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Hologram.cpp; sourceTree = "<group>"; };
@@ -83,9 +67,6 @@
 		A99789961CD3D4E2005E7DAC /* Simulation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Simulation.h; sourceTree = "<group>"; };
 		A99789C71CD3D819005E7DAC /* ShellMVK.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShellMVK.cpp; sourceTree = SOURCE_ROOT; };
 		A99789C81CD3D819005E7DAC /* ShellMVK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShellMVK.h; sourceTree = SOURCE_ROOT; };
-		A99789E01CD4186E005E7DAC /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../../MoltenShaderConverter/build/Debug-iphoneos/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = "<group>"; };
-		A99789E21CD4187A005E7DAC /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../../MoltenShaderConverter/build/Debug/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
-		A9A222171B5D69F40050A5F9 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
 		A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
 		A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
 		A9B67B6E1C3AAE9800373FFD /* DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoViewController.h; sourceTree = "<group>"; };
@@ -106,20 +87,12 @@
 		A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
 		A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
 		A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
-		A9B6B75F1C0F795000A9E33A /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/System/Library/Frameworks/CoreAudio.framework; sourceTree = DEVELOPER_DIR; };
-		A9B6B7641C0F795D00A9E33A /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
-		A9BF67C21C582EC900B8CF77 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = "../../../MoltenShaderConverter/build/Debug-iphoneos/MoltenVKGLSLToSPIRVConverter.framework"; sourceTree = "<group>"; };
-		A9CDEA271B6A782C00F7B008 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
+		A9C2AB97218503A400DDBC03 /* libMoltenVK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMoltenVK.a; path = ../../../MoltenVK/iOS/static/libMoltenVK.a; sourceTree = "<group>"; };
+		A9C2AB98218503A400DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
+		A9C2AB9B218503BA00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
+		A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMoltenVK.a; path = ../../../MoltenVK/macOS/static/libMoltenVK.a; sourceTree = "<group>"; };
 		A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HelpersDispatchTable.cpp; sourceTree = SOURCE_ROOT; };
 		A9D516F71CD575E300097D96 /* HelpersDispatchTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelpersDispatchTable.h; sourceTree = SOURCE_ROOT; };
-		A9E264761B671B0A00FE691A /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib/libc++.dylib"; sourceTree = DEVELOPER_DIR; };
-		A9F4FB451CF68822003FA0C3 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
-		A9F4FB471CF6882E003FA0C3 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libc++.tbd"; sourceTree = DEVELOPER_DIR; };
-		A9F4FB491CF688A5003FA0C3 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../../Package/Latest/MoltenVK/iOS/MoltenVK.framework; sourceTree = "<group>"; };
-		A9F4FB4B1CF688B5003FA0C3 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../../Package/Latest/MoltenVK/macOS/MoltenVK.framework; sourceTree = "<group>"; };
-		A9F4FB4E1CF68C79003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../../Package/Latest/MoltenShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
-		A9F4FB501CF68C83003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../../Package/Latest/MoltenShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
-		BA240AC10FEFE77A00DE852D /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -127,9 +100,8 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9F4FB4A1CF688A5003FA0C3 /* MoltenVK.framework in Frameworks */,
-				A9F4FB4F1CF68C79003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
-				A9F4FB481CF6882E003FA0C3 /* libc++.tbd in Frameworks */,
+				A9C2AB99218503A400DDBC03 /* libMoltenVK.a in Frameworks */,
+				A9C2AB9A218503A400DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -137,9 +109,8 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9F4FB4C1CF688B5003FA0C3 /* MoltenVK.framework in Frameworks */,
-				A9F4FB511CF68C83003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
-				A9F4FB461CF68822003FA0C3 /* libc++.tbd in Frameworks */,
+				A9C2AB9E218503BA00DDBC03 /* libMoltenVK.a in Frameworks */,
+				A9C2AB9D218503BA00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -161,34 +132,12 @@
 				A99789681CD3D4E2005E7DAC /* Hologram */,
 				A9B67B6A1C3AAE9800373FFD /* iOS */,
 				A9B67B811C3AAEA200373FFD /* macOS */,
-				29B97323FDCFA39411CA2CEA /* Frameworks */,
 				19C28FACFE9D520D11CA2CBB /* Products */,
+				A9C2AB96218503A400DDBC03 /* Frameworks */,
 			);
 			name = CustomTemplate;
 			sourceTree = "<group>";
 		};
-		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
-			isa = PBXGroup;
-			children = (
-				A9096E521F7EF13000DFBEA6 /* IOSurface.framework */,
-				A9F4FB501CF68C83003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A9F4FB4E1CF68C79003FA0C3 /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A9F4FB4B1CF688B5003FA0C3 /* MoltenVK.framework */,
-				A9F4FB491CF688A5003FA0C3 /* MoltenVK.framework */,
-				A9F4FB471CF6882E003FA0C3 /* libc++.tbd */,
-				A9F4FB451CF68822003FA0C3 /* libc++.tbd */,
-				A99789E21CD4187A005E7DAC /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A99789E01CD4186E005E7DAC /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A9BF67C21C582EC900B8CF77 /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A90941BB1C582DF40094110D /* MoltenVKGLSLToSPIRVConverter.framework */,
-				A9B6B7641C0F795D00A9E33A /* CoreAudio.framework */,
-				A9B6B75F1C0F795000A9E33A /* CoreAudio.framework */,
-				A9ADEC601B6EC2EB00DBA48C /* iOS */,
-				A9ADEC611B6EC2F300DBA48C /* macOS */,
-			);
-			name = Frameworks;
-			sourceTree = "<group>";
-		};
 		A99789681CD3D4E2005E7DAC /* Hologram */ = {
 			isa = PBXGroup;
 			children = (
@@ -217,36 +166,6 @@
 			path = "../VulkanSamples/Sample-Programs/Hologram";
 			sourceTree = "<group>";
 		};
-		A9ADEC601B6EC2EB00DBA48C /* iOS */ = {
-			isa = PBXGroup;
-			children = (
-				A9A222171B5D69F40050A5F9 /* Metal.framework */,
-				BA240AC10FEFE77A00DE852D /* OpenGLES.framework */,
-				1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */,
-				2D500B990D5A79CF00DBA0E3 /* QuartzCore.framework */,
-				1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
-				1D30AB110D05D00D00671497 /* Foundation.framework */,
-				A9CDEA271B6A782C00F7B008 /* GLKit.framework */,
-				A900B1A21B5EAA1C00150D60 /* libc++.dylib */,
-			);
-			name = iOS;
-			sourceTree = "<group>";
-		};
-		A9ADEC611B6EC2F300DBA48C /* macOS */ = {
-			isa = PBXGroup;
-			children = (
-				A94A67231B7BDE9B00F6D7C4 /* MetalGL.framework */,
-				A94A67241B7BDE9B00F6D7C4 /* MetalGLShaderConverter.framework */,
-				A9E264761B671B0A00FE691A /* libc++.dylib */,
-				A977BD251B67186B0067E5BF /* Metal.framework */,
-				A977BD261B67186B0067E5BF /* QuartzCore.framework */,
-				A977BD211B67186B0067E5BF /* AppKit.framework */,
-				A977BD221B67186B0067E5BF /* CoreGraphics.framework */,
-				A977BD231B67186B0067E5BF /* Foundation.framework */,
-			);
-			name = macOS;
-			sourceTree = "<group>";
-		};
 		A9B67B6A1C3AAE9800373FFD /* iOS */ = {
 			isa = PBXGroup;
 			children = (
@@ -297,6 +216,17 @@
 			path = Resources;
 			sourceTree = "<group>";
 		};
+		A9C2AB96218503A400DDBC03 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */,
+				A9C2AB9B218503BA00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */,
+				A9C2AB97218503A400DDBC03 /* libMoltenVK.a */,
+				A9C2AB98218503A400DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
 		A9D516F51CD575B000097D96 /* Generated */ = {
 			isa = PBXGroup;
 			children = (
@@ -462,7 +392,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "../VulkanSamples/Sample-Programs/Hologram/generate-dispatch-table HelpersDispatchTable.cpp";
+			shellScript = "../VulkanSamples/Sample-Programs/Hologram/generate-dispatch-table HelpersDispatchTable.cpp\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
@@ -509,14 +439,12 @@
 			buildSettings = {
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				DEVELOPMENT_TEAM = "";
-				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/iOS\"",
-					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\"",
-				);
+				FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\"";
 				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
 				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
 				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
 				VALID_ARCHS = arm64;
@@ -528,14 +456,12 @@
 			buildSettings = {
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				DEVELOPMENT_TEAM = "";
-				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/iOS\"",
-					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\"",
-				);
+				FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS\"";
 				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
 				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
 				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
 				VALID_ARCHS = arm64;
@@ -547,13 +473,11 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				COMBINE_HIDPI_IMAGES = YES;
-				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/macOS\"",
-					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\"",
-				);
+				FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\"";
 				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
 				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
 				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/static\"";
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				SDKROOT = macosx;
 			};
@@ -564,13 +488,11 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				COMBINE_HIDPI_IMAGES = YES;
-				FRAMEWORK_SEARCH_PATHS = (
-					"\"$(SRCROOT)/../../../MoltenVK/macOS\"",
-					"\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\"",
-				);
+				FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS\"";
 				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
 				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
 				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
+				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/static\"";
 				MACOSX_DEPLOYMENT_TARGET = 10.11;
 				SDKROOT = macosx;
 			};
diff --git a/Demos/README.md b/Demos/README.md
index fff3f5e..a41724a 100644
--- a/Demos/README.md
+++ b/Demos/README.md
@@ -55,9 +55,9 @@
 This demo includes a sizable window, and represents an example of how to detect, within your
 *Vulkan* code, when a window has been resized, and to modify the *Vulkan* swapchain accordingly.
 
-This demo is a simple example of installing **MoltenVK** as a dynamic library, instead of as
-a statically-linked framework. In this demo, the **MoltenVK** dynamic library is embedded in 
-the application, but it could have been installed as a system library instead.
+The `Cube` demo is a simple example of installing **MoltenVK** as a *dynamic library*. In this demo, 
+the **MoltenVK** *dynamic library* is embedded in the application, but it could have been installed 
+as a system library instead.
 
 
 
@@ -85,6 +85,8 @@
 To see descriptions and screenshots of each of the demos, open 
 [this summary document](LunarG-VulkanSamples/VulkanSamples/samples_index.html#AdditionalVulkan).
 
+The `API-Samples` demo is a simple example of installing **MoltenVK** as a *static framework*.
+
 
 <a name="lunarg-vulkan-samples-hologram"></a>
 ### *Hologram*
@@ -113,6 +115,8 @@
 functions in the `Hologram/Hologram.cpp` file. To see the effect, modify the `Hologram-iOS` or 
 `Hologram-macOS` *Scheme* from within *Xcode* to use the **Debug** *Build Configuration* setting.
 
+The `Hologram` demo is a simple example of installing **MoltenVK** as a *static library*.
+
 
 
 <a name="sascha-willems-vulkan-samples"></a>
diff --git a/Docs/MoltenVK_Runtime_UserGuide.md b/Docs/MoltenVK_Runtime_UserGuide.md
index d277828..7466812 100644
--- a/Docs/MoltenVK_Runtime_UserGuide.md
+++ b/Docs/MoltenVK_Runtime_UserGuide.md
@@ -21,8 +21,7 @@
 - [About **MoltenVK**](#about_moltenvk)
 - [Installing **MoltenVK** in Your *Vulkan* Application](#install)
 	- [Build and Runtime Requirements](#requirements)
-	- [Install as Static Library Framework](#install_static_lib)
-	- [Install as Dynamic Library](#install_dynamic_lib)
+	- [Install as Static Framework, Static Library, or Dynamic Library](#install_lib)
 - [Interacting with the **MoltenVK** Runtime](#interaction)
 	- [MoltenVK Extension](#moltenvk_extension)
 - [*Metal Shading Language* Shaders](#shaders)
@@ -93,50 +92,94 @@
   [this article](https://developer.apple.com/library/content/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/HardwareGPUInformation/HardwareGPUInformation.html).
 
 
-<a name="install_static_lib"></a>
-### Install as Static Library Framework
+<a name="install_lib"></a>
+### Install as Static Framework, Static Library, or Dynamic Library
 
 Installation of **MoltenVK** is straightforward and easy!
 
-For most applications, you can install **MoltenVK** as a *static library framework* that will be 
-embedded directly in your application executable, or a component library within your application.
-This is simple and straightforward, and is the recommended installation approach for all applications.
-
-To add **MoltenVK** as a *static library framework* to your existing *Vulkan* application, 
-follow the steps in this section. If you're new to **MoltenVK**, it is recommended that you 
-start with a smaller project to help you understand the transition, and to reduce the possibility
-of needing to make modifications to your [shaders](#shaders) to  ensure their compatibility with 
-the *Metal* environment. 
+Depending on your build and deployment needs, you can install **MoltenVK** as a *static framework*,
+*static library*, or *dynamic library*, by following the steps in this section. If you are unsure 
+about which linking and deployment option you need, follow the steps for installing a 
+*static framework*, as it is the simplest to install.
 
 1. Open your application in *Xcode* and select your application's target in the 
    *Project Navigator* panel.
 
-2. Open the *Build Settings* tab, and in the **Framework Search Paths** (aka `FRAMEWORK_SEARCH_PATHS`)
-   setting:
-    - If building for *iOS*, add an entry that points to the `MoltenVK/iOS` folder, 
-      found in the **MoltenVK** distribution package.
-    - If building for *macOS*, add an entry that points to the `MoltenVK/macOS` folder, 
-      found in the **MoltenVK** distribution package.
 
-3. If using `IOSurfaces` on *iOS*, in the *Build Settings* tab, open the **iOS Deployment Target** 
+2. Open the *Build Settings* tab.
+
+	- If installing **MoltenVK** as a *static framework* in your application:
+	    1. In the **Framework Search Paths** (aka `FRAMEWORK_SEARCH_PATHS`) 
+	       setting, add an entry that points to **_one_** of the following folders:
+	          - `MoltenVK/macOS/framework` *(macOS)*
+	          - `MoltenVK/iOS/framework` *(iOS)*
+
+	- If installing **MoltenVK** as a *static library* in your application:
+	    1. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting, 
+	       add an entry that points to **_one_** of the following folders:
+	          - `MoltenVK/macOS/static` *(macOS)*
+	          - `MoltenVK/iOS/static` *(iOS)*
+        2. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting, 
+           add an entry that points to the `MoltenVK/include` folder.
+
+	- If installing **MoltenVK** as a *dynamic library* in your application:
+	    1. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting, 
+	       add an entry that points to **_one_** of the following folders:
+	          - `MoltenVK/macOS/dynamic` *(macOS)*
+	          - `MoltenVK/iOS/dynamic` *(iOS)*
+        2. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting, 
+           add an entry that points to the `MoltenVK/include` folder.
+        3. In the **Runpath Search Paths** (aka `LD_RUNPATH_SEARCH_PATHS`) setting, 
+           add an entry that matches where the dynamic library will be located in your runtime
+           environment. If the dynamic library is to be embedded within your application, 
+           you would typically set this value to either `@executable_path` or `@loader_path`. 
+           The `libMoltenVK.dylib` library is internally configured to be located at 
+           `@rpath/libMoltenVK.dylib`.
+
+3. With the *Build Settings* tab open, if using `IOSurfaces` on *iOS*, open the **iOS Deployment Target** 
    (aka `IPHONEOS_DEPLOYMENT_TARGET`) setting, and ensure it is set to a value of `iOS 11.0` or greater.
 
 4. On the *Build Phases* tab, open the *Link Binary With Libraries* list.
+   
+   - For *macOS*, drag **_one_** of the following files to the *Link Binary With Libraries* list:
+      - `MoltenVK/macOS/framework/MoltenVK.framework ` *(static framework)* 
+      - `MoltenVK/macOS/static/libMoltenVK.a` *(static library)* 
+      - `MoltenVK/macOS/dynamic/libMoltenVK.dylib` *(dynamic library)* 
 
-   1. Drag the `MoltenVK/iOS/MoltenVK.framework` or `MoltenVK/macOS/MoltenVK.framework` folder, 
-      found  in the **MoltenVK** distribution package, to the *Link Binary With Libraries* list.
-   2. Click the **+** button, and (selecting from the list of system libraries) add `libc++.tbd`. 
-   3. If you do not have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and
-      **Enable Modules (C and Objective-C** (aka `CLANG_ENABLE_MODULES`) settings enabled, click the 
-      **+** button, and (selecting from the list of system frameworks) add the following frameworks:
-		- `Metal.framework`
-		- `Foundation.framework`.
-		- `QuartzCore.framework`
-		- `IOKit.framework` (*macOS*)
-		- `UIKit.framework` (*iOS*)
-		- `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`)
+   - For *iOS*, drag **_one_** of the following files to the *Link Binary With Libraries* list:
+      - `MoltenVK/iOS/framework/MoltenVK.framework ` *(static framework)* 
+      - `MoltenVK/iOS/static/libMoltenVK.a` *(static library)* 
+      - `MoltenVK/iOS/dynamic/libMoltenVK.dylib` *(dynamic library)* 
 
-5. When a *Metal* app is running from *Xcode*, the default ***Scheme*** settings reduce
+5. While in the *Link Binary With Libraries* list on the *Build Phases* tab, if you do **_not_** 
+   have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and 
+   **Enable Modules (C and Objective-C)** (aka `CLANG_ENABLE_MODULES`) settings enabled, click
+   the **+** button, and (selecting from the list of system frameworks) add the following items:
+   - `libc++.tbd`
+   - `Metal.framework`
+   - `Foundation.framework`.
+   - `QuartzCore.framework`
+   - `IOKit.framework` (*macOS*)
+   - `UIKit.framework` (*iOS*)
+   - `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`)
+
+
+6. If installing **MoltenVK** as a *dynamic library* in your application, arrange to install 
+   the `libMoltenVK.dylib` file in your application environment:
+
+   - To copy the `libMoltenVK.dylib` file into your application or component library:
+        1. On the *Build Phases* tab, add a new *Copy Files* build phase.
+        2. Set the *Destination* into which you want to place  the `libMoltenVK.dylib` file.
+           Typically this will be *Executables*.
+        3. Drag **_one_** of the following files to the *Copy Files* list in this new build phase:
+	          - `MoltenVK/macOS/dynamic/libMoltenVK.dylib` *(macOS)*
+	          - `MoltenVK/iOS/dynamic/libMoltenVK.dylib` *(iOS)*
+   
+   - Alternately, you may create your own installation mechanism to install either the 
+     `MoltenVK/macOS/dynamic/libMoltenVK.dylib` or `MoltenVK/iOS/dynamic/libMoltenVK.dylib` 
+     file into a standard *macOS* or *iOS* system library folder on the user's device.
+
+7. When a *Metal* app is running from *Xcode*, the default ***Scheme*** settings reduce
    performance. To improve performance and gain the benefits of *Metal*, perform the 
    following in *Xcode*:
    
@@ -152,70 +195,12 @@
 	   section of Apple's *Metal Programming Guide* documentation.
 
 
+The demo apps, found in the `Demos.xcworkspace`, located in the `Demos` folder, demonstrate each
+of the installation techniques discussed above:
 
-<a name="install_dynamic_lib"></a>
-### Install as Dynamic Library
-
-For some applications, you may prefer to install **MoltenVK** as a dynamic library.
-This is only recommended for developers who are used to working with dynamic libraries,
-and even then, the preferred approach is to link the **MoltenVK** 
-[*static library framework*](#install_static_lib) into a dynamic library of your own 
-creation, in order to give you the most flexibility for organizing your dynamic libraries.
-
-In order to install **MoltenVK** as its own dynamic library in your application, 
-follow these instructions:
-
-1. Open your application in *Xcode* and select your application's target in the 
-   *Project Navigator* panel.
-
-2. On the *Build Settings* tab:
-     1. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting, add an entry 
-        that points to the `MoltenVK/include` folder, found in the **MoltenVK** distribution package.
-     2. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting, add an entry 
-        that points to either the `MoltenVK/iOS` or `MoltenVK/macOS` folder, found in the
-        **MoltenVK** distribution package.
-     3. In the **Runpath Search Paths** (aka `LD_RUNPATH_SEARCH_PATHS`) setting, add a path 
-        that matches the library destination you established in **Step 2** above. If the dynamic 
-        library is to be embedded within your application, you would typically set this value to 
-        either `@executable_path` or `@loader_path`. The `libMoltenVK.dylib` library is internally 
-        configured to be located at `@rpath/libMoltenVK.dylib`.
-
-3. If using `IOSurfaces` on *iOS*, in the *Build Settings* tab, open the **iOS Deployment Target** 
-   (aka `IPHONEOS_DEPLOYMENT_TARGET`) setting, and ensure it is set to a value of `iOS 11.0` or greater.
-
-4. On the *Build Phases* tab, open the *Link Binary With Libraries* list.
-
-   1. Drag the `MoltenVK/iOS/libMoltenVK.dylib` or `MoltenVK/macOS/libMoltenVK.dylib` file, 
-      found  in the **MoltenVK** distribution package, to the *Link Binary With Libraries* list.
-   2. Click the **+** button, and (selecting from the list of system libraries) add `libc++.tbd`. 
-   3. If you do not have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and
-      **Enable Modules (C and Objective-C** (aka `CLANG_ENABLE_MODULES`) settings enabled, click the 
-      **+** button, and (selecting from the list of system frameworks) add the following frameworks:
-		- `Metal.framework`
-		- `Foundation.framework`.
-		- `QuartzCore.framework`
-		- `IOKit.framework` (*macOS*)
-		- `UIKit.framework` (*iOS*)
-		- `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`)
-
-5. Arrange to install the `libMoltenVK.dylib` file in your application environment:
-
-   - To copy the `libMoltenVK.dylib` file into your application or component library:
-        1. On the *Build Phases* tab, add a new *Copy Files* build phase.
-        2. Set the *Destination* into which you want to place  the `libMoltenVK.dylib` file.
-           Typically this will be *Executables*.
-        3. Drag the `MoltenVK/iOS/libMoltenVK.dylib` or `MoltenVK/macOS/libMoltenVK.dylib` 
-           file to the *Copy Files* list in this new build phase.
-   
-   - Alternately, you may create your own installation mechanism to install the 
-     `MoltenVK/iOS/libMoltenVK.dylib` or `MoltenVK/macOS/libMoltenVK.dylib` file 
-     into a standard *iOS* or *macOS* system library folder on the user's device.
-
-
-The `Cube-iOS` and `Cube-macOS` **MoltenVK** demo apps, found in the `Demos.xcworkspace`,
-located in the `Demos` folder within the **MoltenVK** distribution package, are simple 
-examples of installing *MoltenVK* as a dynamic library embedded within an *iOS* or *macOS* 
-application, respectively.
+- Static Framework: `API-Samples`.
+- Static library: `Hologram`.
+- Dynamic library: `Cube`.
 
 
 
@@ -500,7 +485,3 @@
 - Pipeline statistics query pool:
 	- `vkCreateQueryPool(VK_QUERY_TYPE_PIPELINE_STATISTICS)`
 
-- `VkImageViewCreateInfo::VkComponentMapping` supports only the following per-texture swizzles:
-	- `VK_FORMAT_R8_UNORM`: `VkComponentMapping.r` = `VK_COMPONENT_SWIZZLE_R`
-	- `VK_FORMAT_R8G8B8A8_UNORM` <->	`VK_FORMAT_B8G8R8A8_UNORM`
-	- `VK_FORMAT_R8G8B8A8_SRGB` <->	`VK_FORMAT_B8G8R8A8_SRGB`
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index fcf62e7..02af572 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -15,8 +15,15 @@
 MoltenVK 1.0.25
 ---------------
 
-Released TBD
+Released 2018/10/31
 
+- Refactor the build environment.
+	- Support creation of static library and build framework and dynamic library from it.
+	- Add Makefile to better support command line or script building integration.
+	- Update demos to each use one of framework, static library, and dynamic library.
+	- Refactor and rename the build scripts.
+	- Refactor and rename the Xcode Schemes.
+	- Update build and runtime documentation.
 - Update shader caching for compatibility with texture swizzling.
 - Support polygonMode VK_POLYGON_MODE_POINT.
 - vkCreateInstance returns VK_ERROR_INCOMPATIBLE_DRIVER if Metal not available.
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..a0868e4
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,19 @@
+XCODE_PROJ := MoltenVKPackaging.xcodeproj
+
+.PHONY: all
+all:
+	xcodebuild -quiet -project $(XCODE_PROJ) -scheme "MoltenVK Package" build
+
+.PHONY: macos
+macos:
+	xcodebuild -quiet -project $(XCODE_PROJ) -scheme "MoltenVK Package (macOS only)" build
+
+.PHONY: ios
+ios:
+	xcodebuild -quiet -project $(XCODE_PROJ) -scheme "MoltenVK Package (iOS only)" build
+
+.PHONY: clean
+clean:
+	xcodebuild -project $(XCODE_PROJ) -scheme "MoltenVK Package" clean
+	rm -rf Package
+
diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
index 96c1014..474310a 100644
--- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
@@ -23,12 +23,12 @@
 		A93E83302121C5D4001FEBD4 /* MVKGPUCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E832E2121C5D3001FEBD4 /* MVKGPUCapture.h */; };
 		A93E83352121F0C8001FEBD4 /* MVKGPUCapture.mm in Sources */ = {isa = PBXBuildFile; fileRef = A93E83342121F0C8001FEBD4 /* MVKGPUCapture.mm */; };
 		A93E83362121F0C8001FEBD4 /* MVKGPUCapture.mm in Sources */ = {isa = PBXBuildFile; fileRef = A93E83342121F0C8001FEBD4 /* MVKGPUCapture.mm */; };
-		A948BB7F1E51642700DE59F2 /* mvk_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */; settings = {ATTRIBUTES = (Public, ); }; };
-		A948BB801E51642700DE59F2 /* mvk_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */; settings = {ATTRIBUTES = (Public, ); }; };
-		A94FB7B01C7DFB4800632CA3 /* mvk_datatypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7671C7DFB4800632CA3 /* mvk_datatypes.h */; settings = {ATTRIBUTES = (Public, ); }; };
-		A94FB7B11C7DFB4800632CA3 /* mvk_datatypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7671C7DFB4800632CA3 /* mvk_datatypes.h */; settings = {ATTRIBUTES = (Public, ); }; };
-		A94FB7B41C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7691C7DFB4800632CA3 /* vk_mvk_moltenvk.h */; settings = {ATTRIBUTES = (Public, ); }; };
-		A94FB7B51C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7691C7DFB4800632CA3 /* vk_mvk_moltenvk.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		A948BB7F1E51642700DE59F2 /* mvk_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */; };
+		A948BB801E51642700DE59F2 /* mvk_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */; };
+		A94FB7B01C7DFB4800632CA3 /* mvk_datatypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7671C7DFB4800632CA3 /* mvk_datatypes.h */; };
+		A94FB7B11C7DFB4800632CA3 /* mvk_datatypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7671C7DFB4800632CA3 /* mvk_datatypes.h */; };
+		A94FB7B41C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7691C7DFB4800632CA3 /* vk_mvk_moltenvk.h */; };
+		A94FB7B51C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7691C7DFB4800632CA3 /* vk_mvk_moltenvk.h */; };
 		A94FB7B81C7DFB4800632CA3 /* MVKCmdTransfer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB76C1C7DFB4800632CA3 /* MVKCmdTransfer.h */; };
 		A94FB7B91C7DFB4800632CA3 /* MVKCmdTransfer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB76C1C7DFB4800632CA3 /* MVKCmdTransfer.h */; };
 		A94FB7BA1C7DFB4800632CA3 /* MVKCmdTransfer.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB76D1C7DFB4800632CA3 /* MVKCmdTransfer.mm */; };
@@ -342,11 +342,11 @@
 		A981494C1FB6A3F7005F00B4 /* MVKWatermarkTextureContent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKWatermarkTextureContent.h; sourceTree = "<group>"; };
 		A981496A1FB6A998005F00B4 /* MVKStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKStrings.h; sourceTree = "<group>"; };
 		A9AD67C72054DD6C00ED3C08 /* vulkan */ = {isa = PBXFileReference; lastKnownFileType = folder; path = vulkan; sourceTree = "<group>"; };
-		A9B8EE0A1A98D796009C5A02 /* MoltenVK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MoltenVK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		A9B8EE0A1A98D796009C5A02 /* libMoltenVK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVK.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVKShaderConverter.xcodeproj; path = ../MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj; sourceTree = "<group>"; };
 		A9C96DCE1DDC20C20053187F /* MVKMTLBufferAllocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKMTLBufferAllocation.h; sourceTree = "<group>"; };
 		A9C96DCF1DDC20C20053187F /* MVKMTLBufferAllocation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MVKMTLBufferAllocation.mm; sourceTree = "<group>"; };
-		A9CBEE011B6299D800E45FDC /* MoltenVK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MoltenVK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		A9CBEE011B6299D800E45FDC /* libMoltenVK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVK.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		A9DE1083200598C500F18F80 /* icd */ = {isa = PBXFileReference; lastKnownFileType = folder; path = icd; sourceTree = "<group>"; };
 		A9E4B7881E1D8AF10046A4CE /* MVKMTLResourceBindings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKMTLResourceBindings.h; sourceTree = "<group>"; };
 		A9E53DCD2100B197002781DD /* MTLSamplerDescriptor+MoltenVK.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MTLSamplerDescriptor+MoltenVK.m"; sourceTree = "<group>"; };
@@ -574,8 +574,8 @@
 		A9F55D2E198BE6A7004EC31B /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				A9B8EE0A1A98D796009C5A02 /* MoltenVK.framework */,
-				A9CBEE011B6299D800E45FDC /* MoltenVK.framework */,
+				A9B8EE0A1A98D796009C5A02 /* libMoltenVK.a */,
+				A9CBEE011B6299D800E45FDC /* libMoltenVK.a */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -587,11 +587,11 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A94FB7B41C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */,
 				A909F65F213B190700FCD6BE /* MVKExtensions.h in Headers */,
+				A94FB7B41C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */,
 				A94FB7B01C7DFB4800632CA3 /* mvk_datatypes.h in Headers */,
-				A98149511FB6A3F7005F00B4 /* MVKEnvironment.h in Headers */,
 				A948BB7F1E51642700DE59F2 /* mvk_vulkan.h in Headers */,
+				A98149511FB6A3F7005F00B4 /* MVKEnvironment.h in Headers */,
 				A94FB8101C7DFB4800632CA3 /* MVKSurface.h in Headers */,
 				A9E53E0121064F84002781DD /* MTLRenderPipelineDescriptor+MoltenVK.h in Headers */,
 				A94FB7F41C7DFB4800632CA3 /* MVKInstance.h in Headers */,
@@ -648,11 +648,11 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A94FB7B51C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */,
 				A909F660213B190700FCD6BE /* MVKExtensions.h in Headers */,
+				A94FB7B51C7DFB4800632CA3 /* vk_mvk_moltenvk.h in Headers */,
 				A94FB7B11C7DFB4800632CA3 /* mvk_datatypes.h in Headers */,
-				A98149521FB6A3F7005F00B4 /* MVKEnvironment.h in Headers */,
 				A948BB801E51642700DE59F2 /* mvk_vulkan.h in Headers */,
+				A98149521FB6A3F7005F00B4 /* MVKEnvironment.h in Headers */,
 				A94FB8111C7DFB4800632CA3 /* MVKSurface.h in Headers */,
 				A9E53E0221064F84002781DD /* MTLRenderPipelineDescriptor+MoltenVK.h in Headers */,
 				A94FB7F51C7DFB4800632CA3 /* MVKInstance.h in Headers */,
@@ -715,6 +715,7 @@
 				A9B8EE071A98D796009C5A02 /* Headers */,
 				A9B8EE051A98D796009C5A02 /* Sources */,
 				A9731FAD1EDDAE39006B7298 /* Create Dynamic Library */,
+				A92EF79721854B3300C8B91B /* Create  Framework */,
 			);
 			buildRules = (
 			);
@@ -722,9 +723,9 @@
 				A981499B1FB6B9CF005F00B4 /* PBXTargetDependency */,
 			);
 			name = "MoltenVK-iOS";
-			productName = MetalGL;
-			productReference = A9B8EE0A1A98D796009C5A02 /* MoltenVK.framework */;
-			productType = "com.apple.product-type.framework";
+			productName = MoltenVK;
+			productReference = A9B8EE0A1A98D796009C5A02 /* libMoltenVK.a */;
+			productType = "com.apple.product-type.library.static";
 		};
 		A9CBED861B6299D800E45FDC /* MoltenVK-macOS */ = {
 			isa = PBXNativeTarget;
@@ -733,6 +734,7 @@
 				A9CBED871B6299D800E45FDC /* Headers */,
 				A9CBEDCE1B6299D800E45FDC /* Sources */,
 				A93F47C91D7E389E002AF700 /* Create Dynamic Library */,
+				A92EF78D21852B2400C8B91B /* Create Framework */,
 			);
 			buildRules = (
 			);
@@ -740,9 +742,9 @@
 				A98149A41FB6B9EB005F00B4 /* PBXTargetDependency */,
 			);
 			name = "MoltenVK-macOS";
-			productName = MetalGL;
-			productReference = A9CBEE011B6299D800E45FDC /* MoltenVK.framework */;
-			productType = "com.apple.product-type.framework";
+			productName = MoltenVK;
+			productReference = A9CBEE011B6299D800E45FDC /* libMoltenVK.a */;
+			productType = "com.apple.product-type.library.static";
 		};
 /* End PBXNativeTarget section */
 
@@ -825,6 +827,42 @@
 /* End PBXReferenceProxy section */
 
 /* Begin PBXShellScriptBuildPhase section */
+		A92EF78D21852B2400C8B91B /* Create Framework */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Create Framework";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "export MVK_OS=\"macOS\"\nexport MVK_FRWK_SUBPATH=\"/Versions/A\"\n\n\"${SRCROOT}/scripts/create_framework.sh\"\n";
+		};
+		A92EF79721854B3300C8B91B /* Create  Framework */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Create  Framework";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "export MVK_OS=\"iOS\"\nexport MVK_FRWK_SUBPATH=\"\"\n\n\"${SRCROOT}/scripts/create_framework.sh\"\n";
+		};
 		A93F47C91D7E389E002AF700 /* Create Dynamic Library */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -837,7 +875,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/scripts/create_dylib_macos.sh\"";
+			shellScript = "export MVK_OS=\"macosx\"\nexport MVK_ARCH=\"x86_64\"\nexport MVK_UX_FWK=\"AppKit\"\nexport MVK_MIN_OS_VERSION=${MACOSX_DEPLOYMENT_TARGET}\nexport MVK_IOSURFACE_FWK=\"-framework IOSurface\"\n\n\"${SRCROOT}/scripts/create_dylib.sh\"\n";
 		};
 		A9731FAD1EDDAE39006B7298 /* Create Dynamic Library */ = {
 			isa = PBXShellScriptBuildPhase;
@@ -851,7 +889,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "${SRCROOT}/scripts/create_dylib_ios.sh";
+			shellScript = "export MVK_OS=\"ios\"\nexport MVK_ARCH=\"arm64\"\nexport MVK_UX_FWK=\"UIKit\"\nexport MVK_MIN_OS_VERSION=${IPHONEOS_DEPLOYMENT_TARGET}\nexport MVK_IOSURFACE_FWK=\"-framework IOSurface\"\n\n# Do not link to IOSurface if deploying to iOS versions below 11.0, doing so will\n# link IOSurface as a private framework, which will trigger App Store rejection.\nif [ $(echo \"${MVK_MIN_OS_VERSION} < 11.0\" | bc) -eq 1 ]; then\n    MVK_IOSURFACE_FWK=\"\"\nfi\n\n\"${SRCROOT}/scripts/create_dylib.sh\"\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
diff --git a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme
index 86fc06d..678103b 100644
--- a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme
+++ b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme
@@ -15,7 +15,7 @@
             <BuildableReference
                BuildableIdentifier = "primary"
                BlueprintIdentifier = "A9B8EE091A98D796009C5A02"
-               BuildableName = "MoltenVK.framework"
+               BuildableName = "libMoltenVK.a"
                BlueprintName = "MoltenVK-iOS"
                ReferencedContainer = "container:MoltenVK.xcodeproj">
             </BuildableReference>
@@ -51,7 +51,7 @@
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "A9B8EE091A98D796009C5A02"
-            BuildableName = "MoltenVK.framework"
+            BuildableName = "libMoltenVK.a"
             BlueprintName = "MoltenVK-iOS"
             ReferencedContainer = "container:MoltenVK.xcodeproj">
          </BuildableReference>
@@ -69,7 +69,7 @@
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "A9B8EE091A98D796009C5A02"
-            BuildableName = "MoltenVK.framework"
+            BuildableName = "libMoltenVK.a"
             BlueprintName = "MoltenVK-iOS"
             ReferencedContainer = "container:MoltenVK.xcodeproj">
          </BuildableReference>
diff --git a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme
index 1155111..9c9303c 100644
--- a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme
+++ b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme
@@ -15,7 +15,7 @@
             <BuildableReference
                BuildableIdentifier = "primary"
                BlueprintIdentifier = "A9CBED861B6299D800E45FDC"
-               BuildableName = "MoltenVK.framework"
+               BuildableName = "libMoltenVK.a"
                BlueprintName = "MoltenVK-macOS"
                ReferencedContainer = "container:MoltenVK.xcodeproj">
             </BuildableReference>
@@ -51,7 +51,7 @@
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "A9CBED861B6299D800E45FDC"
-            BuildableName = "MoltenVK.framework"
+            BuildableName = "libMoltenVK.a"
             BlueprintName = "MoltenVK-macOS"
             ReferencedContainer = "container:MoltenVK.xcodeproj">
          </BuildableReference>
@@ -69,7 +69,7 @@
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "A9CBED861B6299D800E45FDC"
-            BuildableName = "MoltenVK.framework"
+            BuildableName = "libMoltenVK.a"
             BlueprintName = "MoltenVK-macOS"
             ReferencedContainer = "container:MoltenVK.xcodeproj">
          </BuildableReference>
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
index b92ee5b..3e3f246 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
@@ -75,7 +75,7 @@
 	const MVKShaderAuxBufferBinding& getAuxBufferIndex() { return _auxBufferIndex; }
 
 	/** Returns the number of textures in this layout. This is used to calculate the size of the auxiliary buffer. */
-	uint32_t getMaxTextureIndex() { return _pushConstantsMTLResourceIndexes.getMaxTextureIndex(); }
+	uint32_t getTextureCount() { return _pushConstantsMTLResourceIndexes.getMaxTextureIndex(); }
 
 	/** Constructs an instance for the specified device. */
 	MVKPipelineLayout(MVKDevice* device, const VkPipelineLayoutCreateInfo* pCreateInfo);
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
index 3d00f65..0c38b3b 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
@@ -306,7 +306,7 @@
     initMVKShaderConverterContext(shaderContext, pCreateInfo);
     auto* mvkLayout = (MVKPipelineLayout*)pCreateInfo->layout;
     _auxBufferIndex = mvkLayout->getAuxBufferIndex();
-    uint32_t auxBufferSize = sizeof(uint32_t) * mvkLayout->getMaxTextureIndex();
+    uint32_t auxBufferSize = sizeof(uint32_t) * mvkLayout->getTextureCount();
 
     // Retrieve the render subpass for which this pipeline is being constructed
     MVKRenderPass* mvkRendPass = (MVKRenderPass*)pCreateInfo->renderPass;
@@ -559,7 +559,7 @@
     MVKPipelineLayout* layout = (MVKPipelineLayout*)pCreateInfo->layout;
     layout->populateShaderConverterContext(shaderContext);
     _auxBufferIndex = layout->getAuxBufferIndex();
-    uint32_t auxBufferSize = sizeof(uint32_t) * layout->getMaxTextureIndex();
+    uint32_t auxBufferSize = sizeof(uint32_t) * layout->getTextureCount();
     shaderContext.options.auxBufferIndex = _auxBufferIndex.compute;
 
     MVKShaderModule* mvkShdrMod = (MVKShaderModule*)pSS->module;
diff --git a/MoltenVK/scripts/create_dylib.sh b/MoltenVK/scripts/create_dylib.sh
new file mode 100755
index 0000000..8dc0129
--- /dev/null
+++ b/MoltenVK/scripts/create_dylib.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+set -e
+
+export MVK_DYLIB_NAME="lib${PRODUCT_NAME}.dylib"
+export MVK_SYS_FWK_DIR="${SDK_DIR}/System/Library/Frameworks"
+export MVK_USR_LIB_DIR="${SDK_DIR}/usr/lib"
+
+if test x"${ENABLE_THREAD_SANITIZER}" = xYES; then
+	MVK_TSAN="-fsanitize=thread"
+fi
+
+clang \
+-dynamiclib ${MVK_TSAN} \
+-arch ${MVK_ARCH} \
+-m${MVK_OS}-version-min=${MVK_MIN_OS_VERSION} \
+-compatibility_version 1.0.0 -current_version 1.0.0  \
+-install_name "@rpath/${MVK_DYLIB_NAME}"  \
+-Wno-incompatible-sysroot \
+-isysroot ${SDK_DIR} \
+-iframework ${MVK_SYS_FWK_DIR}  \
+-framework Metal ${MVK_IOSURFACE_FWK} -framework ${MVK_UX_FWK} -framework QuartzCore -framework IOKit -framework Foundation \
+--library-directory ${MVK_USR_LIB_DIR} \
+-lSystem  -lc++ \
+-o "${BUILT_PRODUCTS_DIR}/${MVK_DYLIB_NAME}" \
+-force_load "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a"
diff --git a/MoltenVK/scripts/create_dylib_ios.sh b/MoltenVK/scripts/create_dylib_ios.sh
deleted file mode 100755
index f1c1fc7..0000000
--- a/MoltenVK/scripts/create_dylib_ios.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_PROD_NAME="MoltenVK"
-export MVK_DYLIB_NAME="lib${MVK_PROD_NAME}.dylib"
-export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}"
-export MVK_SYS_FWK_DIR="${SDK_DIR}/System/Library/Frameworks"
-export MVK_USR_LIB_DIR="${SDK_DIR}/usr/lib"
-
-# Do not link to IOSurface if deploying to iOS versions below 11.0, doing so will
-# link IOSurface as a private framework, which will trigger App Store rejection.
-if [ $(echo "${IPHONEOS_DEPLOYMENT_TARGET} >= 11.0" | bc) -eq 1 ]
-then
-    export MVK_IOSURFACE_FWK="-framework IOSurface"
-else
-    export MVK_IOSURFACE_FWK=""
-fi
-
-clang \
--dynamiclib \
--arch arm64 \
--mios-version-min=${IPHONEOS_DEPLOYMENT_TARGET}  \
--compatibility_version 1.0.0 -current_version 1.0.0  \
--install_name "@rpath/${MVK_DYLIB_NAME}"  \
--Wno-incompatible-sysroot \
--isysroot ${SDK_DIR} \
--iframework ${MVK_SYS_FWK_DIR}  \
--framework Metal ${MVK_IOSURFACE_FWK} -framework UIKit -framework QuartzCore -framework UIKit -framework Foundation \
---library-directory ${MVK_USR_LIB_DIR} \
--lSystem  -lc++ \
--o "${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}" \
--force_load "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/${MVK_PROD_NAME}"
diff --git a/MoltenVK/scripts/create_dylib_macos.sh b/MoltenVK/scripts/create_dylib_macos.sh
deleted file mode 100755
index 2cf63b0..0000000
--- a/MoltenVK/scripts/create_dylib_macos.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_PROD_NAME="MoltenVK"
-export MVK_DYLIB_NAME="lib${MVK_PROD_NAME}.dylib"
-export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}"
-export MVK_SYS_FWK_DIR="${SDK_DIR}/System/Library/Frameworks"
-export MVK_USR_LIB_DIR="${SDK_DIR}/usr/lib"
-
-if test x"${ENABLE_THREAD_SANITIZER}" = xYES; then
-	MVK_TSAN="-fsanitize=thread"
-fi
-
-clang \
--dynamiclib ${MVK_TSAN} \
--arch x86_64 \
--mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} \
--compatibility_version 1.0.0 -current_version 1.0.0  \
--install_name "@rpath/${MVK_DYLIB_NAME}"  \
--Wno-incompatible-sysroot \
--isysroot ${SDK_DIR} \
--iframework ${MVK_SYS_FWK_DIR}  \
--framework Metal -framework IOSurface -framework IOKit -framework QuartzCore -framework AppKit -framework Foundation \
---library-directory ${MVK_USR_LIB_DIR} \
--lSystem  -lc++ \
--o "${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}" \
--force_load "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/${MVK_PROD_NAME}"
diff --git a/MoltenVK/scripts/create_framework.sh b/MoltenVK/scripts/create_framework.sh
new file mode 100755
index 0000000..717a607
--- /dev/null
+++ b/MoltenVK/scripts/create_framework.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+set -e
+
+export MVK_TMPLT_PATH="${PROJECT_DIR}/templates/framework/${MVK_OS}"
+export MVK_BUILT_FRWK_PATH="${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework"
+export MVK_BUILT_FRWK_CONTENT_PATH="${MVK_BUILT_FRWK_PATH}${MVK_FRWK_SUBPATH}"
+
+rm -rf "${MVK_BUILT_FRWK_PATH}"
+cp -a  "${MVK_TMPLT_PATH}/${PRODUCT_NAME}.framework" "${BUILT_PRODUCTS_DIR}"
+cp -a  "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a" "${MVK_BUILT_FRWK_CONTENT_PATH}/${PRODUCT_NAME}"
+cp -a "${PROJECT_DIR}/include/${PRODUCT_NAME}/" "${MVK_BUILT_FRWK_CONTENT_PATH}/Headers"
+rm -f "${MVK_BUILT_FRWK_CONTENT_PATH}/Headers/README"	#Remove git empty directory placeholder file
diff --git a/MoltenVK/templates/framework/iOS/MoltenVK.framework/Headers/README b/MoltenVK/templates/framework/iOS/MoltenVK.framework/Headers/README
new file mode 100644
index 0000000..26382bc
--- /dev/null
+++ b/MoltenVK/templates/framework/iOS/MoltenVK.framework/Headers/README
@@ -0,0 +1 @@
+Placeholder for empty git directory.
\ No newline at end of file
diff --git a/MoltenVK/templates/framework/macOS/MoltenVK.framework/Headers b/MoltenVK/templates/framework/macOS/MoltenVK.framework/Headers
new file mode 120000
index 0000000..a177d2a
--- /dev/null
+++ b/MoltenVK/templates/framework/macOS/MoltenVK.framework/Headers
@@ -0,0 +1 @@
+Versions/Current/Headers
\ No newline at end of file
diff --git a/MoltenVK/templates/framework/macOS/MoltenVK.framework/MoltenVK b/MoltenVK/templates/framework/macOS/MoltenVK.framework/MoltenVK
new file mode 120000
index 0000000..97628cd
--- /dev/null
+++ b/MoltenVK/templates/framework/macOS/MoltenVK.framework/MoltenVK
@@ -0,0 +1 @@
+Versions/Current/MoltenVK
\ No newline at end of file
diff --git a/MoltenVK/templates/framework/macOS/MoltenVK.framework/Versions/A/Headers/README b/MoltenVK/templates/framework/macOS/MoltenVK.framework/Versions/A/Headers/README
new file mode 100644
index 0000000..26382bc
--- /dev/null
+++ b/MoltenVK/templates/framework/macOS/MoltenVK.framework/Versions/A/Headers/README
@@ -0,0 +1 @@
+Placeholder for empty git directory.
\ No newline at end of file
diff --git a/MoltenVK/templates/framework/macOS/MoltenVK.framework/Versions/Current b/MoltenVK/templates/framework/macOS/MoltenVK.framework/Versions/Current
new file mode 120000
index 0000000..8c7e5a6
--- /dev/null
+++ b/MoltenVK/templates/framework/macOS/MoltenVK.framework/Versions/Current
@@ -0,0 +1 @@
+A
\ No newline at end of file
diff --git a/MoltenVKPackaging.xcodeproj/project.pbxproj b/MoltenVKPackaging.xcodeproj/project.pbxproj
index 2929f50..65e8fd6 100644
--- a/MoltenVKPackaging.xcodeproj/project.pbxproj
+++ b/MoltenVKPackaging.xcodeproj/project.pbxproj
@@ -40,16 +40,10 @@
 			isa = PBXAggregateTarget;
 			buildConfigurationList = A9FEADDC1F3517480010240E /* Build configuration list for PBXAggregateTarget "MoltenVK" */;
 			buildPhases = (
-				A9FEADD61F3517480010240E /* Package MoltenVK */,
 			);
 			dependencies = (
-				A9FEADBD1F3517480010240E /* PBXTargetDependency */,
-				A9FEADBF1F3517480010240E /* PBXTargetDependency */,
-				A98149D11FB7689D005F00B4 /* PBXTargetDependency */,
-				A98149D31FB7689D005F00B4 /* PBXTargetDependency */,
-				A98149CD1FB7689D005F00B4 /* PBXTargetDependency */,
-				A98149CF1FB7689D005F00B4 /* PBXTargetDependency */,
-				A98149CB1FB7689D005F00B4 /* PBXTargetDependency */,
+				A9AFC2602184EEF60084B396 /* PBXTargetDependency */,
+				A9AFC2622184EEF60084B396 /* PBXTargetDependency */,
 			);
 			name = MoltenVK;
 			productName = Package;
@@ -155,53 +149,18 @@
 			remoteGlobalIDString = A93903C71C57E9ED00FE90DC;
 			remoteInfo = "MoltenVKSPIRVToMSLConverter-macOS";
 		};
-		A98149CA1FB7689D005F00B4 /* PBXContainerItemProxy */ = {
+		A9AFC25F2184EEF60084B396 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
+			containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
 			proxyType = 1;
-			remoteGlobalIDString = A9092A8C1A81717B00051823;
-			remoteInfo = MoltenVKShaderConverter;
-		};
-		A98149CC1FB7689D005F00B4 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = A937472B1A9A8B2900F29B34;
-			remoteInfo = "MoltenVKGLSLToSPIRVConverter-iOS";
-		};
-		A98149CE1FB7689D005F00B4 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = A93747701A9A98D000F29B34;
-			remoteInfo = "MoltenVKGLSLToSPIRVConverter-macOS";
-		};
-		A98149D01FB7689D005F00B4 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = A93903B81C57E9D700FE90DC;
-			remoteInfo = "MoltenVKSPIRVToMSLConverter-iOS";
-		};
-		A98149D21FB7689D005F00B4 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = A93903C01C57E9ED00FE90DC;
-			remoteInfo = "MoltenVKSPIRVToMSLConverter-macOS";
-		};
-		A9FEADBE1F3517480010240E /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = A9B8EE091A98D796009C5A02;
+			remoteGlobalIDString = A975D5782140585200D4834F;
 			remoteInfo = "MoltenVK-iOS";
 		};
-		A9FEADC01F3517480010240E /* PBXContainerItemProxy */ = {
+		A9AFC2612184EEF60084B396 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
-			containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
+			containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
 			proxyType = 1;
-			remoteGlobalIDString = A9CBED861B6299D800E45FDC;
+			remoteGlobalIDString = A975D58B2140586700D4834F;
 			remoteInfo = "MoltenVK-macOS";
 		};
 /* End PBXContainerItemProxy section */
@@ -212,21 +171,26 @@
 		A92DB3E61CE0F37D00FBC835 /* Whats_New.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = Whats_New.md; path = Docs/Whats_New.md; sourceTree = "<group>"; };
 		A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVK.xcodeproj; path = MoltenVK/MoltenVK.xcodeproj; sourceTree = "<group>"; };
 		A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MoltenVKShaderConverter.xcodeproj; path = MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj; sourceTree = "<group>"; };
+		A92EF7C521856EA200C8B91B /* package_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ios.sh; sourceTree = "<group>"; };
+		A92EF7C621856EA200C8B91B /* package_moltenvk.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_moltenvk.sh; sourceTree = "<group>"; };
+		A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_tool.sh; sourceTree = "<group>"; };
+		A92EF7C821856EA200C8B91B /* package_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_macos.sh; sourceTree = "<group>"; };
+		A92EF7C921856EA200C8B91B /* package_docs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_docs.sh; sourceTree = "<group>"; };
+		A92EF7CA21856EA200C8B91B /* package_update_latest.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_update_latest.sh; sourceTree = "<group>"; };
+		A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter.sh; sourceTree = "<group>"; };
+		A92EF7DE2186451700C8B91B /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; name = Makefile; path = ../Makefile; sourceTree = "<group>"; };
 		A943100220546CDD00F5CF87 /* fetchDependencies */ = {isa = PBXFileReference; lastKnownFileType = text; name = fetchDependencies; path = ../fetchDependencies; sourceTree = "<group>"; };
-		A975D55C213F25D700D4834F /* create_dylib_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = create_dylib_ios.sh; path = MoltenVK/scripts/create_dylib_ios.sh; sourceTree = SOURCE_ROOT; };
-		A975D55D213F266000D4834F /* create_dylib_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = create_dylib_macos.sh; path = MoltenVK/scripts/create_dylib_macos.sh; sourceTree = SOURCE_ROOT; };
-		A975D561213F299500D4834F /* update_latest.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = update_latest.sh; sourceTree = "<group>"; };
-		A975D562213F2B7700D4834F /* package_docs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_docs.sh; sourceTree = "<group>"; };
-		A975D566213F2DAA00D4834F /* package_shader_converter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter.sh; sourceTree = "<group>"; };
-		A975D573214050AB00D4834F /* package_moltenvk.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_moltenvk.sh; sourceTree = "<group>"; };
-		A975D5742140567B00D4834F /* package_all.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_all.sh; sourceTree = "<group>"; };
+		A975D55C213F25D700D4834F /* create_dylib.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = create_dylib.sh; path = ../MoltenVK/scripts/create_dylib.sh; sourceTree = "<group>"; };
 		A98149E51FB78829005F00B4 /* MoltenVK_Runtime_UserGuide.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = MoltenVK_Runtime_UserGuide.md; path = Docs/MoltenVK_Runtime_UserGuide.md; sourceTree = "<group>"; };
+		A99A760321852584000A8E2A /* create_framework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = create_framework.sh; path = ../MoltenVK/scripts/create_framework.sh; sourceTree = "<group>"; };
 		A9AD67D12054E2D700ED3C08 /* VulkanSamples_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = VulkanSamples_repo_revision; sourceTree = "<group>"; };
 		A9AD67D32054E2D700ED3C08 /* SPIRV-Cross_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = "SPIRV-Cross_repo_revision"; sourceTree = "<group>"; };
 		A9AD67E92055D8A600ED3C08 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
 		A9D3560A20BB3A2900BE295C /* glslang_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = glslang_repo_revision; sourceTree = "<group>"; };
 		A9D3560B20BB3A5600BE295C /* Vulkan-Headers_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = "Vulkan-Headers_repo_revision"; sourceTree = "<group>"; };
 		A9D3560C20BB3A7200BE295C /* Vulkan-Tools_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = "Vulkan-Tools_repo_revision"; sourceTree = "<group>"; };
+		A9DA8340218A198C002AA662 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .travis.yml; sourceTree = "<group>"; };
+		A9DA8341218A198C002AA662 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = "<group>"; };
 		A9EE46412065766C00193200 /* cereal_repo_revision */ = {isa = PBXFileReference; lastKnownFileType = text; path = cereal_repo_revision; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
@@ -236,9 +200,10 @@
 			children = (
 				A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */,
 				A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */,
+				A939A6FB1F5479D0006ACA0C /* External */,
 				A975D55B213F25AD00D4834F /* Scripts */,
 				A92DB3E11CE0F34500FBC835 /* Docs */,
-				A939A6FB1F5479D0006ACA0C /* External */,
+				A9DA833F218A193F002AA662 /* Git */,
 			);
 			sourceTree = "<group>";
 		};
@@ -256,8 +221,8 @@
 		A92DB3EF1CE0F72500FBC835 /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				A92DB3F51CE0F72500FBC835 /* MoltenVK.framework */,
-				A92DB3F71CE0F72500FBC835 /* MoltenVK.framework */,
+				A92DB3F51CE0F72500FBC835 /* libMoltenVK.a */,
+				A92DB3F71CE0F72500FBC835 /* libMoltenVK.a */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -281,13 +246,16 @@
 		A975D55B213F25AD00D4834F /* Scripts */ = {
 			isa = PBXGroup;
 			children = (
-				A975D55C213F25D700D4834F /* create_dylib_ios.sh */,
-				A975D55D213F266000D4834F /* create_dylib_macos.sh */,
-				A975D5742140567B00D4834F /* package_all.sh */,
-				A975D562213F2B7700D4834F /* package_docs.sh */,
-				A975D573214050AB00D4834F /* package_moltenvk.sh */,
-				A975D566213F2DAA00D4834F /* package_shader_converter.sh */,
-				A975D561213F299500D4834F /* update_latest.sh */,
+				A975D55C213F25D700D4834F /* create_dylib.sh */,
+				A99A760321852584000A8E2A /* create_framework.sh */,
+				A92EF7C921856EA200C8B91B /* package_docs.sh */,
+				A92EF7C521856EA200C8B91B /* package_ios.sh */,
+				A92EF7C821856EA200C8B91B /* package_macos.sh */,
+				A92EF7C621856EA200C8B91B /* package_moltenvk.sh */,
+				A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */,
+				A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */,
+				A92EF7CA21856EA200C8B91B /* package_update_latest.sh */,
+				A92EF7DE2186451700C8B91B /* Makefile */,
 			);
 			path = Scripts;
 			sourceTree = "<group>";
@@ -304,6 +272,15 @@
 			name = Products;
 			sourceTree = "<group>";
 		};
+		A9DA833F218A193F002AA662 /* Git */ = {
+			isa = PBXGroup;
+			children = (
+				A9DA8341218A198C002AA662 /* .gitignore */,
+				A9DA8340218A198C002AA662 /* .travis.yml */,
+			);
+			name = Git;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXProject section */
@@ -346,17 +323,17 @@
 /* End PBXProject section */
 
 /* Begin PBXReferenceProxy section */
-		A92DB3F51CE0F72500FBC835 /* MoltenVK.framework */ = {
+		A92DB3F51CE0F72500FBC835 /* libMoltenVK.a */ = {
 			isa = PBXReferenceProxy;
-			fileType = wrapper.framework;
-			path = MoltenVK.framework;
+			fileType = archive.ar;
+			path = libMoltenVK.a;
 			remoteRef = A92DB3F41CE0F72500FBC835 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		A92DB3F71CE0F72500FBC835 /* MoltenVK.framework */ = {
+		A92DB3F71CE0F72500FBC835 /* libMoltenVK.a */ = {
 			isa = PBXReferenceProxy;
-			fileType = wrapper.framework;
-			path = MoltenVK.framework;
+			fileType = archive.ar;
+			path = libMoltenVK.a;
 			remoteRef = A92DB3F61CE0F72500FBC835 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
@@ -410,7 +387,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Scripts/package_all.sh\"\n";
+			shellScript = "\"${SRCROOT}/Scripts/package_ios.sh\"\n";
 		};
 		A975D59A2140586700D4834F /* Package MoltenVK */ = {
 			isa = PBXShellScriptBuildPhase;
@@ -424,21 +401,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Scripts/package_all.sh\"";
-		};
-		A9FEADD61F3517480010240E /* Package MoltenVK */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "Package MoltenVK";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Scripts/package_all.sh\"\n";
+			shellScript = "\"${SRCROOT}/Scripts/package_macos.sh\"\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
@@ -478,40 +441,15 @@
 			name = MoltenVKShaderConverter;
 			targetProxy = A975D5992140586700D4834F /* PBXContainerItemProxy */;
 		};
-		A98149CB1FB7689D005F00B4 /* PBXTargetDependency */ = {
+		A9AFC2602184EEF60084B396 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			name = MoltenVKShaderConverter;
-			targetProxy = A98149CA1FB7689D005F00B4 /* PBXContainerItemProxy */;
+			target = A975D5782140585200D4834F /* MoltenVK-iOS */;
+			targetProxy = A9AFC25F2184EEF60084B396 /* PBXContainerItemProxy */;
 		};
-		A98149CD1FB7689D005F00B4 /* PBXTargetDependency */ = {
+		A9AFC2622184EEF60084B396 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			name = "MoltenVKGLSLToSPIRVConverter-iOS";
-			targetProxy = A98149CC1FB7689D005F00B4 /* PBXContainerItemProxy */;
-		};
-		A98149CF1FB7689D005F00B4 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = "MoltenVKGLSLToSPIRVConverter-macOS";
-			targetProxy = A98149CE1FB7689D005F00B4 /* PBXContainerItemProxy */;
-		};
-		A98149D11FB7689D005F00B4 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = "MoltenVKSPIRVToMSLConverter-iOS";
-			targetProxy = A98149D01FB7689D005F00B4 /* PBXContainerItemProxy */;
-		};
-		A98149D31FB7689D005F00B4 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = "MoltenVKSPIRVToMSLConverter-macOS";
-			targetProxy = A98149D21FB7689D005F00B4 /* PBXContainerItemProxy */;
-		};
-		A9FEADBD1F3517480010240E /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = "MoltenVK-iOS";
-			targetProxy = A9FEADBE1F3517480010240E /* PBXContainerItemProxy */;
-		};
-		A9FEADBF1F3517480010240E /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = "MoltenVK-macOS";
-			targetProxy = A9FEADC01F3517480010240E /* PBXContainerItemProxy */;
+			target = A975D58B2140586700D4834F /* MoltenVK-macOS */;
+			targetProxy = A9AFC2612184EEF60084B396 /* PBXContainerItemProxy */;
 		};
 /* End PBXTargetDependency section */
 
diff --git "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051 \050iOS only\051.xcscheme" "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051 \050iOS only\051.xcscheme"
deleted file mode 100644
index fe1548c..0000000
--- "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051 \050iOS only\051.xcscheme"
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "1000"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "A975D5782140585200D4834F"
-               BuildableName = "MoltenVK-iOS"
-               BlueprintName = "MoltenVK-iOS"
-               ReferencedContainer = "container:MoltenVKPackaging.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES">
-      <Testables>
-      </Testables>
-      <AdditionalOptions>
-      </AdditionalOptions>
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "NO"
-      debugServiceExtension = "internal"
-      enableGPUFrameCaptureMode = "1"
-      allowLocationSimulation = "NO">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A975D5782140585200D4834F"
-            BuildableName = "MoltenVK-iOS"
-            BlueprintName = "MoltenVK-iOS"
-            ReferencedContainer = "container:MoltenVKPackaging.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
-   </LaunchAction>
-   <ProfileAction
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A975D5782140585200D4834F"
-            BuildableName = "MoltenVK-iOS"
-            BlueprintName = "MoltenVK-iOS"
-            ReferencedContainer = "container:MoltenVKPackaging.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>
diff --git "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051 \050macOS only\051.xcscheme" "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051 \050macOS only\051.xcscheme"
deleted file mode 100644
index fb4c6a2..0000000
--- "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051 \050macOS only\051.xcscheme"
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "1000"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "A975D58B2140586700D4834F"
-               BuildableName = "MoltenVK-macOS"
-               BlueprintName = "MoltenVK-macOS"
-               ReferencedContainer = "container:MoltenVKPackaging.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES">
-      <Testables>
-      </Testables>
-      <AdditionalOptions>
-      </AdditionalOptions>
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "NO"
-      debugServiceExtension = "internal"
-      enableGPUFrameCaptureMode = "1"
-      allowLocationSimulation = "NO">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A975D58B2140586700D4834F"
-            BuildableName = "MoltenVK-macOS"
-            BlueprintName = "MoltenVK-macOS"
-            ReferencedContainer = "container:MoltenVKPackaging.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
-   </LaunchAction>
-   <ProfileAction
-      buildConfiguration = "Release"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "A975D58B2140586700D4834F"
-            BuildableName = "MoltenVK-macOS"
-            BlueprintName = "MoltenVK-macOS"
-            ReferencedContainer = "container:MoltenVKPackaging.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>
diff --git "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051.xcscheme" "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051.xcscheme"
index 6462029..5a51a8c 100644
--- "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051.xcscheme"
+++ "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051.xcscheme"
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
    LastUpgradeVersion = "1000"
-   version = "1.3">
+   version = "2.0">
    <BuildAction
       parallelizeBuildables = "YES"
       buildImplicitDependencies = "YES">
@@ -36,13 +36,17 @@
       buildConfiguration = "Debug"
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      disableMainThreadChecker = "YES"
       launchStyle = "0"
       useCustomWorkingDirectory = "NO"
       ignoresPersistentStateOnLaunch = "NO"
       debugDocumentVersioning = "NO"
+      debugXPCServices = "NO"
       debugServiceExtension = "internal"
-      enableGPUFrameCaptureMode = "1"
-      allowLocationSimulation = "NO">
+      enableGPUFrameCaptureMode = "3"
+      enableGPUValidationMode = "1"
+      allowLocationSimulation = "NO"
+      queueDebuggingEnabled = "No">
       <MacroExpansion>
          <BuildableReference
             BuildableIdentifier = "primary"
diff --git "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Release\051 \050iOS only\051.xcscheme" "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050iOS only\051.xcscheme"
similarity index 100%
rename from "MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Release\051 \050iOS only\051.xcscheme"
rename to "MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050iOS only\051.xcscheme"
diff --git "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Release\051 \050macOS only\051.xcscheme" "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050macOS only\051.xcscheme"
similarity index 100%
rename from "MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Release\051 \050macOS only\051.xcscheme"
rename to "MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050macOS only\051.xcscheme"
diff --git "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Release\051.xcscheme" b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package.xcscheme
similarity index 100%
rename from "MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Release\051.xcscheme"
rename to MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package.xcscheme
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-iOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-iOS.xcscheme
index e9ea96b..7ad6164 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-iOS.xcscheme
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-iOS.xcscheme
@@ -45,7 +45,7 @@
       debugServiceExtension = "internal"
       enableGPUFrameCaptureMode = "3"
       enableGPUValidationMode = "1"
-      allowLocationSimulation = "YES"
+      allowLocationSimulation = "NO"
       queueDebuggingEnabled = "No">
       <MacroExpansion>
          <BuildableReference
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-iOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-iOS.xcscheme
index feddd31..6eeffb4 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-iOS.xcscheme
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-iOS.xcscheme
@@ -45,7 +45,7 @@
       debugServiceExtension = "internal"
       enableGPUFrameCaptureMode = "3"
       enableGPUValidationMode = "1"
-      allowLocationSimulation = "YES"
+      allowLocationSimulation = "NO"
       queueDebuggingEnabled = "No">
       <MacroExpansion>
          <BuildableReference
diff --git a/README.md b/README.md
index a2ace1f..e90cb15 100644
--- a/README.md
+++ b/README.md
@@ -134,37 +134,51 @@
 
 To build a **MoltenVK** runtime distribution package, suitable for testing and integrating into an app, 
 open `MoltenVKPackaging.xcodeproj` in *Xcode*, and use one of the following *Xcode Schemes*, depending
-on whether you want a *Debug* or *Release* configuration, and whether you want to build for both the 
-*iOS* and *macOS* platforms, or just one platform:
+on whether you want a **_Release_** or **_Debug_** configuration, and whether you want to build for both
+the *iOS* and *macOS* platforms, or just one platform (in **_Release_** configuration):
 
+- **MoltenVK Package** 
 - **MoltenVK Package (Debug)** 
-- **MoltenVK Package (Debug) (iOS only)**
-- **MoltenVK Package (Debug) (macOS only)** 
-- **MoltenVK Package (Release)**
-- **MoltenVK Package (Release) (iOS only)**
-- **MoltenVK Package (Release) (macOS only)**
+- **MoltenVK Package (iOS only)**
+- **MoltenVK Package (macOS only)** 
 
 Each of these`MoltenVKPackaging.xcodeproj` *Xcode* project *Schemes* puts the resulting packages in the 
 `Package` directory, creating it if necessary. This directory contains separate `Release` and `Debug` 
-directories, holding the most recent **Release** and **Debug** builds, respectively.
+directories, holding the most recent **_Release_** and **_Debug_** builds, respectively.
 
-A separate `Latest` directory links to  the most recent build, regardless of whether it was a **Release** 
-or **Debug** build. Effectively, the `Package/Latest` directory points to whichever of the `Package/Release` 
+A separate `Latest` directory links to  the most recent build, regardless of whether it was a **_Release_** 
+or **_Debug_** build. Effectively, the `Package/Latest` directory points to whichever of the `Package/Release` 
 or `Package/Debug` directories was most recently updated.
 
 With this packaging structure, you can follow the [instructions below](#using) to link your application 
 to the **MoltenVK** frameworks in the `Package/Latest` directory, to provide the flexibility to test your 
-app with either a **Debug** build, or a higher-performance **Release** build.
+app with either a **_Debug_** build, or a higher-performance **_Release_** build.
 
 
 ### Building from the Command Line
 
 If you prefer to build **MoltenVK** from the command line, or to include the activity in a larger build script,
-you can do so using the following command within the `MoltenVK` repository, and identifying one of the 
-*Xcode Schemes* from the list above:
+you can do so using the following command within the `MoltenVK` repository folder, and identifying one of the 
+*Xcode Schemes* from the list above. For example, the following command will build **MoltenVK** in the 
+**_Release_** configuration for both *macOS* and *iOS*:
 
-	xcodebuild -project MoltenVKPackaging.xcodeproj -scheme "MoltenVK Package (Release)" build
+	xcodebuild -quiet -project MoltenVKPackaging.xcodeproj -scheme "MoltenVK Package" build
 
+Alternately, you can use the basic `Makefile` in the `MoltenVK` repository folder to build **MoltenVK** 
+in the **_Release_** configuration from the command line. The following `make` targets are provided:
+
+	make
+	make all
+	make macos
+	make ios
+	make clean
+
+The `make` targets above all require that *Xcode* is installed on your system.
+
+The default `make` command with no arguments is the same as `make all`. 
+
+Building from the command line creates the same `Package` folder structure described above when building
+from within *Xcode*.
 
 
 <a name="demos"></a>
diff --git a/Scripts/package_all.sh b/Scripts/package_all.sh
deleted file mode 100755
index dbcbced..0000000
--- a/Scripts/package_all.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-"${SRCROOT}/Scripts/package_moltenvk.sh"
-"${SRCROOT}/Scripts/package_shader_converter.sh"
-"${SRCROOT}/Scripts/package_docs.sh"
-"${SRCROOT}/Scripts/update_latest.sh"
-
diff --git a/Scripts/package_docs.sh b/Scripts/package_docs.sh
index 2d634d4..4d1cfb2 100755
--- a/Scripts/package_docs.sh
+++ b/Scripts/package_docs.sh
@@ -3,10 +3,8 @@
 set -e
 
 # Package folder
-export MVK_WKSPC_PATH="${PROJECT_DIR}"
-export MVK_PKG_LOCN="${MVK_WKSPC_PATH}/Package"
-export MVK_PKG_CONFIG_PATH="${MVK_PKG_LOCN}/${CONFIGURATION}"
+export MVK_PKG_CONFIG_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}"
 
-# Copy the docs. Allow silent fail if a symlinked doc is not built.
-cp -a "${MVK_WKSPC_PATH}/LICENSE" "${MVK_PKG_CONFIG_PATH}"
-cp -pRLf "${MVK_WKSPC_PATH}/Docs" "${MVK_PKG_CONFIG_PATH}" 2> /dev/null || true
+# Copy the docs.
+cp -a "${PROJECT_DIR}/Docs" "${MVK_PKG_CONFIG_PATH}"
+cp -a "${PROJECT_DIR}/LICENSE" "${MVK_PKG_CONFIG_PATH}"
diff --git a/Scripts/package_ios.sh b/Scripts/package_ios.sh
new file mode 100755
index 0000000..ef8e658
--- /dev/null
+++ b/Scripts/package_ios.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+export MVK_OS="iOS"
+export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-iphoneos"
+
+"${SRCROOT}/Scripts/package_moltenvk.sh"
+"${SRCROOT}/Scripts/package_shader_converter.sh"
+"${SRCROOT}/Scripts/package_docs.sh"
+"${SRCROOT}/Scripts/package_update_latest.sh"
+
diff --git a/Scripts/package_macos.sh b/Scripts/package_macos.sh
new file mode 100755
index 0000000..3740158
--- /dev/null
+++ b/Scripts/package_macos.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+export MVK_OS="macOS"
+export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}"
+
+"${SRCROOT}/Scripts/package_moltenvk.sh"
+"${SRCROOT}/Scripts/package_shader_converter.sh"
+"${SRCROOT}/Scripts/package_shader_converter_tool.sh"
+"${SRCROOT}/Scripts/package_docs.sh"
+"${SRCROOT}/Scripts/package_update_latest.sh"
+
diff --git a/Scripts/package_moltenvk.sh b/Scripts/package_moltenvk.sh
index c22562e..f76b31c 100755
--- a/Scripts/package_moltenvk.sh
+++ b/Scripts/package_moltenvk.sh
@@ -2,42 +2,23 @@
 
 set -e
 
-# Package folder
 export MVK_PROD_NAME="MoltenVK"
-export MVK_DYLIB_NAME="lib${MVK_PROD_NAME}.dylib"
-export MVK_ICD_NAME="${MVK_PROD_NAME}_icd.json"
-export MVK_WKSPC_PATH="${PROJECT_DIR}"
-export MVK_PROD_PROJ_PATH="${MVK_WKSPC_PATH}/${MVK_PROD_NAME}"
-export MVK_PKG_LOCN="${MVK_WKSPC_PATH}/Package"
-export MVK_PKG_CONFIG_PATH="${MVK_PKG_LOCN}/${CONFIGURATION}"
-export MVK_PKG_PROD_PATH="${MVK_PKG_CONFIG_PATH}/${MVK_PROD_NAME}"
+export MVK_PROD_PROJ_PATH="${PROJECT_DIR}/${MVK_PROD_NAME}"
+export MVK_PKG_PROD_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_NAME}"
+export MVK_PKG_PROD_PATH_OS="${MVK_PKG_PROD_PATH}/${MVK_OS}"
 
-# Remove the product folder
-rm -rf "${MVK_PKG_PROD_PATH}"
+rm -rf "${MVK_PKG_PROD_PATH_OS}"
+mkdir -p "${MVK_PKG_PROD_PATH_OS}/static"
+cp -a "${MVK_BUILT_PROD_PATH}/lib${MVK_PROD_NAME}.a" "${MVK_PKG_PROD_PATH_OS}/static"
+mkdir -p "${MVK_PKG_PROD_PATH_OS}/dynamic"
+cp -a "${MVK_BUILT_PROD_PATH}/lib${MVK_PROD_NAME}.dylib" "${MVK_PKG_PROD_PATH_OS}/dynamic"
+cp -a "${MVK_PROD_PROJ_PATH}/icd/${MVK_PROD_NAME}_icd.json" "${MVK_PKG_PROD_PATH_OS}/dynamic"
+mkdir -p "${MVK_PKG_PROD_PATH_OS}/framework"
+cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}/framework"
 
-# Remove and replace the existing macOS framework folder and copy framework into it
-export MVK_OS_PROD_PATH="${MVK_PKG_PROD_PATH}/macOS"
-export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}"
-rm -rf "${MVK_OS_PROD_PATH}"
-if [ -e "${MVK_BUILT_PROD_PATH}" ]; then
-	mkdir -p "${MVK_OS_PROD_PATH}"
-	cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}"
-	cp -a "${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}" "${MVK_OS_PROD_PATH}"
-	cp -a "${MVK_PROD_PROJ_PATH}/icd/${MVK_ICD_NAME}" "${MVK_OS_PROD_PATH}"
-fi
+# Remove the code signature
+rm -rf "${MVK_PKG_PROD_PATH_OS}/framework/${MVK_PROD_NAME}.framework/_CodeSignature"
 
-# Remove and replace the existing iOS framework folder and copy framework into it
-export MVK_OS_PROD_PATH="${MVK_PKG_PROD_PATH}/iOS"
-export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-iphoneos"
-rm -rf "${MVK_OS_PROD_PATH}"
-echo MVK_BUILT_PROD_PATH = "${MVK_BUILT_PROD_PATH}"
-if [ -e "${MVK_BUILT_PROD_PATH}" ]; then
-	rm -rf "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/_CodeSignature"
-	mkdir -p "${MVK_OS_PROD_PATH}"
-	cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}"
-	cp -a "${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}" "${MVK_OS_PROD_PATH}"
-	cp -a "${MVK_PROD_PROJ_PATH}/icd/${MVK_ICD_NAME}" "${MVK_OS_PROD_PATH}"
-fi
 # Remove and replace header include folder
 rm -rf "${MVK_PKG_PROD_PATH}/include"
 cp -pRL "${MVK_PROD_PROJ_PATH}/include" "${MVK_PKG_PROD_PATH}"
diff --git a/Scripts/package_shader_converter.sh b/Scripts/package_shader_converter.sh
index fc001a4..410f00f 100755
--- a/Scripts/package_shader_converter.sh
+++ b/Scripts/package_shader_converter.sh
@@ -2,72 +2,25 @@
 
 set -e
 
-# Package folder
 export MVK_PROD_BASE_NAME="MoltenVKShaderConverter"
-export MVK_WKSPC_PATH="${PROJECT_DIR}"
-export MVK_PKG_LOCN="${MVK_WKSPC_PATH}/Package"
-
-# Remove the base product folder
-rm -rf "${MVK_PKG_LOCN}/${CONFIGURATION}/${MVK_PROD_BASE_NAME}"
+export MVK_PKG_CONFIG_BASE_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_BASE_NAME}"
 
 #-----------------------------------
 # MoltenVKGLSLToSPIRVConverter
 export MVK_PROD_NAME="MoltenVKGLSLToSPIRVConverter"
-export MVK_PKG_CONFIG_PATH="${MVK_PKG_LOCN}/${CONFIGURATION}/${MVK_PROD_BASE_NAME}/${MVK_PROD_NAME}"
+export MVK_PKG_PROD_PATH_OS="${MVK_PKG_CONFIG_BASE_PATH}/${MVK_PROD_NAME}/${MVK_OS}"
 
-# Remove and replace the existing macOS framework folder and copy framework into it
-export MVK_OS_PROD_PATH="${MVK_PKG_CONFIG_PATH}/macOS"
-export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}"
-rm -rf "${MVK_OS_PROD_PATH}"
-if [ -e "${MVK_BUILT_PROD_PATH}" ]; then
-	mkdir -p "${MVK_OS_PROD_PATH}"
-	cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}"
-fi
-
-# Remove and replace the existing iOS framework folder and copy framework into it
-export MVK_OS_PROD_PATH="${MVK_PKG_CONFIG_PATH}/iOS"
-export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-iphoneos"
-rm -rf "${MVK_OS_PROD_PATH}"
-if [ -e "${MVK_BUILT_PROD_PATH}" ]; then
-	rm -rf "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/_CodeSignature"
-	mkdir -p "${MVK_OS_PROD_PATH}"
-	cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}"
-fi
+rm -rf "${MVK_PKG_PROD_PATH_OS}"
+mkdir -p "${MVK_PKG_PROD_PATH_OS}"
+cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}"
+rm -rf "${MVK_PKG_PROD_PATH_OS}/${MVK_PROD_NAME}.framework/_CodeSignature"
 
 #-----------------------------------
 # MoltenVKSPIRVToMSLConverter
 export MVK_PROD_NAME="MoltenVKSPIRVToMSLConverter"
-export MVK_PKG_CONFIG_PATH="${MVK_PKG_LOCN}/${CONFIGURATION}/${MVK_PROD_BASE_NAME}/${MVK_PROD_NAME}"
+export MVK_PKG_PROD_PATH_OS="${MVK_PKG_CONFIG_BASE_PATH}/${MVK_PROD_NAME}/${MVK_OS}"
 
-# Remove and replace the existing macOS framework folder and copy framework into it
-export MVK_OS_PROD_PATH="${MVK_PKG_CONFIG_PATH}/macOS"
-export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}"
-rm -rf "${MVK_OS_PROD_PATH}"
-if [ -e "${MVK_BUILT_PROD_PATH}" ]; then
-	mkdir -p "${MVK_OS_PROD_PATH}"
-	cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}"
-fi
-
-# Remove and replace the existing iOS framework folder and copy framework into it
-export MVK_OS_PROD_PATH="${MVK_PKG_CONFIG_PATH}/iOS"
-export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}-iphoneos"
-rm -rf "${MVK_OS_PROD_PATH}"
-if [ -e "${MVK_BUILT_PROD_PATH}" ]; then
-	rm -rf "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/_CodeSignature"
-	mkdir -p "${MVK_OS_PROD_PATH}"
-	cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_OS_PROD_PATH}"
-fi
-
-#-----------------------------------
-# MoltenVKShaderConverter Tool
-export MVK_PROD_NAME="MoltenVKShaderConverter"
-export MVK_PKG_CONFIG_PATH="${MVK_PKG_LOCN}/${CONFIGURATION}/${MVK_PROD_BASE_NAME}"
-
-# Remove and replace the existing macOS framework folder and copy framework into it
-export MVK_OS_PROD_PATH="${MVK_PKG_CONFIG_PATH}/Tools"
-export MVK_BUILT_PROD_PATH="${BUILT_PRODUCTS_DIR}"
-rm -rf "${MVK_OS_PROD_PATH}"
-if [ -e "${MVK_BUILT_PROD_PATH}" ]; then
-	mkdir -p "${MVK_OS_PROD_PATH}"
-	cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}" "${MVK_OS_PROD_PATH}"
-fi
+rm -rf "${MVK_PKG_PROD_PATH_OS}"
+mkdir -p "${MVK_PKG_PROD_PATH_OS}"
+cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}"
+rm -rf "${MVK_PKG_PROD_PATH_OS}/${MVK_PROD_NAME}.framework/_CodeSignature"
diff --git a/Scripts/package_shader_converter_tool.sh b/Scripts/package_shader_converter_tool.sh
new file mode 100755
index 0000000..e893ec6
--- /dev/null
+++ b/Scripts/package_shader_converter_tool.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+set -e
+
+export MVK_PROD_NAME="MoltenVKShaderConverter"
+export MVK_PKG_PROD_PATH_OS="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_NAME}/Tools"
+
+rm -rf "${MVK_PKG_PROD_PATH_OS}"
+mkdir -p "${MVK_PKG_PROD_PATH_OS}"
+cp -a "${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}" "${MVK_PKG_PROD_PATH_OS}"
diff --git a/Scripts/package_update_latest.sh b/Scripts/package_update_latest.sh
new file mode 100755
index 0000000..8032355
--- /dev/null
+++ b/Scripts/package_update_latest.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+set -e
+
+# Package folder
+export MVK_PKG_PATH="${PROJECT_DIR}/Package"
+
+# Assign symlink to Latest
+ln -sfn "${MVK_PKG_PATH}/${CONFIGURATION}" "${MVK_PKG_PATH}/Latest"
diff --git a/Scripts/update_latest.sh b/Scripts/update_latest.sh
deleted file mode 100755
index 8abc75c..0000000
--- a/Scripts/update_latest.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# Package folder
-export MVK_WKSPC_LOCN="${PROJECT_DIR}"
-export MVK_PKG_LOCN="${MVK_WKSPC_LOCN}/Package"
-
-# Configuration package folder location
-export MVK_PKG_CONFIG_LOCN="${CONFIGURATION}"
-export MVK_PKG_LATEST_LOCN="Latest"
-
-# Assign symlink from Latest
-ln -sfn "${MVK_PKG_LOCN}/${MVK_PKG_CONFIG_LOCN}" "${MVK_PKG_LOCN}/${MVK_PKG_LATEST_LOCN}"
