Progetti di build esterni

I file di creazione esterni possono essere utilizzati con Xcode, mediante un metodo esterno Crea il modello di progetto di sistema. Questi file possono essere modificati per delle impostazioni del progetto Xcode, come il tipo di build e la località, mentre è utile se usata separatamente.

Crea un progetto esterno

Per creare un nuovo progetto di build esterno, in Xcode seleziona Nuovo->Nuovo progetto... quindi seleziona il modello Sistema di build esterno. Inserisci il progetto della stessa directory del Makefile di destinazione.

Aggiungi impostazioni build Xcode

Quando richiama una build esterna, Xcode definisce le variabili di ambiente per impostazioni build. Queste impostazioni definiscono il luogo in cui vengono creati i file di build, nonché il compilatore tramite i flag linker. Usiamo le istruzioni condizionali di Make per modificare la build quando viene richiamata da Xcode.

Ecco un esempio in cui le variabili da impostare (come BUILD_DIR) possono essere il nome che preferisci, mentre le condizionali usano le variabili di ambiente Xcode impostato:

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)