Los archivos make externos se pueden usar con Xcode, a través de una extensión externa Plantilla de proyecto de sistema de compilación. Puedes modificar estos archivos para aprovechar de la configuración del proyecto de Xcode, como el tipo de compilación y la ubicación, sin dejar de útiles cuando se usan por separado.
Crea un proyecto externo
Para crear un nuevo proyecto de compilación externo, en Xcode, selecciona New->New Project... y selecciona la plantilla External Build System. Coloca el proyecto en en el mismo directorio que el Makefile de destino.
Agrega la configuración de compilación de Xcode
Cuando se invoca una compilación externa, Xcode define variables de entorno para su configuración de compilación. Esta configuración define dónde se crean los archivos de compilación, además de las funciones de compilador y del vinculador. Usamos las directivas condicionales de Make modificar la compilación cuando Xcode la invoque.
A continuación, se muestra un ejemplo en el que las variables que se configuran (como BUILD_DIR) pueden cualquier nombre que desees, mientras que los condicionales usan las variables de entorno Conjunto de 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)