Я пытаюсь создать приложение CGI на C++, которое использует систему сборки autotools. Это приложение будет интерфейсом для моего встроенного устройства.
В результате make
/make all
У меня есть каталог bin
с исполняемыми файлами * .cgi, предварительно подготовленными файлами html-templates
и images
и файлом конфигурации lighttpd.настроить «make install» с automake/autotools
Мне нужно, чтобы переместить мое содержание в соответствующие каталоги целевого устройства, то есть:
- все .cgi от бен двигаться до $ (wwwdir)/CGI-BIN, где, если не указано, чем wwwdir бы/вар/WWW/
images
каталог рекурсивно к тому же $ (wwwdir) каталог- все HTML шаблонов до $ (datarootdir)/$ (PACKAGE_NAME)
- lighttpd.conf до $ (sysconfdir)
Список моих программ определяется следующим образом:
bin_PROGRAMS=$(top_builddir)/bin/main.cgi
(здесь только один main.cgi)
Есть элегантный способ указать этапы установки с помощью файла configure.ac/Makefile.am так, что как только пользователь (или какая-то другая система сборки) работает make install
все файлы получат там, где они должны были?
В настоящее время в результате make install
- двоичный файл main.cgi
земли в /usr/local/bin/
.
Как насчет 'PACKAGE_NAME' в вопросе? В моем 'Makefile.am' я использовал' @datadir @/@ package_name @ ', и он был заменен на' $ {datarootdir}/@ package_name @ ', что, очевидно, неверно. – jww