Có thể sử dụng các tệp tạo bên ngoài với Xcode, bằng cách sử dụng một Mẫu dự án Hệ thống xây dựng. Những tệp này có thể được sửa đổi để tận dụng của các chế độ cài đặt dự án Xcode, chẳng hạn như loại bản dựng và vị trí, trong khi vẫn hữu ích khi được sử dụng riêng biệt.
Tạo một dự án bên ngoài
Để tạo một dự án bản dựng bên ngoài mới, trong Xcode, hãy chọn New->New Project... (Mới -> Dự án mới...) , sau đó chọn mẫu External Build System (Hệ thống xây dựng bên ngoài). Đưa dự án vào cùng thư mục với Makefile đích.
Thêm chế độ cài đặt bản dựng Xcode
Khi gọi bản dựng bên ngoài, Xcode xác định các biến môi trường cho cài đặt bản dựng. Các chế độ cài đặt này xác định nơi tạo tệp bản dựng, cũng như trình biên dịch và cờ trình liên kết. Chúng tôi dùng lệnh có điều kiện của Make để sửa đổi bản dựng khi được Xcode gọi.
Dưới đây là ví dụ, trong đó các biến đang được đặt (chẳng hạn như BUILD_DIR) có thể là bất kỳ tên nào bạn muốn, còn câu lệnh có điều kiện sử dụng biến môi trường Bộ 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)