Вобщем суть такая: есть часть проекта на qt, она собирается вызывая qmake и make. решил использовать distcc для сборки столкнулся со следующей проблемой. qmake создает Makefile со следующим содержанием:
.cpp.o:
$(CXX) -c -include qt-client $(CXXFLAGS) $(INCPATH) -o $@ $<
где qt-client название директории и часть названия файла проекта (qt-client.pro) соответственно файла qt-client нет.
при компиляции через i686-pc-linux-gnu-g++ -v получается:
/usr/libexec/gcc/i686-pc-linux-gnu/4.1.1/cc1plus -quiet -v -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -D_GNU_SOURCE -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -include qt-client QTClient.cpp -quiet -dumpbase QTClient.cpp -march=pentium3 -auxbase-strip QTClient.o -O2 -Wall -W -version -fPIC -o - | /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/bin/as -V -Qy -o QTClient.o -
при компиляции через distcc i686-pc-linux-gnu-g++ вываливается ошибка: "cc1plus: error: qt-client: Нет такого файла или каталога ". вывод distcc i686-pc-linux-gnu-g++ -v:
/usr/libexec/gcc/i686-pc-linux-gnu/4.1.1/cc1plus -E -quiet -v -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -D_GNU_SOURCE -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -include qt-client QTClient.cpp -march=pentium3 -Wall -W -fPIC -O2
опции и параметры компиляции не меняются (в ручную проверял). как видно с первого взгляда distcc меняет опции передаваемые для cc1plus. Собственно вопрос: как заставить distcc собирать проект? (Теоретически можно воспользоваться sed'ом на Makefile, но это на крайний случай)