Розділ 5. Збирання (компіляція) проєктів з нетиповими Makefile

У багатьох проєктах спосіб збирання файлів коду та визначення тих файлів, які слід повторно зібрати у разі внесення змін до коду, виконується за допомогою файлів Makefile, обробку яких здійснює програма make (див., наприклад, GNU make). У простих проєктах нескладно створити такий файл власноруч. У великих проєктах створення таких файлів часто покладається на GNU autotools (autoconf, autoheader, automake). У цьому розділі ми припускатимемо, що файл Makefile вашого проєкту вже створено, вам просто потрібно вказати KDevelop, у який спосіб слід взаємодіяти з цим файлом.

Примітка

KDevelop 4.x не може працювати з GNU autotools безпосередньо на час написання цього підручника. Якщо відповідні інструменти використовуються у вашому проєкті, вам доведеться запускати скрипт ./configure або подібний до нього скрипт з командного рядка вручну. Якщо ви бажаєте зробити це з самого вікна KDevelop, відкрийте панель інструмента Konsole (якщо потрібно, додайте цю панель у нижній частині головного вікна за допомогою пункту меню ВікнаДодати панель інструмента), у якій можна буде віддати команду оболонці і вкажіть команду ./configure.

Насамперед, слід повідомити KDevelop про цілі збирання у вашому файлі Makefile. Передбачено два способи: вибір окремих цілей Makefile і вибір набору цілей, які потрібно збирати доволі часто. Для реалізації обох цих способів слід відкрити вікно інструмента Проєкти натисканням заголовка вкладки Проєкти, розташованої у лівій частині головного вікна KDevelop (якщо цього заголовка немає у вікні вашої програми, вище наведено настанови щодо додавання кнопки відповідного інструмента). Панель Проєкти складається з двох частин. У верхній частині з заголовком Проєкти показано список всіх ваших проєктів, у якому можна розгортати пункти каталогів. У нижній частині з заголовком Вибір проєкту показано список набори проєктів, які буде зібрано, якщо ви виберете пункт меню ПроєктЗібрати позначене або натиснете клавішу F8; нижче ми поговоримо про цю частину докладніше.

Збирання окремих цілей з Makefile

У верхній частині панелі проєктів розгорніть список одного з проєктів, наприклад, того, для якого слід виконати збирання однієї з цілей Makefile. У списку ви побачите піктограми каталогів, файлів у каталозі верхнього рівня проєкту, цілі Makefile, які вдалося визначити KDevelop. На знімку вікна ці категорії показано праворуч. Зауважте, що KDevelop певною мірою розуміє синтаксис Makefile і тому сам визначає цілі, визначені у файлі Makefile (хоча це розуміння і має певні обмеження: не буде показано складені або неявні цілі).

Щоб зібрати будь-яку з цілей у списку, наведіть на її пункт вказівник миші, клацніть правою кнопкою миші і виберіть у контекстному меню пункт Зібрати. Наприклад, виконання цих дій для цілі «clean» призведе до виконання команди «make clean». Повідомлення щодо виконання дій можна буде побачити у підвікні Збирання. Це вікно відповідає інструменту Зібрати, отже його можна закрити і пізніше відкрити за допомогою пункту Зібрати, розташованої на панелі інструментів головного вікна. На нашому знімку цю кнопку розташовано праворуч внизу.