외부 빌드 프로젝트

외부 빌드 시스템 프로젝트 템플릿을 사용하여 Xcode와 함께 외부 make 파일을 사용할 수 있습니다. 이러한 파일은 빌드 유형 및 위치와 같은 Xcode 프로젝트 설정을 활용하도록 수정할 수 있으며, 별도로 사용하는 경우에도 유용합니다.

외부 프로젝트 만들기

새 외부 빌드 프로젝트를 만들려면 Xcode에서 New->New Project...(새로 만들기->새 프로젝트...) 대화상자를 선택한 다음 External Build System 템플릿을 선택합니다. 프로젝트를 대상 Makefile과 동일한 디렉터리에 넣습니다.

Xcode 빌드 설정 추가

외부 빌드를 호출할 때 Xcode는 빌드 설정을 위한 환경 변수를 정의합니다. 이러한 설정은 빌드 파일이 생성되는 위치와 컴파일러 및 링커 플래그를 정의합니다. Xcode의 조건부 지시어를 사용하여 빌드를 수정합니다.

다음은 설정 중인 변수 (예: 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)