summaryrefslogtreecommitdiff
path: root/Make.defaults
diff options
context:
space:
mode:
Diffstat (limited to 'Make.defaults')
-rwxr-xr-xMake.defaults5
1 files changed, 4 insertions, 1 deletions
diff --git a/Make.defaults b/Make.defaults
index 51bd7d8..16f1fd2 100755
--- a/Make.defaults
+++ b/Make.defaults
@@ -101,6 +101,7 @@ endif
ifeq ($(ARCH),x86_64)
GCCVERSION := $(shell $(CC) -dumpversion | cut -f1 -d.)
GCCMINOR := $(shell $(CC) -dumpversion | cut -f2 -d.)
+ USING_CLANG := $(shell $(CC) -v 2>&1 | grep -q 'clang version' && echo clang)
# Rely on GCC MS ABI support?
GCCNEWENOUGH := $(shell ( [ $(GCCVERSION) -gt "4" ] \
@@ -109,6 +110,8 @@ ifeq ($(ARCH),x86_64)
&& echo 1)
ifeq ($(GCCNEWENOUGH),1)
CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11
+ else ifeq ($(USING_CLANG),clang)
+ CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11
endif
CFLAGS += -mno-red-zone
@@ -159,7 +162,7 @@ CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
else
CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
-fshort-wchar -fno-strict-aliasing \
- -fno-merge-constants -ffreestanding -fno-stack-protector \
+ -fno-merge-all-constants -ffreestanding -fno-stack-protector \
-fno-stack-check
endif