У меня есть настройка autotools, сосуществующая с традиционным Makefile в одном репозитории. Чтобы избежать перезаписывания ./Makefile, я установил configure.ac для копирования Makefile.in в Makefile.test.Рекурсия с использованием automake ведет себя неожиданно
Существует подкаталог, которым управляет созданный файл Makefile.test. Когда я запускаю
make -f Makefile.test clean
сценарий правильно входит в тестовый каталог, работает чистым и выходит из каталога. Однако, после возвращения к корню он пытается вызвать очистку утра, используя то, что, как представляется, простой
make clean-am
Это вызывает неправильный сделать файл, и я получаю следующее сообщение об ошибке.
rm -f *.lo
make[2]: Leaving directory `/home/somedude/work_repos/some-repo/test'
make[2]: Entering directory `/home/somedude/work_repos/some-repo'
make[2]: *** No rule to make target `clean-am'. Stop.
make[2]: Leaving directory `/home/somedude/work_repos/some-rep'
make[1]: *** [clean-recursive] Error 1
make[1]: Leaving directory `/home/somedude/work_repos/some-repo'
make: *** [clean] Error 2
Любая помощь по решению этой проблемы будет очень признательна.
Проблема с использованием имени 'GNUmakefile' заключается в том, что он будет работать только в том случае, если пользователь использует gnu make. Однако просто использование имени 'makefile' (с нижним регистром' m') должно работать нормально. –
@WilliamPursell проблема с 'makefile' (строчная), заключается в том, что она вызовет у вас большие проблемы с файловыми системами, которые не чувствительны к регистру (по умолчанию для W32 и OSX) –
Другим вариантом является' makefile, v' (Build a makefile и использовать RCS 'ci' для создания' makefile, v') –