be more specific for lib search paths
diff --git a/lib/script.py b/lib/script.py
index 0501d10..e722606 100644
--- a/lib/script.py
+++ b/lib/script.py
@@ -122,10 +122,16 @@
         swift_flags += Configuration.current.extra_swift_flags
 
         swift_flags += """
-TARGET_SWIFTEXE_FLAGS = -I${SDKROOT}/lib/swift/""" + Configuration.current.target.swift_sdk_name + """  -L${SDKROOT}/lib/swift/""" + Configuration.current.target.swift_sdk_name + \
-""" -L${SDKROOT}/lib/swift/""" + Configuration.current.target.swift_sdk_name + """/""" +Configuration.current.target.swift_arch + """ """
+TARGET_SWIFTEXE_FLAGS = """
+        if Configuration.current.target.fat_binaries:
+            swift_flags += """ -I${SDKROOT}/lib/swift/""" + Configuration.current.target.swift_sdk_name
+            swift_flags += """ -L${SDKROOT}/lib/swift/""" + Configuration.current.target.swift_sdk_name
+        else:
+            swift_flags += """ -I${SDKROOT}/lib/swift/""" + Configuration.current.target.swift_sdk_name + """/""" + Configuration.current.target.swift_arch
+            swift_flags += """ -L${SDKROOT}/lib/swift/""" + Configuration.current.target.swift_sdk_name + """/""" + Configuration.current.target.swift_arch
+
         if Configuration.current.build_mode == Configuration.Debug:
-            swift_flags += "-g -Onone -enable-testing "
+            swift_flags += " -g -Onone -enable-testing "
         elif Configuration.current.build_mode == Configuration.Release:
             swift_flags += " "
         swift_flags += Configuration.current.extra_swift_flags
@@ -136,10 +142,15 @@
 EXTRA_LD_FLAGS       = """ + Configuration.current.extra_ld_flags
 
         ld_flags += """
-TARGET_LDFLAGS       = --target=${TARGET} ${EXTRA_LD_FLAGS} -L${SDKROOT}/lib/swift/""" + Configuration.current.target.swift_sdk_name + \
-""" -L${SDKROOT}/lib/swift/""" + Configuration.current.target.swift_sdk_name + """/""" +Configuration.current.target.swift_arch + """ """
+TARGET_LDFLAGS       = --target=${TARGET} ${EXTRA_LD_FLAGS} """
+
+        if Configuration.current.target.fat_binaries:
+            ld_flags += """-L${SDKROOT}/lib/swift/""" + Configuration.current.target.swift_sdk_name
+        else:
+            ld_flags += """-L${SDKROOT}/lib/swift/""" + Configuration.current.target.swift_sdk_name + """/""" + Configuration.current.target.swift_arch
+
         if Configuration.current.system_root is not None:
-            ld_flags += "--sysroot=${SYSROOT}"
+            ld_flags += " --sysroot=${SYSROOT}"
 
         if Configuration.current.bootstrap_directory is not None:
             ld_flags += """ -L${TARGET_BOOTSTRAP_DIR}/usr/lib"""
diff --git a/lib/target.py b/lib/target.py
index bdeecdf..745d46c 100644
--- a/lib/target.py
+++ b/lib/target.py
@@ -331,6 +331,7 @@
     dynamic_library_suffix = ".dylib"
     static_library_prefix = "lib"
     static_library_suffix = ".a"
+    fat_binaries = False
 
     def __init__(self, triple):
         if "linux" in triple:
@@ -349,6 +350,7 @@
                 self.environ = EnvironmentType.UnknownEnvironment
         elif "darwin" in triple:
             self.sdk = OSType.MacOSX
+            self.fat_binaries = True
         else:
             print("Unknown platform")