Zewnętrzne projekty kompilacji

Zewnętrznego tworzenia plików można używać z Xcode z użyciem szablonu projektu External Build System. Pliki te można modyfikować, aby korzystać z ustawień projektu Xcode, takich jak typ kompilacji i lokalizacja, i jednocześnie używać ich oddzielnie.

Tworzenie projektu zewnętrznego

Aby utworzyć nowy zewnętrzny projekt kompilacji, w Xcode wybierz okno Nowy -> Nowy projekt, a następnie wybierz szablon Zewnętrzny system kompilacji. Umieść projekt w tym samym katalogu co docelowy plik Makefile.

Dodaj ustawienia kompilacji Xcode

Podczas wywoływania kompilacji zewnętrznej Xcode definiuje zmienne środowiskowe w ustawieniach kompilacji. Te ustawienia określają miejsce tworzenia plików kompilacji, a także flagi kompilatora i kreatora linków. Do modyfikowania kompilacji po jej wywołaniu przez Xcode używamy dyrektyw warunkowych Makeup.

Oto przykład, w którym ustawiane zmienne (takie jak BUILD_DIR) mogą mieć dowolną nazwę, a warunki warunkowe używają zestawu zmiennych środowiskowych 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)