Les fichiers make externes peuvent être utilisés avec Xcode, à l'aide d'un fichier Modèle de projet de système de compilation. Ces fichiers peuvent être modifiés pour profiter des paramètres du projet Xcode, tels que le type et l'emplacement de compilation, utiles lorsqu'elles sont utilisées séparément.
Créer un projet externe
Pour créer un projet de compilation externe, dans Xcode, sélectionnez New > New Project... puis sélectionnez le modèle External Build System (Système de compilation externe). Mettre le projet dans dans le même répertoire que le fichier Makefile cible.
Ajouter des paramètres de build Xcode
Lors de l'appel d'une compilation externe, Xcode définit des variables d'environnement pour ses paramètres de compilation. Ces paramètres définissent l'emplacement où les fichiers de compilation sont créés, ainsi que les outils de compilation les indicateurs d'association. Nous utilisons les directives conditionnelles de Make pour modifier la compilation lorsqu'elle est appelée par Xcode.
Dans l'exemple ci-dessous, les variables en cours de définition (telles que CREATE_DIR) peuvent être le nom de votre choix, tandis que les instructions conditionnelles utilisent les variables d'environnement Ensemble 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)