Harici Derleme Projeleri

Harici yapma dosyaları, Harici Derleme Sistemi proje şablonu kullanılarak Xcode ile kullanılabilir. Bu dosyalar, derleme türü ve konumu gibi Xcode proje ayarlarından yararlanacak şekilde değiştirilebilir. Ancak ayrı olarak kullanıldığında da yararlıdır.

Harici Proje Oluşturma

Yeni bir harici derleme projesi oluşturmak için Xcode'da Yeni->Yeni Proje... iletişim kutusunu ve ardından Harici Derleme Sistemi şablonunu seçin. Projeyi hedef Makefile ile aynı dizine yerleştirin.

Xcode Derleme Ayarları Ekleyin

Harici bir derlemeyi çağırırken Xcode, derleme ayarları için ortam değişkenlerini tanımlar. Bu ayarlar, derleme dosyalarının nerede oluşturulduğunu ve derleyici ile bağlayıcı işaretlerini tanımlar. Derlemeyi Xcode tarafından çağrıldığında değiştirmek için Make'in koşullu yönergelerini kullanırız.

Aşağıda, ayarlanan değişkenlerin (BUILD_DIR gibi) istediğiniz ad olabileceği ve koşulların Xcode kümesi ortam değişkenlerini kullandığı bir örneği görebilirsiniz:

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)