Я пытаюсь написать простой пакет Autotool, который просто упаковывает один скрипт. Это может показаться излишним, но скрипт должен быть добавлен в систему сборки для встраиваемой системы, а система сборки спроектирована так, чтобы хорошо работать с Autotools.
У меня есть сценарий оболочки с именем wifi_query.sh
. Чтобы упаковать это, я выполнил следующие шаги:
Создал
Makefile.am
, который содержит следующее:bin_SCRIPTS = wifi_query.sh CLEANFILES = $(bin_SCRIPTS)
- Я также создал
wifi_query.sh.in
, который содержит строкуexec wifi_query.sh
. Я не уверен, что понимаю назначение файла.in
. - Затем я запускаю
autoscan
. Затем я запускаю:
sed -e 's/FULL-PACKAGE-NAME/wifi_query/' \ -e 's/VERSION/1/' \ -e 's|BUG-REPORT-ADDRESS|/dev/null|' \ -e '10i\ AM_INIT_AUTOMAKE' \ < configure.scan > configure.ac
Выполнить
touch NEWS README AUTHORS ChangeLog
.Выполнить
autoreconf -iv
./configure
make distcheck
Когда я запускаю make distcheck
, я получаю сообщение об ошибке: «* Нет правила для создания цели 'wifi_query.sh', необходимой для 'all-am'. Стоп.".
Я не понимаю эту ошибку, если бы кто-нибудь мог дать мне какие-либо указатели, это было бы хорошо. Я подозреваю, что ошибка может быть связана с wifi_query.sh.in
, но у меня очень ограниченный опыт работы с автоинструментами.
wifi_query.sh.in
не вызывал проблемы; но это и не должно быть необходимо. Если бы это было так, его целью была бы замена кода, зависящего от платформы, наwifi_query.sh
. - person ptomato   schedule 04.06.2013AM_INIT_AUTOMAKE([foreign])
, если у вас нет значимого контента дляNEWS
,README
и т. д. Затем вы можете удалить пустые файлы. - person chirlu   schedule 06.06.2013