+####################################################################################\r
+#\r
+# Clang Support for building on Mac OS X\r
+#\r
+####################################################################################\r
+# CLANG - clang that produce Mach-O with EFI x86_64 ABI\r
+*_XCLANG_*_*_FAMILY = GCC\r
+*_XCLANG_*_*_BUILDRULEFAMILY = XCODE\r
+\r
+*_XCLANG_*_ASL_PATH = /usr/bin/iasl\r
+\r
+*_XCLANG_*_MAKE_PATH = make\r
+*_XCLANG_*_DSYMUTIL_PATH = /usr/bin/dsymutil\r
+\r
+ *_*_*_MTOC_PATH = /usr/local/bin/mtoc\r
+\r
+ DEBUG_XCLANG_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll\r
+RELEASE_XCLANG_*_MTOC_FLAGS = -align 0x20\r
+\r
+\r
+*_XCLANG_*_CC_PATH = DEF(CLANG_BIN)clang\r
+*_XCLANG_*_SLINK_PATH = libtool\r
+*_XCLANG_*_DLINK_PATH = ld\r
+*_XCLANG_*_ASM_PATH = as\r
+*_XCLANG_*_PP_PATH = DEF(CLANG_BIN)clang\r
+*_XCLANG_*_VFRPP_PATH = DEF(CLANG_BIN)clang\r
+*_XCLANG_*_ASL_PATH = iasl\r
+*_XCLANG_*_ASLCC_PATH = DEF(CLANG_BIN)clang\r
+*_XCLANG_*_ASLPP_PATH = DEF(CLANG_BIN)clang\r
+*_XCLANG_*_ASLDLINK_PATH = ld\r
+\r
+####################\r
+# IA-32 definitions\r
+####################\r
+ DEBUG_XCLANG_IA32_DLINK_FLAGS = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+RELEASE_XCLANG_IA32_DLINK_FLAGS = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip -seg1addr 0x220 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+*_XCLANG_IA32_SLINK_FLAGS = -static -o\r
+ DEBUG_XCLANG_IA32_ASM_FLAGS = -arch i386 -g\r
+RELEASE_XCLANG_IA32_ASM_FLAGS = -arch i386 \r
+\r
+\r
+ DEBUG_XCLANG_IA32_CC_FLAGS = -arch i386 -c -g -O0 -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable \r
+RELEASE_XCLANG_IA32_CC_FLAGS = -arch i386 -c -Os -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable \r
+\r
+\r
+##################\r
+# X64 definitions\r
+##################\r
+ DEBUG_XCLANG_X64_DLINK_FLAGS = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip -seg1addr 0x240 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+RELEASE_XCLANG_X64_DLINK_FLAGS = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip -seg1addr 0x220 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+*_XCLANG_X64_SLINK_FLAGS = -static -o\r
+ DEBUG_XCLANG_X64_ASM_FLAGS = -arch x86_64 -g\r
+RELEASE_XCLANG_X64_ASM_FLAGS = -arch x86_64 \r
+*_XCLANG_*_PP_FLAGS = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h \r
+*_XCLANG_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE -include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h \r
+\r
+\r
+ DEBUG_XCLANG_X64_CC_FLAGS = -ccc-host-triple x86_64-pc-win32-macho -c -g -O0 -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable \r
+RELEASE_XCLANG_X64_CC_FLAGS = -ccc-host-triple x86_64-pc-win32-macho -c -Os -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable \r
+*_XCLANG_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic\r
+*_XCLANG_*_ASLDLINK_FLAGS = -e _main -preload -segalign 0x20 -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+*_XCLANG_*_ASLPP_FLAGS = -x c -E \r
+*_XCLANG_*_ASL_FLAGS =\r
+\r
+\r