خيار GNU Make - Jobs في Qmake
سؤال
أنا أستخدم Qmake لتوليد MingW32 Makefiles لتطبيق QT C ++ صغيرا، فنحن نتطور. مشكلتي: كل هذه المعالجة المركزية المزدوجة / رباعية النواة تجلس هناك مكتية بينما يفعل موضوع واحد فقط المبنى. من أجل موازاة الأشياء التي حاولت تمريرها - JOBS 4 لجعل، ولكن المشكلة هي أن Qmake يولد ميكروفيل عام يتم استدعاؤه مرة أخرى مع -F.
هل من الممكن إجبار Qmake على إضافة خيارات لجعل عند إنشاء Makefile؟ أو ربما هناك طريقة أخرى لتحديد خيار خارج Qmake تماما؟ لا أستطيع تحرير أن Makefile المحددة لأنها بناء على كل بناء.
المحلول
إساءة $MAKE
لتمرير الخيارات لا يعمل في جميع الحالات. في كثير من الأحيان، (على سبيل المثال في برنامج تكوين Script of QT على UNIX)، يتم إرفاقه في اقتباسات مزدوجة ("$MAKE"
) السماح للأمر بأن يحتوي على مسافات. أعلم أنني استخدمت نفس الخدعة قبل أن تتوقف عن العمل. دعم QT ثم اقترح (بحق) للاستخدام $MAKEFLAGS
كما في
set MAKEFLAGS=-j4
make
نصائح أخرى
هذا يعمل بالنسبة لي:
تعيين make_command = mingw32-make -j٪ number_of_processors٪
استخدامات Makefile العامة $(MAKE)
عند الاحتجاج، يمكنك الكتابة فوقه باستخدام متغيرات البيئة. شيء مثل هذا يجب أن تفعل ذلك:
qmake
make MAKE="mingw32-make -j4"
استبدال قيم MAKE
كما هو مطلوب بالطبع :)