外部建構專案

使用外部建構系統專案範本,即可與 Xcode 搭配使用外部 make 檔案。您可以修改這些檔案,以利用 Xcode 專案設定 (例如建構類型和位置),同時在單獨使用時仍可派上用場。

建立外部專案

如要建立新的外部建構專案,請在 Xcode 中依序選取「New」->「New Project...」對話方塊,然後選取「External Build System」範本。將專案放在與目標 Makefile 相同的目錄中。

新增 Xcode 版本設定

叫用外部建構作業時,Xcode 會定義其建構設定的環境變數。這些設定會定義建構檔案的建立位置,以及編譯器和連結器標記。在 Xcode 叫用時,我們會使用 Make 的條件指令修改建構。

在此範例中,設定的變數 (例如 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)