Форум программистов, компьютерный форум, киберфорум
IvaMic74
Войти
Регистрация
Восстановить пароль
Рейтинг: 1.00. Голосов: 11.

Скрипт bash генерации шаблона проекта C/C++, использующего autoconf и automake

Запись от IvaMic74 размещена 17.11.2020 в 15:24

Приветствую всех!
Начинающие разработчики проходят этапы создания 1..N файлов одной простой программы (например hello.c). Потом с ростом сложности возникает необходимость в освоении и использовании различных систем сборки (make, cmake, meson, ...).
Остановимся на старинной make. Для проектов, распределённых по 1..N папкам необходимо создавать Makefile для каждой из них, или один большой Makefile в корневой папке проекта. Разработка этого хозяйства сильно усложняется. Тут на помощь приходит набор инструментов autotools в составе autoconf, automake, ...
Для проекта достаточно создать файлы configure.ac и Makefile.am в корне проекта и файлы Makefile.am во вложенных папках, ну и конечно свои файлы C/C++. На сайте Николая Малых есть перевод GNU Automake/.
Может быть для начинающих есть и более простое решение для старта освоения данной технологии?
Я попробовал написать простой но объёмный bash- скрипт для подготовки шаблонов много папочных проектов. Основные требования к нему:
  • Скрипт должен быть самодокументируемым (со справкой по использованию)
  • Должен создавать один проект с папкой исходников src по умолчанию
  • Должен создавать один главный проект с несколькими вложенными дополнительными проектами
  • Должен создавать папку data с файлами, необходимыми для простой БД sqlite
  • Должен создавать папку man с файлами справки для корневого и вложенных проектов
  • Должен создавать папку po с файлами интернационализации для корневого и вложенных проектов
  • Должен для создания библиотеки libtest использовать имя папки test
Версию скрипта выложил на Yandex Disk.
Для просмотра справки запустить с опцией -h или --help
Для создания тестового проекта с вложенными проектами запустить
Bash
1
tmpl-proj.sh -p ~/myprogs -n mytest -d -m --create-po src liba01 liba02 prg01
Для использование остаётся только создать свои C/C++ файлы, добавить их в configure.ac, Makefile.am (корень и вложения), доработать по своему усмотрению файлы в папках data, man, po.
после этого выполнить
Bash
1
autoreconf -i && ./configure --prefix ~/temp/install/myproject
,
затем
Bash
1
make && make install
, затем исправить ошибки и повторить при необходимости.
Долее протестируем:
Bash
1
2
3
cd ~/temp/install/myproject
bin/mytest
MANPATH=./share/man/ man mytest
если использовалясь опция --create-po и сборка прошла без ошибок получите сообщения на русском (и man тоже)
В сгенерированных файлах README.ru есть и это описание (поподробнее).

Успехов в освоении классики :-)
Размещено в Без категории
Просмотров 301 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.