Полагаю, ваш Makefile правильно отформатирован, с вкладками, где они должны быть, и т. Д.
Затем, когда вы запускаете make install
в каталоге верхнего уровня, у вашего Makefile
есть правило, чтобы сделать цель install:
, в которой говорится, что нужно выполнить цикл в ваших подкаталогах, ввести каждый из них и запустить make install
там (это то, что делает опция -C
). Одна из этих подзадач завершается неудачей, скорее всего потому, что в соответствующем подкаталоге она не находит Makefile
с рецептом install
. В случае сбоя подкоманды цикл продолжается с остальными подзадачами (если оболочка не получила других инструкций с помощью переключателя -e
), а конечный код возврата всего рецепта будет кодом возврата последний субмейкер.
Есть некоторые моменты, которые стоит обсудить в вашей Makefile
(например, install
должен быть указан как цель .PHONY
), но вы не предоставляете достаточно информации, чтобы прояснить их: например, действительно ли это необходимо чтобы оболочка проходила по подкаталогам в определенном порядке? Как правило, лучшей политикой является make
распараллеливание подмоделей при любой возможности (и, как побочный эффект, make
остановка при неудачном завершении первого подмейка ...)