summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-01-12 22:33:06 +0800
committerruki <[email protected]>2021-01-12 22:33:06 +0800
commitc07307aad9116c002e1d9cad8411736ff47cf99e (patch)
tree59a0a822b037aab004d07120955c4cd1386de501
parentd012ff90200f5d237bd0cacd4d30307c55765e9b (diff)
improve prefix.mak for macos
-rw-r--r--core/plat/macosx/prefix.mak56
1 files changed, 29 insertions, 27 deletions
diff --git a/core/plat/macosx/prefix.mak b/core/plat/macosx/prefix.mak
index a1199c2d3..cf6665032 100644
--- a/core/plat/macosx/prefix.mak
+++ b/core/plat/macosx/prefix.mak
@@ -1,22 +1,23 @@
# architecture makefile configure
# prefix & suffix
-BIN_PREFIX =
+BIN_PREFIX =
BIN_SUFFIX = .b
-OBJ_PREFIX =
+OBJ_PREFIX =
OBJ_SUFFIX = .o
LIB_PREFIX = lib
LIB_SUFFIX = .a
-DLL_PREFIX =
+DLL_PREFIX =
DLL_SUFFIX = .dylib
ASM_SUFFIX = .S
# cpu bits
BITS := $(if $(findstring x86_64,$(BUILD_ARCH)),64,)
+BITS := $(if $(findstring arm64,$(BUILD_ARCH)),64,)
BITS := $(if $(findstring i386,$(BUILD_ARCH)),32,)
BITS := $(if $(BITS),$(BITS),$(shell getconf LONG_BIT))
@@ -27,7 +28,7 @@ PRE_ := $(if $(BIN),$(BIN)/$(PRE),xcrun -sdk macosx )
CC = $(PRE_)clang
ifeq ($(CXFLAGS_CHECK),)
CC_CHECK = ${shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi }
-CXFLAGS_CHECK := $(call CC_CHECK,-ftrapv,)
+CXFLAGS_CHECK := $(call CC_CHECK,-ftrapv,)
export CXFLAGS_CHECK
endif
@@ -35,7 +36,7 @@ endif
LD = $(PRE_)clang
ifeq ($(LDFLAGS_CHECK),)
LD_CHECK = ${shell if $(LD) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi }
-LDFLAGS_CHECK := $(call LD_CHECK,-ftrapv,)
+LDFLAGS_CHECK := $(call LD_CHECK,-ftrapv,)
export LDFLAGS_CHECK
endif
@@ -68,23 +69,23 @@ endif
# prof
ifeq ($(PROF),y)
-CXFLAGS += -g -fno-omit-frame-pointer
+CXFLAGS += -g -fno-omit-frame-pointer
else
-CXFLAGS_RELEASE += -fomit-frame-pointer
+CXFLAGS_RELEASE += -fomit-frame-pointer
CXFLAGS_DEBUG += -fno-omit-frame-pointer $(CXFLAGS_CHECK)
endif
# cflags: .c files
-CFLAGS_RELEASE =
-CFLAGS_DEBUG =
+CFLAGS_RELEASE =
+CFLAGS_DEBUG =
CFLAGS = \
-std=c99 \
-D_GNU_SOURCE=1 -D_REENTRANT \
- -fno-math-errno -fno-tree-vectorize
+ -fno-math-errno -fno-tree-vectorize
# ccflags: .cc/.cpp files
-CCFLAGS_RELEASE =
-CCFLAGS_DEBUG =
+CCFLAGS_RELEASE =
+CCFLAGS_DEBUG =
CCFLAGS = \
-D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
-D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600
@@ -97,7 +98,7 @@ MXFLAGS = \
-mssse3 $(ARCH_CXFLAGS) -fmessage-length=0 -pipe -fpascal-strings \
"-DIBOutlet=__attribute__((iboutlet))" \
"-DIBOutletCollection(ClassName)=__attribute__((iboutletcollection(ClassName)))" \
- "-DIBAction=void)__attribute__((ibaction)"
+ "-DIBAction=void)__attribute__((ibaction)"
MXFLAGS-I = -I
MXFLAGS-o = -o
@@ -110,26 +111,27 @@ endif
# prof
ifeq ($(PROF),y)
-MXFLAGS += -g -fno-omit-frame-pointer
+MXFLAGS += -g -fno-omit-frame-pointer
else
-MXFLAGS_RELEASE += -fomit-frame-pointer
+MXFLAGS_RELEASE += -fomit-frame-pointer
MXFLAGS_DEBUG += -fno-omit-frame-pointer $(LDFLAGS_CHECK)
endif
# mflags: .m files
-MFLAGS_RELEASE =
-MFLAGS_DEBUG =
+MFLAGS_RELEASE =
+MFLAGS_DEBUG =
MFLAGS = -std=c99
# mmflags: .mm files
-MMFLAGS_RELEASE =
-MMFLAGS_DEBUG =
+MMFLAGS_RELEASE =
+MMFLAGS_DEBUG =
MMFLAGS =
# ldflags
-LDFLAGS_RELEASE =
-LDFLAGS_DEBUG =
-LDFLAGS = -m$(BITS) -all_load -pagezero_size 10000 -image_base 100000000 -mmacosx-version-min=10.7
+LDFLAGS_ARCH := $(if $(findstring arm64,$(BUILD_ARCH)),,-pagezero_size 10000 -image_base 100000000)
+LDFLAGS_RELEASE =
+LDFLAGS_DEBUG =
+LDFLAGS = -m$(BITS) -all_load $(LDFLAGS_ARCH) -mmacosx-version-min=10.7
LDFLAGS-L = -L
LDFLAGS-l = -l
LDFLAGS-f =
@@ -143,17 +145,17 @@ LDFLAGS_DEBUG += -ftrapv
endif
# asflags
-ASFLAGS_RELEASE =
-ASFLAGS_DEBUG =
+ASFLAGS_RELEASE =
+ASFLAGS_DEBUG =
ASFLAGS = -m$(BITS) -c -Wall
ASFLAGS-I = -I
ASFLAGS-o = -o
# arflags
-ARFLAGS_RELEASE =
-ARFLAGS_DEBUG =
+ARFLAGS_RELEASE =
+ARFLAGS_DEBUG =
ARFLAGS = -cr
-ARFLAGS-o =
+ARFLAGS-o =
# shflags
SHFLAGS_RELEASE = -s