外部构建项目

外部 make files 可用于 Xcode,使用 External 构建系统项目模板。您可以修改这些文件 Xcode 项目设置(例如 build 类型和位置)的功能, 单独使用时很有用。

创建外部项目

要创建新的外部构建项目,请在 Xcode 中选择“New”(新建)->“New Project...”(新建项目...) 然后选择“外部构建系统”模板将项目放入 与目标 Makefile 位于同一目录下。

添加 Xcode Build 设置

在调用外部构建时,Xcode 会为其定义环境变量 build 设置。 这些设置定义了创建构建文件的位置,以及编译器和 链接器标记中。我们使用 Make 的条件指令 在 Xcode 调用 build 时修改 build。

例如,所设置的变量(例如 BUILD_DIR)可以是 您可以随意命名,而条件使用环境变量 Xcode 集:

ifdef CONFIGURATION_BUILD_DIR
# In Xcode build
BUILD_DIR = $(CONFIGURATION_BUILD_DIR)/build
ARCHFLAGS = $(ARCHS:%=-arch %)
SDKFLAGS = -isysroot $(SDKROOT)
else
# In command-line build
BUILD_DIR = $(HOME)/build
ARCHFLAGS =
SDKFLAGS =
endif

ifdef OPTIMIZATION_LEVEL
DEBUGFLAGS := $(DEBUGFLAGS) -O$(OPTIMIZATION_LEVEL)
endif

ifdef OTHER_CFLAGS
DEBUGFLAGS := $(DEBUGFLAGS) $(OTHER_CFLAGS)
endif

# Workaround for iPhoneSimulator SDK's gcc bug
ifdef EFFECTIVE_PLATFORM_NAME
ifneq ($(EFFECTIVE_PLATFORM_NAME), -iphonesimulator)
WARNINGS := $(WARNINGS) -Wreturn-type
endif
endif

J2OBJCC_FLAGS = $(WARNINGS) $(SDKFLAGS) $(ARCHFLAGS) $(DEBUGFLAGS)
J2OBJCC = $(J2OBJC_DIST)/j2objcc $(J2OBJCC_FLAGS)