Добавляем поддержку паралельной компиляции MinGW в qmake:
Итак, что нужно :
1. Свободное время, ~10 минут
2. Изменить файлы
qt/qmake/generators/makefile.cpp
qt/qmake/generators/mac/pbuilder_pbx.cpp
qt/qmake/generators/symbian/symmake.cpp
qt/qmake/generators/symbian/symmake_abld.cpp
Найти в исходниках ключ -f, и везде, где встречяется упоминание типа:
$(MAKE) -f или makefilein = " -f " или "make -C -f "
поменять на
$(MAKE) -j9 -f или makefilein = " -j9 -f " или "make -C -j9 -f "
Где: ключ -j (Джоб) указывает количество одновременно выполняемых потоков компиляции (в моем случае девять).
Кол-во потоков компиляции выбираем равным числу ядер процессора + 1 или +2.
Для процессоров ай7 или других с поддержкой гипертрейдинга
Кол-во потоков компиляции выбираем равным числу ядер умножить на два + 1 либо +2, либо +3.
Перед сборкой qmake необходимо прописать Qt-шные пути в файле
qt/src/corelib/global/qconfig.cpp
Код
C++ (Qt)static const char qt_configure_prefix_path_str [512 + 12] = "qt_prfxpath=C:\\qt\\2010.05\\qt";
static const char qt_configure_documentation_path_str[512 + 12] = "qt_docspath=C:\\qt\\2010.05\\qt\\doc";
static const char qt_configure_headers_path_str [512 + 12] = "qt_hdrspath=C:\\qt\\2010.05\\qt\\include";
static const char qt_configure_libraries_path_str [512 + 12] = "qt_libspath=C:\\qt\\2010.05\\qt\\lib";
static const char qt_configure_binaries_path_str [512 + 12] = "qt_binspath=C:\\qt\\2010.05\\qt\\bin";
static const char qt_configure_plugins_path_str [512 + 12] = "qt_plugpath=C:\\qt\\2010.05\\qt\\plugins";
static const char qt_configure_imports_path_str [512 + 12] = "qt_impspath=C:\\qt\\2010.05\\qt\\imports";
static const char qt_configure_data_path_str [512 + 12] = "qt_datapath=C:\\qt\\2010.05\\qt";
static const char qt_configure_translations_path_str [512 + 12] = "qt_trnspath=C:\\qt\\2010.05\\qt\\translations";
static const char qt_configure_examples_path_str [512 + 12] = "qt_xmplpath=C:\\qt\\2010.05\\qt\\examples";
static const char qt_configure_demos_path_str [512 + 12] = "qt_demopath=C:\\qt\\2010.05\\qt\\demos";
/*
static const char qt_configure_prefix_path_str [512 + 12] = "qt_prfxpath=C:\\qt-greenhouse\\Trolltech\\Code_less_create_more\\Trolltech\\Code_less_create_more\\Troll\\4.6\\qt";
static const char qt_configure_documentation_path_str[512 + 12] = "qt_docspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/doc";
static const char qt_configure_headers_path_str [512 + 12] = "qt_hdrspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/include";
static const char qt_configure_libraries_path_str [512 + 12] = "qt_libspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/lib";
static const char qt_configure_binaries_path_str [512 + 12] = "qt_binspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/bin";
static const char qt_configure_plugins_path_str [512 + 12] = "qt_plugpath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/plugins";
static const char qt_configure_imports_path_str [512 + 12] = "qt_impspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/imports";
static const char qt_configure_data_path_str [512 + 12] = "qt_datapath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt";
static const char qt_configure_translations_path_str [512 + 12] = "qt_trnspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/translations";
static const char qt_configure_examples_path_str [512 + 12] = "qt_xmplpath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/examples";
static const char qt_configure_demos_path_str [512 + 12] = "qt_demopath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/demos";
*/
3. Сохраняем текущий qmake под ничего незначащим именем qmake-original (как говориться на всякий пожарный случай)
copy C:\qt\2010.05\qt\bin\qmake.exe C:\qt\2010.05\qt\bin\qmake-original.exe
4. После всех действий остается выполнить несколько команд
cd C:\qt\2010.05\qt\qmake
C:\qt\2010.05\qt\bin\qmake.exe
C:\qt\2010.05\mingw\bin\mingw32-make -j9 -f Makefile.Release
И наслаждаемся! )))
Будет приятно, если эта информация кому нибудь пригодится!