Project Build Eksternal

File make eksternal dapat digunakan dengan Xcode, menggunakan template project External Build System. File ini dapat dimodifikasi untuk memanfaatkan setelan project Xcode, seperti jenis dan lokasi build, tetapi tetap berguna jika digunakan secara terpisah.

Membuat Project Eksternal

Untuk membuat project build eksternal baru, di Xcode, pilih dialog New->New Project..., lalu pilih template External Build System. Tempatkan project di direktori yang sama dengan Makefile target.

Menambahkan Setelan Build Xcode

Saat memanggil build eksternal, Xcode menentukan variabel lingkungan untuk setelan build-nya. Setelan ini menentukan tempat file build dibuat, serta tanda compiler dan penaut. Kami menggunakan perintah bersyarat Make untuk mengubah build saat dipanggil oleh Xcode.

Berikut ini contohnya, dengan variabel yang ditetapkan (seperti BUILD_DIR) dapat berupa nama apa pun yang Anda inginkan, sedangkan kondisional menggunakan kumpulan Xcode dari variabel lingkungan:

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)