Changeset 42 for trunk/qmake/generators/os2/gnumake.cpp
- Timestamp:
- Jun 21, 2009, 9:24:04 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/qmake/generators/os2/gnumake.cpp
r39 r42 200 200 init_flag = true; 201 201 202 if(project->first("TEMPLATE") == "app") 202 if(project->first("TEMPLATE") == "app") { 203 mode = App; 203 204 project->values("QMAKE_APP_FLAG").append("1"); 204 else if(project->first("TEMPLATE") == "lib") 205 } else if(project->first("TEMPLATE") == "lib") { 206 mode = project->isActiveConfig("staticlib") ? StaticLib : DLL; 205 207 project->values("QMAKE_LIB_FLAG").append("1"); 206 else if(project->first("TEMPLATE") == "subdirs") {208 else if(project->first("TEMPLATE") == "subdirs") { 207 209 MakefileGenerator::init(); 208 210 if(project->isEmpty("QMAKE_COPY_FILE")) … … 250 252 QString preCompHeader = var("PRECOMPILED_DIR") 251 253 + QFileInfo(project->first("PRECOMPILED_HEADER")).fileName(); 252 253 254 255 256 257 project->values("QMAKE_RUN_CC").append("$(CC) -c -include " + preCompHeader +258 254 preCompHeaderOut = preCompHeader + ".gch"; 255 project->values("QMAKE_CLEAN").append(preCompHeaderOut + Option::dir_sep + "c"); 256 project->values("QMAKE_CLEAN").append(preCompHeaderOut + Option::dir_sep + "c++"); 257 258 project->values("QMAKE_RUN_CC").clear(); 259 project->values("QMAKE_RUN_CC").append("$(CC) -c -include " + preCompHeader + 260 " $(CFLAGS) $(INCPATH) -o $obj $src"); 259 261 project->values("QMAKE_RUN_CC_IMP").clear(); 260 261 262 project->values("QMAKE_RUN_CC_IMP").append("$(CC) -c -include " + preCompHeader + 263 " $(CFLAGS) $(INCPATH) -o $@ $<"); 262 264 project->values("QMAKE_RUN_CXX").clear(); 263 264 265 project->values("QMAKE_RUN_CXX").append("$(CXX) -c -include " + preCompHeader + 266 " $(CXXFLAGS) $(INCPATH) -o $obj $src"); 265 267 project->values("QMAKE_RUN_CXX_IMP").clear(); 266 267 268 project->values("QMAKE_RUN_CXX_IMP").append("$(CXX) -c -include " + preCompHeader + 269 " $(CXXFLAGS) $(INCPATH) -o $@ $<"); 268 270 } 269 271 } … … 271 273 void GNUMakefileGenerator::fixTargetExt() 272 274 { 273 Win32MakefileGenerator::fixTargetExt(); 275 if (mode == App) 276 project->values("TARGET_EXT").append(".exe"); 277 else if (mode == DLL) 278 project->values("TARGET_EXT").append(project->first("TARGET_VERSION_EXT") + ".dll"); 279 else 280 project->values("TARGET_EXT").append(".lib"); 274 281 } 275 282 … … 293 300 void GNUMakefileGenerator::writeLibsPart(QTextStream &t) 294 301 { 295 if (project->isActiveConfig("staticlib") && project->first("TEMPLATE") == "lib") {302 if) { 296 303 t << "LIB = " << var("QMAKE_LIB") << endl; 297 304 } else { … … 346 353 t << "all: " << escapeDependencyPath(fileFixify(Option::output.fileName())) << " " << valGlue(escapeDependencyPaths(project->values("ALL_DEPS"))," "," "," ") << " $(DESTDIR_TARGET)" << endl << endl; 347 354 t << "$(DESTDIR_TARGET): " << var("PRE_TARGETDEPS") << " $(OBJECTS) " << var("POST_TARGETDEPS"); 348 if (!project->isEmpty("QMAKE_PRE_LINK"))355 if(!project->isEmpty("QMAKE_PRE_LINK")) 349 356 t << "\n\t" <<var("QMAKE_PRE_LINK"); 350 if (project->first("TEMPLATE") == "lib" && project->isActiveConfig("staticlib")) {357 if) { 351 358 /* static library */ 352 359 t << "\n\t" << var("QMAKE_RUN_LIB"); … … 357 364 t << "\n\t" << var("QMAKE_RUN_RC2EXE"); 358 365 } 359 if (project->first("TEMPLATE") == "lib") { 360 if (!project->isEmpty("QMAKE_RUN_IMPLIB")) 361 t << "\n\t" << var("QMAKE_RUN_IMPLIB"); 366 if (mode == DLL && !project->isEmpty("QMAKE_RUN_IMPLIB")) { 367 t << "\n\t" << var("QMAKE_RUN_IMPLIB"); 362 368 } 363 369 } … … 375 381 t << "RES_FILE = " << valList(escapeFilePaths(project->values("RES_FILE"))) << endl; 376 382 } 377 if (project->first("TEMPLATE") == "lib" && !project->isActiveConfig("staticlib") && 378 !project->isEmpty( "QMAKE_RUN_IMPLIB")) { 383 if (mode == DLL && !project->isEmpty("QMAKE_RUN_IMPLIB")) { 379 384 t << "TARGET_IMPLIB = $(basename $(DESTDIR_TARGET)).lib" << endl; 380 project->values("QMAKE_CLEAN").append( "$(TARGET_IMPLIB)" ); 385 project->values("QMAKE_CLEAN").append("$(TARGET_IMPLIB)"); 386 } 387 388 if (project->isEmpty("DEF_FILE")) { 389 /* no DEF file supplied, we will generate one */ 390 if (mode == DLL) { 391 t << "DEF_FILE = $(basename $(DESTDIR_TARGET)).def" << endl; 392 project->values("QMAKE_CLEAN").append("$(DEF_FILE)"); 393 project->values("POST_TARGETDEPS") += "$(DEF_FILE)"; 394 if (!project->isEmpty("DEF_FILE_TEMPLATE")) { 395 t << "DEF_FILE_TEMPLATE = " << escapeFilePath(var("DEF_FILE_TEMPLATE")) << endl; 396 project->values("QMAKE_GENDEF_DEPS") += "$(DEF_FILE_TEMPLATE)"; 397 } 398 if (!project->isEmpty("DEF_FILE_MAP")) { 399 t << "DEF_FILE_MAP = " << escapeFilePath(var("DEF_FILE_MAP")) << endl; 400 project->values("QMAKE_GENDEF_DEPS") += "$(DEF_FILE_MAP)"; 401 } 402 } 403 } else { 404 if (!project->isEmpty("DEF_FILE_TEMPLATE")) { 405 fprintf(stderr, "Both DEF_FILE and DEF_FILE_TEMPLATE are specified.\n"); 406 fprintf(stderr, "Please specify one of them, not both."); 407 exit(1); 408 } 409 t << "DEF_FILE = " << escapeFilePath(var("DEF_FILE")) << endl; 410 project->values("POST_TARGETDEPS") += "$(DEF_FILE)"; 381 411 } 382 412 } … … 389 419 t << var("QMAKE_RUN_RC2RES") << endl; 390 420 } 421 422 423 424 425 426 391 427 } 392 428 … … 396 432 return; 397 433 398 if (!project-> values("RC_FILE").isEmpty()) {399 if (!project-> values("RES_FILE").isEmpty()) {434 if (!project->)) { 435 if (!project->)) { 400 436 fprintf(stderr, "Both rc and res file specified.\n"); 401 437 fprintf(stderr, "Please specify one of them, not both."); … … 409 445 } 410 446 411 if (!project-> values("RES_FILE").isEmpty())447 if (!project->)) 412 448 project->values("POST_TARGETDEPS") += "$(RES_FILE)"; 413 449 }
Note:
See TracChangeset
for help on using the changeset viewer.