बाहरी बिल्ड प्रोजेक्ट

बाहरी बनाएं फ़ाइलों का इस्तेमाल Xcode के साथ किया जा सकता है. ऐसा करने के लिए, बाहरी बिल्ड सिस्टम प्रोजेक्ट टेंप्लेट. फ़ायदा पाने के लिए, इन फ़ाइलों में बदलाव किया जा सकता है Xcode प्रोजेक्ट सेटिंग, जैसे कि बिल्ड टाइप और लोकेशन अलग-अलग करने पर उपयोगी होते हैं.

कोई बाहरी प्रोजेक्ट बनाएं

नया एक्सटर्नल बिल्ड प्रोजेक्ट बनाने के लिए, Xcode में नया->नया प्रोजेक्ट... डायलॉग बॉक्स में, एक्सटर्नल बिल्ड सिस्टम टेंप्लेट चुनें. प्रोजेक्ट को वही डायरेक्ट्री, जो टारगेट Makefile की है.

Xcode बिल्ड की सेटिंग जोड़ें

किसी बाहरी बिल्ड का इस्तेमाल करते समय, Xcode अपने हिसाब से एनवायरमेंट वैरिएबल को build सेटिंग बनाएं. ये सेटिंग तय करती हैं कि बिल्ड फ़ाइलें कहां बनाई जाएंगी. साथ ही, ये सेटिंग कंपाइलर और लिंकर फ़्लैग. हम Make के शर्त से जुड़े निर्देशों का इस्तेमाल करते हैं का इस्तेमाल करें.

यहां एक उदाहरण दिया गया है, जिसमें सेट किए जाने वाले वैरिएबल (जैसे कि 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)