פרויקטים חיצוניים של גרסת build

אפשר להשתמש בקובצי יצירה חיצוניים עם Xcode, באמצעות תבנית פרויקט מסוג External Build System. אפשר לשנות את הקבצים האלה כדי לנצל את ההגדרות של פרויקט Xcode, כמו סוג ה-build והמיקום, אבל להשתמש בהם בנפרד.

יצירת פרויקט חיצוני

כדי ליצור פרויקט build חיצוני חדש, ב-Xcode בוחרים בתיבת הדו-שיח 'חדש->פרויקט חדש...' ואז בוחרים בתבנית External Build System. מציבים את הפרויקט באותה ספרייה שבה נמצא קובץ היעד של Makefile.

הוספת הגדרות של Xcode Build

כשמפעילים build חיצוני, Xcode מגדיר משתני סביבה להגדרות ה-build. ההגדרות האלה קובעות איפה נוצרים קובצי build, וגם דגלים של מהדר ומקשר. אנחנו משתמשים בהוראות המותנות של Make כדי לשנות את ה-build כשהוא מופעל על ידי Xcode.

לפניכם דוגמה, שבה המשתנים שאתם מגדירים (כמו BUILD_DIR) יכולים להיות בכל שם שתרצו, ואילו התנים משתמשים במשתני הסביבה שהוגדרו ב-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)