void MingwMakefileGenerator::writeObjectsPart(QTextStream &t) { if (project->values("OBJECTS").count() < var("QMAKE_LINK_OBJECT_MAX").toInt()) { objectsLinkLine = "$(OBJECTS)"; } else if (project->isActiveConfig("staticlib") && project->first("TEMPLATE") == "lib") { QString ar_script_file = var("QMAKE_LINK_OBJECT_SCRIPT") + "." + var("TARGET"); if (!var("BUILD_NAME").isEmpty()) { ar_script_file += "." + var("BUILD_NAME"); } createArObjectScriptFile(ar_script_file, var("DEST_TARGET"), project->values("OBJECTS")); // QMAKE_LIB is used for win32, including mingw, whereas QMAKE_AR is used on Unix. // Strip off any options since the ar commands will be read from file. QString ar_cmd = var("QMAKE_LIB").section(" ", 0, 0);; if (ar_cmd.isEmpty()) ar_cmd = "ar"; objectsLinkLine = ar_cmd + " -M < " + ar_script_file; } else { QString ld_script_file = var("QMAKE_LINK_OBJECT_SCRIPT") + "." + var("TARGET"); if (!var("BUILD_NAME").isEmpty()) { ld_script_file += "." + var("BUILD_NAME"); } createLdObjectScriptFile(ld_script_file, project->values("OBJECTS")); objectsLinkLine = ld_script_file; } Win32MakefileGenerator::writeObjectsPart(t); }
void MingwMakefileGenerator::writeObjectsPart(QTextStream &t) { if (project->values("OBJECTS").count() < var("QMAKE_LINK_OBJECT_MAX").toInt()) { objectsLinkLine = "$(OBJECTS)"; } else if (project->isActiveConfig("staticlib") && project->first("TEMPLATE") == "lib") { QString ar_script_file = var("QMAKE_LINK_OBJECT_SCRIPT") + "." + var("TARGET"); if (!var("BUILD_NAME").isEmpty()) { ar_script_file += "." + var("BUILD_NAME"); } createArObjectScriptFile(ar_script_file, var("DEST_TARGET"), project->values("OBJECTS")); objectsLinkLine = "ar -M < " + ar_script_file; } else { QString ld_script_file = var("QMAKE_LINK_OBJECT_SCRIPT") + "." + var("TARGET"); if (!var("BUILD_NAME").isEmpty()) { ld_script_file += "." + var("BUILD_NAME"); } createLdObjectScriptFile(ld_script_file, project->values("OBJECTS")); objectsLinkLine = ld_script_file; } Win32MakefileGenerator::writeObjectsPart(t); }