Этот вопрос расширяет вопрос Как обрабатывать подпроекты с помощью автоинструментов?
Итак, у меня есть проект с собственным Makefile (не GNU autotools) в modules/libfoo.
Я добавил SUBDIRS = include/jsonbox Makefile.am, и он отлично компилируется, но только если я вызываю ./configure и делаю из верхнего каталога.
Если я создам подкаталог, скажем, build, и запущу из него ../configure, я получу ошибку во время make:
Making all in modules/libfoo
/bin/sh: line 17: cd: modules/libfoo: No such file or directory
make: *** [all-recursive] Error 1
Можно ли справиться с этим? Мне нужно несколько каталогов сборки для разных арок и CFLAGS.
EDIT: Как указано в docs Я создал GNUmakefile.in во вложенном проекте. Но это все еще не работает с VPATH:
Making all in modules/libfoo
make[1]: Entering directory `/home/galadog/test/build/moudles/libfoo'
GNUmakefile:2: Makefile: No such file or directory
make[1]: *** No rule to make target `Makefile'. Stop.
make[1]: Leaving directory `/home/galadog/test/build/moudles/libfoo'
make: *** [all-recursive] Error 1
Edit2 Фактический файл Makefile можно увидеть здесь: https://github.com/anhero/JsonBox/blob/master/Makefile
Makefile
для нас? Возможно, у него уже есть какая-то поддержка build-dir/VPATH, но, честно говоря, я в этом сомневаюсь. - person Michał Górny   schedule 19.08.2012