Pull to refresh

Использование XCode совместно с GNU Make

Reading time2 min
Views821
Думаю никто не будет спорить, что писать программный код в IDE намного удобней, чем, скажем, в vim или каком-либо другом «просто редакторе». Тут и подсветка синтаксиса (справедливости ради надо отметить, что она есть практически во всех редакторах) и автодополнение и тесная связь с отладчиком. Иногда документация. Ну в общем множество разных приятных вещей.
Но так уж исторически сложилось, что описание параметров сборки каждая IDE хранит по-своему. Зачастую в совершенно неприглядном виде. Это не создаёт проблем если разработка ведётся на целевой платформе. А если код кроссплатформенный? И на других платформах (да пусть даже хоть на одной из них) нужная IDE отсутствует?
Неприятно.

Вот и я столкнулся с такой проблемой: на рабочем месте у меня стоит мак (в качестве IDE использую XCode), а пишу я сетевой код, который должен работать на большом спектре оборудования, начиная с iPhone и заканчивая Sony PS.
XCode вполне неплохая IDE. Никаких серьёзных претензий к ней нет. Ну кроме странного формата «проекта».

Но оказывается всё не так плохо, как кажется на первый взгяд. И после нескольких неочевидных, но очень простых действий мы можем приучить XCode к GNU Make. При этом мы получаем как удобную IDE, так и всю мощь make. А уж make есть на таких платформах, о которых я даже не слышал.
Приступаем.


Создаём шаблон проекта

Запускаем XCode и в меню «File» выбираем пункт «New Project».
Далее при выборе «template» выбираем «Other»->«External Build System»
Как обычно вводим имя проекта.

На данном этапе у нас есть шаблон проекта. Хорошо. Продолжаем.

Создаём новый «target»

В меню «Project» выбираем пункт «New Target».
В появившемся окне выбираем «Other»->«External Target». Жмём кнопку «Next» и получаем новое окно, где вводим имя target`a (Вводите любое — это не имеет никакого отношения к именам файлов и т.п. Это лишь указывает как target будет именоваться в XCode)
Дважды кликаем на новый target и в поле «Directory» указываем директорию, в которой находится Makefile.
Далее в меню «Progect» с помощью пункта «Set Active Target» делаем наш новый target активным.Старый target можно с чистой совестью удалить.

Добавляем в проект исходный код

Теперь добавляем в проект исходный код обычным способом.
Без копирования! Пусть остаётся на своём месте.

Указываем путь к исполняемому файлу

В меню «Project» выбираем пункт «New Custom Executable» и в графе «Executable Path» указываем путь к директории, куда Make соберёт ваш проект. Ну и добавим название файла в конце.
Т.е. необходимо ввести путь к результирующему исполняемому файлу.
Нажимаем «Finish» и можем пользоваться.

Готово!


Дальнейшие действия никак не отличаются от обычного использования XCode.

Данный «рецепт» перепроверялся для версий XCode 3.2.3 и 3.2.4. Скриншоты я не привожу умышленно, поскольку алгоритм работает и для намного более старых версий IDE, но интерфейс несколько отличается.

Пользуйтесь на здоровье!
Tags:
Hubs:
Total votes 1: ↑1 and ↓0+1
Comments0

Articles