If a C programmer asks "do you want to see something cool?", run away.
--John Van Enk

Monday, September 17, 2007

GNU autotools made easy with KDevelop

Вспомнилось как-то мне мое первое знакомство с Linux. Было это на 2-м курсе (или 3-м?) университета. Тогда мы работали на бездисковых станциях под DOS, которые грузились по сети (на сервере кафедры работал, да и сейчас работает MARS), а потом по ssh коннектились к серверу и работали с терминала (vt100). Midnight Commander'ом нам пользоваться было запрещено, реадакторы - vi и ed. Признаться меня тогда это не слишком впечатлило. Затем дошли руки и я установил себе в качестве второй ОС - ASP Linux 10, потом была 11-ка и 11.2, Fedora 4 и 6, Slackware 11 и в конце концов недавно таки дома переехал на Debian Etch. Больше всего понравились мне слака (чистотой) и дебиан (правильностью и наличием богатого набора софта). Ну и так как я все-таки считал себя программистом - то встал вопрос о наличии интегрированной среды разработки под линукс, так как я, будучи заядлым виндузятником, не представлял себе что можно програмить без нее. Тут мой взор привлекла среда KDevelop. С ней мне удалось разобраться методом тыка довольно быстро и, сказать по правде, я очень сильно к ней привык. Уже потом я узнал, что сборка большинства GNU софта управляется при помощи GNU Autotools, и с удивлением обнаружил, что KDevelop имеет так называемый Automake Manager, который использует те же файлы, что и autotools (configure.in, makefile.am, makefile.in), которые в принципе можно и вручную поправить и Automake Manager это скушает. Конечно он умеет не все, но если надо быстро въехать - самое оно. Вот как он выглядит


Позволяет строить проект из подпроектов, добавлять новые цели сборки, указывать префикс установки, создавать новые префиксы, если стандартные не устраивают, добавлять и создавать новые файлы. В общем полный букет
Вот например как выглядит добавление новой цели:


Указание префикса установки для этой цели


Ну и собственно добавление нового файла в проект


В общем для начинающих программистов под линукс KDevelop самое оно, да впрочем и не только для начинающих, чего греха таить - я и сам им пользуюсь до сих пор, всем устраивает, если чего-то не хватает, то завсегда можно ручками нужное дописать и исправить и он его послушно скушает, так как всего лишь является графической надстройкой над существующими уже не один год консольными утилитами для разработки проектов самой различной сложности. На то она и интегрированная среда разработки ;-)
В общем рекомендую.