Я запускаю файл NDK для Android, используя ndk-build
, который является обычным gnu make, который запускается с шаблонами makefile google. Я запускаю его с помощью ndk-build -j8
, и я могу подтвердить, что действительно команда make
работает с -j8
Компиляция, однако, продолжает скомпилировать мои исходные файлы по одному, никогда не запуская clang++
еще один раз за раз. Это было не всегда так. Всего несколько дней назад я использовал те же самые точные сценарии, и он использовал все 8 ядер и был намного быстрее.
Что может сделать gnu сделать не уважать -j8
вдруг?
Есть ли способ заставить gnu произвести любую пояснительную информацию об этом? Различные опции --debug, похоже, не говорят об этом.gnu make -j8 не работает в параллельном режиме
Запуск от OSX 10.10.5, версия GNU Make является 3,81
Update: Если я ndk-build clean
раньше, сборка я сразу же после того, как это работает на всех 8 ядер. После сборки сделана на следующий день после возвращения, чтобы использовать только 1 ядро
Я предполагаю, что у вас есть некоторые странные зависимости в вашем 'Makefile'. Мы не можем ответить на ваш вопрос, прежде чем его увидеть. Возможно, некоторые файлы '-include'd помещают некоторый беспорядок. –
Кстати, вы действительно должны обновить GNU 'make' до 4.1 и/или использовать [remake] (http://bashdb.sourceforge.net/remake/) или' make -trace' для отладки таких проблем; попробуйте 'make clean' и/или' make distclean' –
. Ваш вопрос должен быть закрыт с двух сторон вне темы: не отображается код (вы должны показать свой 'Makefile'), но просят отладить его и многое другое по теме [superuser ] (http://superuser.com/) –