Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/nan_compile.mk')
-rw-r--r--source/nan_compile.mk68
1 files changed, 56 insertions, 12 deletions
diff --git a/source/nan_compile.mk b/source/nan_compile.mk
index 03f5a0d1cd6..3255f102ab7 100644
--- a/source/nan_compile.mk
+++ b/source/nan_compile.mk
@@ -24,7 +24,7 @@
#
# The Original Code is: all of this file.
#
-# Contributor(s): GSR
+# Contributor(s): GSR, Stefan Gartner
#
# ***** END GPL LICENSE BLOCK *****
#
@@ -70,21 +70,48 @@ DBG_CCFLAGS += -g
# OS dependent parts ---------------------------------------------------
ifeq ($(OS),darwin)
- CC ?= gcc
+ CC ?= gcc
CCC ?= g++
- ifeq ($(CPU),powerpc)
- CFLAGS += -pipe -fPIC -ffast-math -mcpu=7450 -mtune=G5 -funsigned-char -fno-strict-aliasing -Wno-long-double
- CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing -Wno-long-double
+ ifeq ($(MACOSX_DEPLOYMENT_TARGET), 10.4)
+ CC = gcc-4.0
+ CCC = g++-4.0
else
- CFLAGS += -pipe -fPIC -ffast-math -march=pentium-m -funsigned-char -fno-strict-aliasing
+ ifeq ($(MACOSX_DEPLOYMENT_TARGET), 10.5)
+ CC = gcc-4.2
+ CCC = g++-4.2
+ endif
+ endif
+ ifeq ($(CPU),powerpc)
+ CFLAGS += -pipe -fPIC -ffast-math -mcpu=7450 -mtune=G5 -funsigned-char -fno-strict-aliasing
CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
+ else
+ CFLAGS += -pipe -fPIC -ffast-math -funsigned-char
+ CCFLAGS += -pipe -fPIC -funsigned-char
endif
-# REL_CFLAGS += -O
-# REL_CCFLAGS += -O2
- CPPFLAGS += -D_THREAD_SAFE
+
+
+ CFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
+ CCFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
+
+ ifeq ($(MACOSX_ARCHITECTURE), $(findstring $(MACOSX_ARCHITECTURE), "i386 x86_64"))
+ REL_CFLAGS += -O2 -ftree-vectorize -msse -msse2 -msse3
+ REL_CCFLAGS += -O2 -ftree-vectorize -msse -msse2 -msse3
+ endif
+
+ ifeq ($(MACOSX_ARCHITECTURE), x86_64)
+ REL_CFLAGS += -mssse3
+ REL_CCFLAGS += -mssse3
+ endif
+
+ CPPFLAGS += -D_THREAD_SAFE -fpascal-strings
+
ifeq ($(WITH_COCOA), true)
CPPFLAGS += -DGHOST_COCOA
endif
+ ifeq ($(USE_QTKIT), true)
+ CPPFLAGS += -DUSE_QTKIT
+ endif
+
NAN_DEPEND = true
OPENGL_HEADERS = /System/Library/Frameworks/OpenGL.framework
AR = ar
@@ -324,6 +351,21 @@ $(DIR)/$(DEBUG_DIR)%.o: %.mm
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
endif
+$(DIR)/$(DEBUG_DIR)%.o: %.m
+ ifdef NAN_DEPEND
+ @set -e; $(CC) -M $(CPPFLAGS) $< 2>/dev/null \
+ | sed 's@\($*\)\.o[ :]*@$(DIR)/$(DEBUG_DIR)\1.o : @g' \
+ > $(DIR)/$(DEBUG_DIR)$*.d; \
+ [ -s $(DIR)/$(DEBUG_DIR)$*.d ] || $(RM) $(DIR)/$(DEBUG_DIR)$*.d
+ endif
+ ifdef NAN_QUIET
+ @echo " -- $< -- "
+ @$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
+ else
+ $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
+ endif
+
+
$(DIR)/$(DEBUG_DIR)%.res: %.rc
ifeq ($(FREE_WINDOWS),true)
windres $< -O coff -o $@
@@ -349,18 +391,20 @@ CCSRCS ?= $(wildcard *.cpp)
JSRCS ?= $(wildcard *.java)
ifdef NAN_DEPEND
--include $(CSRCS:%.c=$(DIR)/$(DEBUG_DIR)%.d) $(CCSRCS:%.cpp=$(DIR)/$(DEBUG_DIR)%.d) $(OCSRCS:$.mm=$(DIR)/$(DEBUG_DIR)%.d)
+-include $(CSRCS:%.c=$(DIR)/$(DEBUG_DIR)%.d) $(CCSRCS:%.cpp=$(DIR)/$(DEBUG_DIR)%.d) $(OCCSRCS:$.mm=$(DIR)/$(DEBUG_DIR)%.d) $(OCSRCS:$.m=$(DIR)/$(DEBUG_DIR)%.d)
endif
OBJS_AR := $(OBJS)
OBJS_AR += $(CSRCS:%.c=%.o)
OBJS_AR += $(CCSRCS:%.cpp=%.o)
-OBJS_AR += $(OCSRCS:%.mm=%.o)
+OBJS_AR += $(OCCSRCS:%.mm=%.o)
+OBJS_AR += $(OCSRCS:%.m=%.o)
OBJS_AR += $(WINRC:%.rc=%.res)
OBJS += $(CSRCS:%.c=$(DIR)/$(DEBUG_DIR)%.o)
OBJS += $(CCSRCS:%.cpp=$(DIR)/$(DEBUG_DIR)%.o)
-OBJS += $(OCSRCS:%.mm=$(DIR)/$(DEBUG_DIR)%.o)
+OBJS += $(OCCSRCS:%.mm=$(DIR)/$(DEBUG_DIR)%.o)
+OBJS += $(OCSRCS:%.m=$(DIR)/$(DEBUG_DIR)%.o)
OBJS += $(WINRC:%.rc=$(DIR)/$(DEBUG_DIR)%.res)
JCLASS += $(JSRCS:%.java=$(DIR)/$(DEBUG_DIR)%.class)