summaryrefslogtreecommitdiff
authorzecke <zecke>2003-04-20 18:11:49 (UTC)
committer zecke <zecke>2003-04-20 18:11:49 (UTC)
commitd32e9a7306da861786551c518525862a50154b95 (patch) (unidiff)
tree4ee2c97637b53691ea48322a200ec98cb7f13189
parentca3cd49d65353584bfe85755ef2885b049d25d33 (diff)
downloadopie-d32e9a7306da861786551c518525862a50154b95.zip
opie-d32e9a7306da861786551c518525862a50154b95.tar.gz
opie-d32e9a7306da861786551c518525862a50154b95.tar.bz2
add PRO = file.pro
to the Makefile
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--qmake/generators/unix/unixmake2.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index cbe2014..9bb6f6b 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -50,121 +50,122 @@ UnixMakefileGenerator::UnixMakefileGenerator(QMakeProject *p) : MakefileGenerato
50 50
51bool 51bool
52UnixMakefileGenerator::writeMakefile(QTextStream &t) 52UnixMakefileGenerator::writeMakefile(QTextStream &t)
53{ 53{
54 writeHeader(t); 54 writeHeader(t);
55 if(!project->variables()["QMAKE_FAILED_REQUIREMENTS"].isEmpty()) { 55 if(!project->variables()["QMAKE_FAILED_REQUIREMENTS"].isEmpty()) {
56 t << "all clean:" << "\n\t" 56 t << "all clean:" << "\n\t"
57 << "@echo \"Some of the required modules (" 57 << "@echo \"Some of the required modules ("
58 << var("QMAKE_FAILED_REQUIREMENTS") << ") are not available.\"" << "\n\t" 58 << var("QMAKE_FAILED_REQUIREMENTS") << ") are not available.\"" << "\n\t"
59 << "@echo \"Skipped.\"" << endl << endl; 59 << "@echo \"Skipped.\"" << endl << endl;
60 writeMakeQmake(t); 60 writeMakeQmake(t);
61 return TRUE; 61 return TRUE;
62 } 62 }
63 63
64 if (project->variables()["TEMPLATE"].first() == "app" || 64 if (project->variables()["TEMPLATE"].first() == "app" ||
65 project->variables()["TEMPLATE"].first() == "lib") { 65 project->variables()["TEMPLATE"].first() == "lib") {
66 writeMakeParts(t); 66 writeMakeParts(t);
67 return MakefileGenerator::writeMakefile(t); 67 return MakefileGenerator::writeMakefile(t);
68 } else if(project->variables()["TEMPLATE"].first() == "subdirs") { 68 } else if(project->variables()["TEMPLATE"].first() == "subdirs") {
69 writeSubdirs(t); 69 writeSubdirs(t);
70 return TRUE; 70 return TRUE;
71 } 71 }
72 return FALSE; 72 return FALSE;
73} 73}
74 74
75void 75void
76UnixMakefileGenerator::writeMakeParts(QTextStream &t) 76UnixMakefileGenerator::writeMakeParts(QTextStream &t)
77{ 77{
78 QString deps = fileFixify(Option::output.name()), prl; 78 QString deps = fileFixify(Option::output.name()), prl;
79 bool do_incremental = (project->isActiveConfig("incremental") && 79 bool do_incremental = (project->isActiveConfig("incremental") &&
80 !project->variables()["QMAKE_INCREMENTAL"].isEmpty() && 80 !project->variables()["QMAKE_INCREMENTAL"].isEmpty() &&
81 (!project->variables()["QMAKE_APP_FLAG"].isEmpty() || 81 (!project->variables()["QMAKE_APP_FLAG"].isEmpty() ||
82 !project->isActiveConfig("staticlib"))), 82 !project->isActiveConfig("staticlib"))),
83 src_incremental=FALSE, moc_incremental=FALSE; 83 src_incremental=FALSE, moc_incremental=FALSE;
84 QString os = project->variables()["QMAKESPEC"].first().section( '-', 0, 0 ); 84 QString os = project->variables()["QMAKESPEC"].first().section( '-', 0, 0 );
85 85
86 t << "####### Compiler, tools and options" << endl << endl; 86 t << "####### Compiler, tools and options" << endl << endl;
87 t << "CC = "; 87 t << "CC = ";
88 if (project->isActiveConfig("thread") && 88 if (project->isActiveConfig("thread") &&
89 ! project->variables()["QMAKE_CC_THREAD"].isEmpty()) 89 ! project->variables()["QMAKE_CC_THREAD"].isEmpty())
90 t << var("QMAKE_CC_THREAD") << endl; 90 t << var("QMAKE_CC_THREAD") << endl;
91 else 91 else
92 t << var("QMAKE_CC") << endl; 92 t << var("QMAKE_CC") << endl;
93 93
94 t << "CXX = "; 94 t << "CXX = ";
95 if (project->isActiveConfig("thread") && 95 if (project->isActiveConfig("thread") &&
96 ! project->variables()["QMAKE_CXX_THREAD"].isEmpty()) 96 ! project->variables()["QMAKE_CXX_THREAD"].isEmpty())
97 t << var("QMAKE_CXX_THREAD") << endl; 97 t << var("QMAKE_CXX_THREAD") << endl;
98 else 98 else
99 t << var("QMAKE_CXX") << endl; 99 t << var("QMAKE_CXX") << endl;
100 100
101 t << "LEX = " << var("QMAKE_LEX") << endl; 101 t << "LEX = " << var("QMAKE_LEX") << endl;
102 t << "YACC = " << var("QMAKE_YACC") << endl; 102 t << "YACC = " << var("QMAKE_YACC") << endl;
103 t << "CFLAGS = " << var("QMAKE_CFLAGS") << " " 103 t << "CFLAGS = " << var("QMAKE_CFLAGS") << " "
104 << varGlue("PRL_EXPORT_DEFINES","-D"," -D","") << " " 104 << varGlue("PRL_EXPORT_DEFINES","-D"," -D","") << " "
105 << varGlue("DEFINES","-D"," -D","") << endl; 105 << varGlue("DEFINES","-D"," -D","") << endl;
106 t << "CXXFLAGS = " << var("QMAKE_CXXFLAGS") << " " 106 t << "CXXFLAGS = " << var("QMAKE_CXXFLAGS") << " "
107 << varGlue("PRL_EXPORT_DEFINES","-D"," -D","") << " " 107 << varGlue("PRL_EXPORT_DEFINES","-D"," -D","") << " "
108 << varGlue("DEFINES","-D"," -D","") << endl; 108 << varGlue("DEFINES","-D"," -D","") << endl;
109 t << "LEXFLAGS = " << var("QMAKE_LEXFLAGS") << endl; 109 t << "LEXFLAGS = " << var("QMAKE_LEXFLAGS") << endl;
110 t << "YACCFLAGS= " << var("QMAKE_YACCFLAGS") << endl; 110 t << "YACCFLAGS= " << var("QMAKE_YACCFLAGS") << endl;
111 t << "INCPATH = " << varGlue("INCLUDEPATH","-I", " -I", "") << " -I" << specdir() << endl; 111 t << "INCPATH = " << varGlue("INCLUDEPATH","-I", " -I", "") << " -I" << specdir() << endl;
112 112
113 if(!project->isActiveConfig("staticlib")) { 113 if(!project->isActiveConfig("staticlib")) {
114 t << "LINK = "; 114 t << "LINK = ";
115 if (project->isActiveConfig("thread") && 115 if (project->isActiveConfig("thread") &&
116 ! project->variables()["QMAKE_LINK_THREAD"].isEmpty()) 116 ! project->variables()["QMAKE_LINK_THREAD"].isEmpty())
117 t << var("QMAKE_LINK_THREAD") << endl; 117 t << var("QMAKE_LINK_THREAD") << endl;
118 else 118 else
119 t << var("QMAKE_LINK") << endl; 119 t << var("QMAKE_LINK") << endl;
120 120
121 t << "LFLAGS = " << var("QMAKE_LFLAGS") << endl; 121 t << "LFLAGS = " << var("QMAKE_LFLAGS") << endl;
122 t << "LIBS = " << "$(SUBLIBS) " << var("QMAKE_LIBDIR_FLAGS") << " " << var("QMAKE_LIBS") << endl; 122 t << "LIBS = " << "$(SUBLIBS) " << var("QMAKE_LIBDIR_FLAGS") << " " << var("QMAKE_LIBS") << endl;
123 } 123 }
124 124
125 t << "AR = " << var("QMAKE_AR") << endl; 125 t << "AR = " << var("QMAKE_AR") << endl;
126 t << "RANLIB = " << var("QMAKE_RANLIB") << endl; 126 t << "RANLIB = " << var("QMAKE_RANLIB") << endl;
127 t << "MOC = " << var("QMAKE_MOC") << endl; 127 t << "MOC = " << var("QMAKE_MOC") << endl;
128 t << "UIC = "<< var("QMAKE_UIC") << endl; 128 t << "UIC = "<< var("QMAKE_UIC") << endl;
129 t << "QMAKE = "<< (project->isEmpty("QMAKE_QMAKE") ? QString("qmake") : var("QMAKE_QMAKE")) << endl; 129 t << "QMAKE = "<< (project->isEmpty("QMAKE_QMAKE") ? QString("qmake") : var("QMAKE_QMAKE")) << endl;
130 t << "TAR = "<< var("QMAKE_TAR") << endl; 130 t << "TAR = "<< var("QMAKE_TAR") << endl;
131 t << "GZIP = " << var("QMAKE_GZIP") << endl; 131 t << "GZIP = " << var("QMAKE_GZIP") << endl;
132 t << "COPY = " << var("QMAKE_COPY") << endl; 132 t << "COPY = " << var("QMAKE_COPY") << endl;
133 t << "COPY_FILE= " << var("QMAKE_COPY_FILE") << endl; 133 t << "COPY_FILE= " << var("QMAKE_COPY_FILE") << endl;
134 t << "COPY_DIR = " << var("QMAKE_COPY_DIR") << endl; 134 t << "COPY_DIR = " << var("QMAKE_COPY_DIR") << endl;
135 t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl; 135 t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
136 t << "SYMLINK = " << var("QMAKE_SYMBOLIC_LINK") << endl; 136 t << "SYMLINK = " << var("QMAKE_SYMBOLIC_LINK") << endl;
137 t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl; 137 t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl;
138 t << "MOVE = " << var("QMAKE_MOVE") << endl; 138 t << "MOVE = " << var("QMAKE_MOVE") << endl;
139 t << "PRO = " << fileFixify(project->projectFile() )<< endl;
139 t << endl; 140 t << endl;
140 141
141 t << "####### Output directory" << endl << endl; 142 t << "####### Output directory" << endl << endl;
142 if (! project->variables()["OBJECTS_DIR"].isEmpty()) 143 if (! project->variables()["OBJECTS_DIR"].isEmpty())
143 t << "OBJECTS_DIR = " << var("OBJECTS_DIR") << endl; 144 t << "OBJECTS_DIR = " << var("OBJECTS_DIR") << endl;
144 else 145 else
145 t << "OBJECTS_DIR = ./" << endl; 146 t << "OBJECTS_DIR = ./" << endl;
146 t << endl; 147 t << endl;
147 148
148 /* files */ 149 /* files */
149 t << "####### Files" << endl << endl; 150 t << "####### Files" << endl << endl;
150 t << "HEADERS = " << varList("HEADERS") << endl; 151 t << "HEADERS = " << varList("HEADERS") << endl;
151 t << "SOURCES = " << varList("SOURCES") << endl; 152 t << "SOURCES = " << varList("SOURCES") << endl;
152 if(do_incremental) { 153 if(do_incremental) {
153 QStringList &objs = project->variables()["OBJECTS"], &incrs = project->variables()["QMAKE_INCREMENTAL"], incrs_out; 154 QStringList &objs = project->variables()["OBJECTS"], &incrs = project->variables()["QMAKE_INCREMENTAL"], incrs_out;
154 t << "OBJECTS = "; 155 t << "OBJECTS = ";
155 for(QStringList::Iterator objit = objs.begin(); objit != objs.end(); ++objit) { 156 for(QStringList::Iterator objit = objs.begin(); objit != objs.end(); ++objit) {
156 bool increment = FALSE; 157 bool increment = FALSE;
157 for(QStringList::Iterator incrit = incrs.begin(); incrit != incrs.end(); ++incrit) { 158 for(QStringList::Iterator incrit = incrs.begin(); incrit != incrs.end(); ++incrit) {
158 if((*objit).find(QRegExp((*incrit), TRUE, TRUE)) != -1) { 159 if((*objit).find(QRegExp((*incrit), TRUE, TRUE)) != -1) {
159 increment = TRUE; 160 increment = TRUE;
160 incrs_out.append((*objit)); 161 incrs_out.append((*objit));
161 break; 162 break;
162 } 163 }
163 } 164 }
164 if(!increment) 165 if(!increment)
165 t << "\\\n\t\t" << (*objit); 166 t << "\\\n\t\t" << (*objit);
166 } 167 }
167 if(incrs_out.count() == objs.count()) { //we just switched places, no real incrementals to be done! 168 if(incrs_out.count() == objs.count()) { //we just switched places, no real incrementals to be done!
168 t << incrs_out.join(" \\\n\t\t") << endl; 169 t << incrs_out.join(" \\\n\t\t") << endl;
169 } else if(!incrs_out.count()) { 170 } else if(!incrs_out.count()) {
170 t << endl; 171 t << endl;
@@ -501,177 +502,177 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
501 << var("QMAKE_LINK_SHLIB_CMD") << "\n\t"; 502 << var("QMAKE_LINK_SHLIB_CMD") << "\n\t";
502 t << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET0)") << "\n\t" 503 t << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET0)") << "\n\t"
503 << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET1)") << "\n\t" 504 << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET1)") << "\n\t"
504 << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET2)"); 505 << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET2)");
505 if(!destdir.isEmpty()) 506 if(!destdir.isEmpty())
506 t << "\n\t" 507 t << "\n\t"
507 << "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET)\n\t" 508 << "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET)\n\t"
508 << "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET0)\n\t" 509 << "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET0)\n\t"
509 << "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET1)\n\t" 510 << "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET1)\n\t"
510 << "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET2)\n\t" 511 << "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET2)\n\t"
511 << "-$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) " << var("DESTDIR"); 512 << "-$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) " << var("DESTDIR");
512 if(!project->isEmpty("QMAKE_POST_LINK")) 513 if(!project->isEmpty("QMAKE_POST_LINK"))
513 t << "\n\t" << var("QMAKE_POST_LINK"); 514 t << "\n\t" << var("QMAKE_POST_LINK");
514 t << endl << endl; 515 t << endl << endl;
515 } 516 }
516 t << endl << endl; 517 t << endl << endl;
517 518
518 if (! project->isActiveConfig("plugin")) { 519 if (! project->isActiveConfig("plugin")) {
519 t << "staticlib: $(TARGETA)" << endl << endl; 520 t << "staticlib: $(TARGETA)" << endl << endl;
520 t << "$(TARGETA): $(UICDECLS) $(OBJECTS) $(OBJMOC)"; 521 t << "$(TARGETA): $(UICDECLS) $(OBJECTS) $(OBJMOC)";
521 if(do_incremental) 522 if(do_incremental)
522 t << " $(INCREMENTAL_OBJECTS) $(INCREMENTAL_OBJMOC)"; 523 t << " $(INCREMENTAL_OBJECTS) $(INCREMENTAL_OBJMOC)";
523 t << var("TARGETDEPS") << "\n\t" 524 t << var("TARGETDEPS") << "\n\t"
524 << "-$(DEL_FILE) $(TARGETA) " << "\n\t" 525 << "-$(DEL_FILE) $(TARGETA) " << "\n\t"
525 << var("QMAKE_AR_CMD"); 526 << var("QMAKE_AR_CMD");
526 if(do_incremental) 527 if(do_incremental)
527 t << " $(INCREMENTAL_OBJECTS) $(INCREMENTAL_OBJMOC)"; 528 t << " $(INCREMENTAL_OBJECTS) $(INCREMENTAL_OBJMOC)";
528 if(!project->isEmpty("QMAKE_RANLIB")) 529 if(!project->isEmpty("QMAKE_RANLIB"))
529 t << "\n\t" << "$(RANLIB) $(TARGETA)"; 530 t << "\n\t" << "$(RANLIB) $(TARGETA)";
530 t << endl << endl; 531 t << endl << endl;
531 } 532 }
532 } else { 533 } else {
533 t << "all: " << deps << " " << varGlue("ALL_DEPS",""," "," ") << var("DESTDIR") << "$(TARGET) " 534 t << "all: " << deps << " " << varGlue("ALL_DEPS",""," "," ") << var("DESTDIR") << "$(TARGET) "
534 << varGlue("QMAKE_AR_SUBLIBS", var("DESTDIR"), " " + var("DESTDIR"), "") << "\n\n" 535 << varGlue("QMAKE_AR_SUBLIBS", var("DESTDIR"), " " + var("DESTDIR"), "") << "\n\n"
535 << "staticlib: " << var("DESTDIR") << "$(TARGET)" << "\n\n"; 536 << "staticlib: " << var("DESTDIR") << "$(TARGET)" << "\n\n";
536 if(project->isEmpty("QMAKE_AR_SUBLIBS")) { 537 if(project->isEmpty("QMAKE_AR_SUBLIBS")) {
537 t << var("DESTDIR") << "$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) $(TARGETDEPS) " << "\n\t"; 538 t << var("DESTDIR") << "$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) $(TARGETDEPS) " << "\n\t";
538 if(!project->isEmpty("DESTDIR")) { 539 if(!project->isEmpty("DESTDIR")) {
539 QString destdir = project->first("DESTDIR"); 540 QString destdir = project->first("DESTDIR");
540 t << "test -d " << destdir << " || mkdir -p " << destdir << "\n\t"; 541 t << "test -d " << destdir << " || mkdir -p " << destdir << "\n\t";
541 } 542 }
542 t << "-$(DEL_FILE) $(TARGET)" << "\n\t" 543 t << "-$(DEL_FILE) $(TARGET)" << "\n\t"
543 << var("QMAKE_AR_CMD") << "\n"; 544 << var("QMAKE_AR_CMD") << "\n";
544 if(!project->isEmpty("QMAKE_POST_LINK")) 545 if(!project->isEmpty("QMAKE_POST_LINK"))
545 t << "\t" << var("QMAKE_POST_LINK") << "\n"; 546 t << "\t" << var("QMAKE_POST_LINK") << "\n";
546 if(!project->isEmpty("QMAKE_RANLIB")) 547 if(!project->isEmpty("QMAKE_RANLIB"))
547 t << "\t" << "$(RANLIB) $(TARGET)" << "\n"; 548 t << "\t" << "$(RANLIB) $(TARGET)" << "\n";
548 if(!project->isEmpty("DESTDIR")) 549 if(!project->isEmpty("DESTDIR"))
549 t << "\t" << "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET)" << "\n" 550 t << "\t" << "-$(DEL_FILE) " << var("DESTDIR") << "$(TARGET)" << "\n"
550 << "\t" << "-$(MOVE) $(TARGET) " << var("DESTDIR") << "\n"; 551 << "\t" << "-$(MOVE) $(TARGET) " << var("DESTDIR") << "\n";
551 } else { 552 } else {
552 int cnt = 0, max_files = project->first("QMAKE_MAX_FILES_PER_AR").toInt(); 553 int cnt = 0, max_files = project->first("QMAKE_MAX_FILES_PER_AR").toInt();
553 QStringList objs = project->variables()["OBJECTS"] + project->variables()["OBJMOC"], 554 QStringList objs = project->variables()["OBJECTS"] + project->variables()["OBJMOC"],
554 libs = project->variables()["QMAKE_AR_SUBLIBS"]; 555 libs = project->variables()["QMAKE_AR_SUBLIBS"];
555 libs.prepend("$(TARGET)"); 556 libs.prepend("$(TARGET)");
556 for(QStringList::Iterator libit = libs.begin(), objit = objs.begin(); 557 for(QStringList::Iterator libit = libs.begin(), objit = objs.begin();
557 libit != libs.end(); ++libit) { 558 libit != libs.end(); ++libit) {
558 QStringList build; 559 QStringList build;
559 for(cnt = 0; cnt < max_files && objit != objs.end(); ++objit, cnt++) 560 for(cnt = 0; cnt < max_files && objit != objs.end(); ++objit, cnt++)
560 build << (*objit); 561 build << (*objit);
561 QString ar; 562 QString ar;
562 if((*libit) == "$(TARGET)") { 563 if((*libit) == "$(TARGET)") {
563 t << var("DESTDIR") << "$(TARGET): $(UICDECLS) " << " $(TARGETDEPS) " 564 t << var("DESTDIR") << "$(TARGET): $(UICDECLS) " << " $(TARGETDEPS) "
564 << valList(build) << "\n\t"; 565 << valList(build) << "\n\t";
565 ar = project->variables()["QMAKE_AR_CMD"].first(); 566 ar = project->variables()["QMAKE_AR_CMD"].first();
566 ar = ar.replace("$(OBJMOC)", "").replace("$(OBJECTS)", 567 ar = ar.replace("$(OBJMOC)", "").replace("$(OBJECTS)",
567 build.join(" ")); 568 build.join(" "));
568 } else { 569 } else {
569 t << (*libit) << ": " << valList(build) << "\n\t"; 570 t << (*libit) << ": " << valList(build) << "\n\t";
570 ar = "$(AR) " + (*libit) + " " + build.join(" "); 571 ar = "$(AR) " + (*libit) + " " + build.join(" ");
571 } 572 }
572 if(!project->isEmpty("DESTDIR")) { 573 if(!project->isEmpty("DESTDIR")) {
573 QString destdir = project->first("DESTDIR"); 574 QString destdir = project->first("DESTDIR");
574 t << "test -d " << destdir << " || mkdir -p " << destdir << "\n\t"; 575 t << "test -d " << destdir << " || mkdir -p " << destdir << "\n\t";
575 } 576 }
576 t << "-$(DEL_FILE) " << (*libit) << "\n\t" 577 t << "-$(DEL_FILE) " << (*libit) << "\n\t"
577 << ar << "\n"; 578 << ar << "\n";
578 if(!project->isEmpty("QMAKE_POST_LINK")) 579 if(!project->isEmpty("QMAKE_POST_LINK"))
579 t << "\t" << var("QMAKE_POST_LINK") << "\n"; 580 t << "\t" << var("QMAKE_POST_LINK") << "\n";
580 if(!project->isEmpty("QMAKE_RANLIB")) 581 if(!project->isEmpty("QMAKE_RANLIB"))
581 t << "\t" << "$(RANLIB) " << (*libit) << "\n"; 582 t << "\t" << "$(RANLIB) " << (*libit) << "\n";
582 if(!project->isEmpty("DESTDIR")) 583 if(!project->isEmpty("DESTDIR"))
583 t << "\t" << "-$(DEL_FILE) " << var("DESTDIR") << (*libit) << "\n" 584 t << "\t" << "-$(DEL_FILE) " << var("DESTDIR") << (*libit) << "\n"
584 << "\t" << "-$(MOVE) " << (*libit) << " " << var("DESTDIR") << "\n"; 585 << "\t" << "-$(MOVE) " << (*libit) << " " << var("DESTDIR") << "\n";
585 } 586 }
586 } 587 }
587 t << endl << endl; 588 t << endl << endl;
588 } 589 }
589 590
590 t << "mocables: $(SRCMOC)" << endl << endl; 591 t << "mocables: $(SRCMOC)" << endl << endl;
591 592
592 if(!project->isActiveConfig("no_mocdepend")) { 593 if(!project->isActiveConfig("no_mocdepend")) {
593 //this is an implicity depend on moc, so it will be built if necesary, however 594 //this is an implicity depend on moc, so it will be built if necesary, however
594 //moc itself shouldn't have this dependancy - this is a little kludgy but it is 595 //moc itself shouldn't have this dependancy - this is a little kludgy but it is
595 //better than the alternative for now. 596 //better than the alternative for now.
596 QString moc = project->first("QMAKE_MOC"), target = project->first("TARGET"); 597 QString moc = project->first("QMAKE_MOC"), target = project->first("TARGET");
597 fixEnvVariables(target); 598 fixEnvVariables(target);
598 fixEnvVariables(moc); 599 fixEnvVariables(moc);
599 if(target != moc) 600 if(target != moc)
600 t << "$(MOC): \n\t" 601 t << "$(MOC): \n\t"
601 << "( cd $(QTDIR)/src/moc ; $(MAKE) )" << endl << endl; 602 << "( cd $(QTDIR)/src/moc ; $(MAKE) )" << endl << endl;
602 } 603 }
603 604
604 writeMakeQmake(t); 605 writeMakeQmake(t);
605 606
606 if(!project->first("QMAKE_PKGINFO").isEmpty()) { 607 if(!project->first("QMAKE_PKGINFO").isEmpty()) {
607 QString pkginfo = project->first("QMAKE_PKGINFO"); 608 QString pkginfo = project->first("QMAKE_PKGINFO");
608 QString destdir = project->first("DESTDIR"); 609 QString destdir = project->first("DESTDIR");
609 t << pkginfo << ": " << "\n\t"; 610 t << pkginfo << ": " << "\n\t";
610 if(!destdir.isEmpty()) 611 if(!destdir.isEmpty())
611 t << "@test -d " << destdir << " || mkdir -p " << destdir << "\n\t"; 612 t << "@test -d " << destdir << " || mkdir -p " << destdir << "\n\t";
612 t << "@$(DEL_FILE) " << pkginfo << "\n\t" 613 t << "@$(DEL_FILE) " << pkginfo << "\n\t"
613 << "@echo \"APPL????\" >" << pkginfo << endl; 614 << "@echo \"APPL????\" >" << pkginfo << endl;
614 } 615 }
615 if(!project->first("QMAKE_INFO_PLIST").isEmpty()) { 616 if(!project->first("QMAKE_INFO_PLIST").isEmpty()) {
616 QString info_plist = project->first("QMAKE_INFO_PLIST"), 617 QString info_plist = project->first("QMAKE_INFO_PLIST"),
617 info_plist_out = project->first("QMAKE_INFO_PLIST_OUT"); 618 info_plist_out = project->first("QMAKE_INFO_PLIST_OUT");
618 QString destdir = project->first("DESTDIR"); 619 QString destdir = project->first("DESTDIR");
619 t << info_plist_out << ": " << "\n\t"; 620 t << info_plist_out << ": " << "\n\t";
620 if(!destdir.isEmpty()) 621 if(!destdir.isEmpty())
621 t << "@test -d " << destdir << " || mkdir -p " << destdir << "\n\t"; 622 t << "@test -d " << destdir << " || mkdir -p " << destdir << "\n\t";
622 t << "@$(DEL_FILE) " << info_plist_out << "\n\t" 623 t << "@$(DEL_FILE) " << info_plist_out << "\n\t"
623 << "@cp \"" << info_plist << "\" \"" << info_plist_out << "\"" << endl; 624 << "@cp \"" << info_plist << "\" \"" << info_plist_out << "\"" << endl;
624 if(!project->first("RC_FILE").isEmpty()) { 625 if(!project->first("RC_FILE").isEmpty()) {
625 QString dir = destdir + "../Resources/"; 626 QString dir = destdir + "../Resources/";
626 t << dir << "application.icns:" << "\n\t" 627 t << dir << "application.icns:" << "\n\t"
627 << "@test -d " << dir << " || mkdir -p " << dir << "\n\t" 628 << "@test -d " << dir << " || mkdir -p " << dir << "\n\t"
628 << "@cp " << var("RC_FILE") << " " << dir << "application.icns" << endl; 629 << "@cp " << var("RC_FILE") << " " << dir << "application.icns" << endl;
629 } 630 }
630 } 631 }
631 632
632 QString ddir = project->isEmpty("QMAKE_DISTDIR") ? project->first("QMAKE_ORIG_TARGET") : 633 QString ddir = project->isEmpty("QMAKE_DISTDIR") ? project->first("QMAKE_ORIG_TARGET") :
633 project->first("QMAKE_DISTDIR"); 634 project->first("QMAKE_DISTDIR");
634 QString ddir_c = fileFixify((project->isEmpty("OBJECTS_DIR") ? QString(".tmp/") : 635 QString ddir_c = fileFixify((project->isEmpty("OBJECTS_DIR") ? QString(".tmp/") :
635 project->first("OBJECTS_DIR")) + ddir); 636 project->first("OBJECTS_DIR")) + ddir);
636 t << "dist: " << "\n\t" 637 t << "dist: " << "\n\t"
637 << "@mkdir -p " << ddir_c << " && " 638 << "@mkdir -p " << ddir_c << " && "
638 << "$(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) " << ddir_c << Option::dir_sep << " && "; 639 << "$(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) " << ddir_c << Option::dir_sep << " && ";
639 if(!project->isEmpty("TRANSLATIONS")) 640 if(!project->isEmpty("TRANSLATIONS"))
640 t << "$(COPY_FILE) --parents " << var("TRANSLATIONS") << " " << ddir_c << Option::dir_sep << " && "; 641 t << "$(COPY_FILE) --parents " << var("TRANSLATIONS") << " " << ddir_c << Option::dir_sep << " && ";
641 if(!project->isEmpty("FORMS")) { 642 if(!project->isEmpty("FORMS")) {
642 QStringList &forms = project->variables()["FORMS"], ui_headers; 643 QStringList &forms = project->variables()["FORMS"], ui_headers;
643 for(QStringList::Iterator formit = forms.begin(); formit != forms.end(); ++formit) { 644 for(QStringList::Iterator formit = forms.begin(); formit != forms.end(); ++formit) {
644 QString ui_h = fileFixify((*formit) + Option::h_ext.first()); 645 QString ui_h = fileFixify((*formit) + Option::h_ext.first());
645 if(QFile::exists(ui_h) ) 646 if(QFile::exists(ui_h) )
646 ui_headers << ui_h; 647 ui_headers << ui_h;
647 } 648 }
648 if(!ui_headers.isEmpty()) 649 if(!ui_headers.isEmpty())
649 t << "$(COPY_FILE) --parents " << val(ui_headers) << " " << ddir_c << Option::dir_sep << " && "; 650 t << "$(COPY_FILE) --parents " << val(ui_headers) << " " << ddir_c << Option::dir_sep << " && ";
650 } 651 }
651 t << "( cd `dirname " << ddir_c << "` && " 652 t << "( cd `dirname " << ddir_c << "` && "
652 << "$(TAR) " << var("QMAKE_ORIG_TARGET") << ".tar " << ddir << " && " 653 << "$(TAR) " << var("QMAKE_ORIG_TARGET") << ".tar " << ddir << " && "
653 << "$(GZIP) " << var("QMAKE_ORIG_TARGET") << ".tar ) && " 654 << "$(GZIP) " << var("QMAKE_ORIG_TARGET") << ".tar ) && "
654 << "$(MOVE) `dirname " << ddir_c << "`" << Option::dir_sep << var("QMAKE_ORIG_TARGET") << ".tar.gz . && " 655 << "$(MOVE) `dirname " << ddir_c << "`" << Option::dir_sep << var("QMAKE_ORIG_TARGET") << ".tar.gz . && "
655 << "$(DEL_DIR) " << ddir_c 656 << "$(DEL_DIR) " << ddir_c
656 << endl << endl; 657 << endl << endl;
657 658
658 QString clean_targets; 659 QString clean_targets;
659 if(mocAware()) { 660 if(mocAware()) {
660 t << "mocclean:" << "\n"; 661 t << "mocclean:" << "\n";
661 if(!objMoc.isEmpty() || !srcMoc.isEmpty() || moc_incremental) { 662 if(!objMoc.isEmpty() || !srcMoc.isEmpty() || moc_incremental) {
662 if(!objMoc.isEmpty()) 663 if(!objMoc.isEmpty())
663 t << "\t-$(DEL_FILE) $(OBJMOC)" << '\n'; 664 t << "\t-$(DEL_FILE) $(OBJMOC)" << '\n';
664 if(!srcMoc.isEmpty()) 665 if(!srcMoc.isEmpty())
665 t << "\t-$(DEL_FILE) $(SRCMOC)" << '\n'; 666 t << "\t-$(DEL_FILE) $(SRCMOC)" << '\n';
666 if(moc_incremental) 667 if(moc_incremental)
667 t << "\t-$(DEL_FILE) $(INCREMENTAL_OBJMOC)" << '\n'; 668 t << "\t-$(DEL_FILE) $(INCREMENTAL_OBJMOC)" << '\n';
668 clean_targets += " mocclean"; 669 clean_targets += " mocclean";
669 } 670 }
670 t << endl; 671 t << endl;
671 } 672 }
672 t << "uiclean:" << "\n"; 673 t << "uiclean:" << "\n";
673 if (!var("UICIMPLS").isEmpty() || !var("UICDECLS").isEmpty()) { 674 if (!var("UICIMPLS").isEmpty() || !var("UICDECLS").isEmpty()) {
674 t << "\t-$(DEL_FILE) $(UICIMPLS) $(UICDECLS)" << "\n"; 675 t << "\t-$(DEL_FILE) $(UICIMPLS) $(UICDECLS)" << "\n";
675 clean_targets += " uiclean"; 676 clean_targets += " uiclean";
676 } 677 }
677 t << endl; 678 t << endl;
@@ -776,198 +777,198 @@ UnixMakefileGenerator::writeSubdirs(QTextStream &t, bool direct)
776 sd->directory = file.left(slsh+1); 777 sd->directory = file.left(slsh+1);
777 sd->profile = file.mid(slsh+1); 778 sd->profile = file.mid(slsh+1);
778 } else { 779 } else {
779 sd->profile = file; 780 sd->profile = file;
780 } 781 }
781 } else { 782 } else {
782 sd->directory = file; 783 sd->directory = file;
783 } 784 }
784 while(sd->directory.right(1) == Option::dir_sep) 785 while(sd->directory.right(1) == Option::dir_sep)
785 sd->directory = sd->directory.left(sd->directory.length() - 1); 786 sd->directory = sd->directory.left(sd->directory.length() - 1);
786 if(!sd->profile.isEmpty()) { 787 if(!sd->profile.isEmpty()) {
787 QString basename = sd->directory; 788 QString basename = sd->directory;
788 int new_slsh = basename.findRev(Option::dir_sep); 789 int new_slsh = basename.findRev(Option::dir_sep);
789 if(new_slsh != -1) 790 if(new_slsh != -1)
790 basename = basename.mid(new_slsh+1); 791 basename = basename.mid(new_slsh+1);
791 if(sd->profile != basename + ".pro") 792 if(sd->profile != basename + ".pro")
792 sd->makefile += "." + sd->profile.left(sd->profile.length() - 4); //no need for the .pro 793 sd->makefile += "." + sd->profile.left(sd->profile.length() - 4); //no need for the .pro
793 } 794 }
794 sd->target = "sub-" + (*it); 795 sd->target = "sub-" + (*it);
795 sd->target.replace('/', '-'); 796 sd->target.replace('/', '-');
796 sd->target.replace('.', '_'); 797 sd->target.replace('.', '_');
797 } 798 }
798 } 799 }
799 QPtrListIterator<SubDir> it(subdirs); 800 QPtrListIterator<SubDir> it(subdirs);
800 801
801 QString ofile = Option::output.name(); 802 QString ofile = Option::output.name();
802 if(ofile.findRev(Option::dir_sep) != -1) 803 if(ofile.findRev(Option::dir_sep) != -1)
803 ofile = ofile.right(ofile.length() - ofile.findRev(Option::dir_sep) -1); 804 ofile = ofile.right(ofile.length() - ofile.findRev(Option::dir_sep) -1);
804 t << "MAKEFILE =" << var("MAKEFILE") << endl; 805 t << "MAKEFILE =" << var("MAKEFILE") << endl;
805 t << "QMAKE =" << var("QMAKE") << endl; 806 t << "QMAKE =" << var("QMAKE") << endl;
806 t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl; 807 t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
807 t << "SUBTARGETS ="; // subdirectory targets are sub-directory 808 t << "SUBTARGETS ="; // subdirectory targets are sub-directory
808 for( it.toFirst(); it.current(); ++it) 809 for( it.toFirst(); it.current(); ++it)
809 t << " \\\n\t\t" << it.current()->target; 810 t << " \\\n\t\t" << it.current()->target;
810 t << endl << endl; 811 t << endl << endl;
811 t << "first: all\n\nall: " << ofile << " $(SUBTARGETS)" << endl << endl; 812 t << "first: all\n\nall: " << ofile << " $(SUBTARGETS)" << endl << endl;
812 813
813 // generate target rules 814 // generate target rules
814 for( it.toFirst(); it.current(); ++it) { 815 for( it.toFirst(); it.current(); ++it) {
815 bool have_dir = !(*it)->directory.isEmpty(); 816 bool have_dir = !(*it)->directory.isEmpty();
816 QString mkfile = (*it)->makefile, out; 817 QString mkfile = (*it)->makefile, out;
817 if(have_dir) 818 if(have_dir)
818 mkfile.prepend((*it)->directory + Option::dir_sep); 819 mkfile.prepend((*it)->directory + Option::dir_sep);
819 if(direct || (*it)->makefile != "$(MAKEFILE)") 820 if(direct || (*it)->makefile != "$(MAKEFILE)")
820 out = " -o " + (*it)->makefile; 821 out = " -o " + (*it)->makefile;
821 //qmake it 822 //qmake it
822 t << mkfile << ": " << "\n\t"; 823 t << mkfile << ": " << "\n\t";
823 if(have_dir) 824 if(have_dir)
824 t << "cd " << (*it)->directory << " && "; 825 t << "cd " << (*it)->directory << " && ";
825 t << "$(QMAKE) " << (*it)->profile << buildArgs() << out << endl; 826 t << "$(QMAKE) " << (*it)->profile << buildArgs() << out << endl;
826 //actually compile 827 //actually compile
827 t << (*it)->target << ": " << mkfile << " FORCE" << "\n\t"; 828 t << (*it)->target << ": " << mkfile << " FORCE" << "\n\t";
828 if(have_dir) 829 if(have_dir)
829 t << "cd " << (*it)->directory << " && "; 830 t << "cd " << (*it)->directory << " && ";
830 t << "$(MAKE) -f " << (*it)->makefile << endl << endl; 831 t << "$(MAKE) -f " << (*it)->makefile << endl << endl;
831 } 832 }
832 833
833 if (project->isActiveConfig("ordered")) { // generate dependencies 834 if (project->isActiveConfig("ordered")) { // generate dependencies
834 for( it.toFirst(); it.current(); ) { 835 for( it.toFirst(); it.current(); ) {
835 QString tar = it.current()->target; 836 QString tar = it.current()->target;
836 ++it; 837 ++it;
837 if (it.current()) 838 if (it.current())
838 t << it.current()->target << ": " << tar << endl; 839 t << it.current()->target << ": " << tar << endl;
839 } 840 }
840 t << endl; 841 t << endl;
841 } 842 }
842 843
843 writeMakeQmake(t); 844 writeMakeQmake(t);
844 845
845 if(project->isEmpty("SUBDIRS")) { 846 if(project->isEmpty("SUBDIRS")) {
846 t << "all qmake_all distclean install uiclean mocclean clean: FORCE" << endl; 847 t << "all qmake_all distclean install uiclean mocclean clean: FORCE" << endl;
847 } else { 848 } else {
848 t << "all: $(SUBTARGETS)" << endl; 849 t << "all: $(SUBTARGETS)" << endl;
849 t << "qmake_all:"; 850 t << "qmake_all:";
850 for( it.toFirst(); it.current(); ++it) { 851 for( it.toFirst(); it.current(); ++it) {
851 t << " "; 852 t << " ";
852 if(!(*it)->directory.isEmpty()) 853 if(!(*it)->directory.isEmpty())
853 t << (*it)->directory << Option::dir_sep; 854 t << (*it)->directory << Option::dir_sep;
854 t << (*it)->makefile; 855 t << (*it)->makefile;
855 } 856 }
856 for( it.toFirst(); it.current(); ++it) { 857 for( it.toFirst(); it.current(); ++it) {
857 t << "\n\t ( "; 858 t << "\n\t ( ";
858 if(!(*it)->directory.isEmpty()) 859 if(!(*it)->directory.isEmpty())
859 t << "[ -d " << (*it)->directory << " ] && cd " << (*it)->directory << " ; "; 860 t << "[ -d " << (*it)->directory << " ] && cd " << (*it)->directory << " ; ";
860 t << "grep \"^qmake_all:\" " << (*it)->makefile 861 t << "grep \"^qmake_all:\" " << (*it)->makefile
861 << " && $(MAKE) -f " << (*it)->makefile << " qmake_all" << "; ) || true"; 862 << " && $(MAKE) -f " << (*it)->makefile << " qmake_all" << "; ) || true";
862 } 863 }
863 t << endl; 864 t << endl;
864 t << "clean uninstall install uiclean mocclean: qmake_all FORCE"; 865 t << "clean uninstall install uiclean mocclean: qmake_all FORCE";
865 for( it.toFirst(); it.current(); ++it) { 866 for( it.toFirst(); it.current(); ++it) {
866 t << "\n\t ( "; 867 t << "\n\t ( ";
867 if(!(*it)->directory.isEmpty()) 868 if(!(*it)->directory.isEmpty())
868 t << "[ -d " << (*it)->directory << " ] && cd " << (*it)->directory << " ; "; 869 t << "[ -d " << (*it)->directory << " ] && cd " << (*it)->directory << " ; ";
869 t << "$(MAKE) -f " << (*it)->makefile << " $@" << "; ) || true"; 870 t << "$(MAKE) -f " << (*it)->makefile << " $@" << "; ) || true";
870 } 871 }
871 t << endl; 872 t << endl;
872 t << "distclean: qmake_all FORCE"; 873 t << "distclean: qmake_all FORCE";
873 for( it.toFirst(); it.current(); ++it) { 874 for( it.toFirst(); it.current(); ++it) {
874 t << "\n\t ( "; 875 t << "\n\t ( ";
875 if(!(*it)->directory.isEmpty()) 876 if(!(*it)->directory.isEmpty())
876 t << "[ -d " << (*it)->directory << " ] && cd " << (*it)->directory << " ; "; 877 t << "[ -d " << (*it)->directory << " ] && cd " << (*it)->directory << " ; ";
877 t << "$(MAKE) -f " << (*it)->makefile << " $@; $(DEL_FILE) " << (*it)->makefile << "; ) || true"; 878 t << "$(MAKE) -f " << (*it)->makefile << " $@; $(DEL_FILE) " << (*it)->makefile << "; ) || true";
878 } 879 }
879 t << endl << endl; 880 t << endl << endl;
880 } 881 }
881 t <<"FORCE:" << endl << endl; 882 t <<"FORCE:" << endl << endl;
882} 883}
883 884
884void UnixMakefileGenerator::init2() 885void UnixMakefileGenerator::init2()
885{ 886{
886 //version handling 887 //version handling
887 if(project->variables()["VERSION"].isEmpty()) 888 if(project->variables()["VERSION"].isEmpty())
888 project->variables()["VERSION"].append("1.0." + 889 project->variables()["VERSION"].append("1.0." +
889 (project->isEmpty("VER_PAT") ? QString("0") : 890 (project->isEmpty("VER_PAT") ? QString("0") :
890 project->first("VER_PAT")) ); 891 project->first("VER_PAT")) );
891 QStringList l = QStringList::split('.', project->first("VERSION")); 892 QStringList l = QStringList::split('.', project->first("VERSION"));
892 l << "0" << "0"; //make sure there are three 893 l << "0" << "0"; //make sure there are three
893 project->variables()["VER_MAJ"].append(l[0]); 894 project->variables()["VER_MAJ"].append(l[0]);
894 project->variables()["VER_MIN"].append(l[1]); 895 project->variables()["VER_MIN"].append(l[1]);
895 project->variables()["VER_PAT"].append(l[2]); 896 project->variables()["VER_PAT"].append(l[2]);
896 897
897 if ( !project->variables()["QMAKE_APP_FLAG"].isEmpty() ) { 898 if ( !project->variables()["QMAKE_APP_FLAG"].isEmpty() ) {
898#if 0 899#if 0
899 if ( project->isActiveConfig("dll") ) { 900 if ( project->isActiveConfig("dll") ) {
900 project->variables()["TARGET"] += project->variables()["TARGET.so"]; 901 project->variables()["TARGET"] += project->variables()["TARGET.so"];
901 if(project->variables()["QMAKE_LFLAGS_SHAPP"].isEmpty()) 902 if(project->variables()["QMAKE_LFLAGS_SHAPP"].isEmpty())
902 project->variables()["QMAKE_LFLAGS_SHAPP"] += project->variables()["QMAKE_LFLAGS_SHLIB"]; 903 project->variables()["QMAKE_LFLAGS_SHAPP"] += project->variables()["QMAKE_LFLAGS_SHLIB"];
903 if(!project->variables()["QMAKE_LFLAGS_SONAME"].isEmpty()) 904 if(!project->variables()["QMAKE_LFLAGS_SONAME"].isEmpty())
904 project->variables()["QMAKE_LFLAGS_SONAME"].first() += project->first("TARGET"); 905 project->variables()["QMAKE_LFLAGS_SONAME"].first() += project->first("TARGET");
905 } 906 }
906#endif 907#endif
907 project->variables()["TARGET"].first().prepend(project->first("DESTDIR")); 908 project->variables()["TARGET"].first().prepend(project->first("DESTDIR"));
908 } else if ( project->isActiveConfig("staticlib") ) { 909 } else if ( project->isActiveConfig("staticlib") ) {
909 project->variables()["TARGET"].first().prepend("lib"); 910 project->variables()["TARGET"].first().prepend("lib");
910 project->variables()["TARGET"].first() += ".a"; 911 project->variables()["TARGET"].first() += ".a";
911 if(project->variables()["QMAKE_AR_CMD"].isEmpty()) 912 if(project->variables()["QMAKE_AR_CMD"].isEmpty())
912 project->variables()["QMAKE_AR_CMD"].append("$(AR) $(TARGET) $(OBJECTS) $(OBJMOC)"); 913 project->variables()["QMAKE_AR_CMD"].append("$(AR) $(TARGET) $(OBJECTS) $(OBJMOC)");
913 } else { 914 } else {
914 project->variables()["TARGETA"].append(project->first("DESTDIR") + "lib" + project->first("TARGET") + ".a"); 915 project->variables()["TARGETA"].append(project->first("DESTDIR") + "lib" + project->first("TARGET") + ".a");
915 if ( !project->variables()["QMAKE_AR_CMD"].isEmpty() ) 916 if ( !project->variables()["QMAKE_AR_CMD"].isEmpty() )
916 project->variables()["QMAKE_AR_CMD"].first().replace("(TARGET)","(TARGETA)"); 917 project->variables()["QMAKE_AR_CMD"].first().replace("(TARGET)","(TARGETA)");
917 else 918 else
918 project->variables()["QMAKE_AR_CMD"].append("$(AR) $(TARGETA) $(OBJECTS) $(OBJMOC)"); 919 project->variables()["QMAKE_AR_CMD"].append("$(AR) $(TARGETA) $(OBJECTS) $(OBJMOC)");
919 QString os = project->variables()["QMAKESPEC"].first().section( '-', 0, 0 ); 920 QString os = project->variables()["QMAKESPEC"].first().section( '-', 0, 0 );
920 if( project->isActiveConfig("plugin") ) { 921 if( project->isActiveConfig("plugin") ) {
921 project->variables()["TARGET_x.y.z"].append("lib" + 922 project->variables()["TARGET_x.y.z"].append("lib" +
922 project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_SHLIB")); 923 project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_SHLIB"));
923 if(project->isActiveConfig("lib_version_first")) 924 if(project->isActiveConfig("lib_version_first"))
924 project->variables()["TARGET_x"].append("lib" + project->first("TARGET") + "." + 925 project->variables()["TARGET_x"].append("lib" + project->first("TARGET") + "." +
925 project->first("VER_MAJ") + "." + 926 project->first("VER_MAJ") + "." +
926 project->first("QMAKE_EXTENSION_SHLIB")); 927 project->first("QMAKE_EXTENSION_SHLIB"));
927 else 928 else
928 project->variables()["TARGET_x"].append("lib" + project->first("TARGET") + "." + 929 project->variables()["TARGET_x"].append("lib" + project->first("TARGET") + "." +
929 project->first("QMAKE_EXTENSION_SHLIB") + 930 project->first("QMAKE_EXTENSION_SHLIB") +
930 "." + project->first("VER_MAJ")); 931 "." + project->first("VER_MAJ"));
931 932
932 project->variables()["TARGET"] = project->variables()["TARGET_x.y.z"]; 933 project->variables()["TARGET"] = project->variables()["TARGET_x.y.z"];
933 if(project->isActiveConfig("qt")) 934 if(project->isActiveConfig("qt"))
934 project->variables()["DEFINES"].append("QT_PLUGIN"); 935 project->variables()["DEFINES"].append("QT_PLUGIN");
935 } else if ( os == "hpux" ) { 936 } else if ( os == "hpux" ) {
936 project->variables()["TARGET_"].append("lib" + project->first("TARGET") + ".sl"); 937 project->variables()["TARGET_"].append("lib" + project->first("TARGET") + ".sl");
937 if(project->isActiveConfig("lib_version_first")) 938 if(project->isActiveConfig("lib_version_first"))
938 project->variables()["TARGET_x"].append("lib" + project->first("VER_MAJ") + "." + 939 project->variables()["TARGET_x"].append("lib" + project->first("VER_MAJ") + "." +
939 project->first("TARGET")); 940 project->first("TARGET"));
940 else 941 else
941 project->variables()["TARGET_x"].append("lib" + project->first("TARGET") + "." + 942 project->variables()["TARGET_x"].append("lib" + project->first("TARGET") + "." +
942 project->first("VER_MAJ")); 943 project->first("VER_MAJ"));
943 project->variables()["TARGET"] = project->variables()["TARGET_x"]; 944 project->variables()["TARGET"] = project->variables()["TARGET_x"];
944 } else if ( os == "aix" ) { 945 } else if ( os == "aix" ) {
945 project->variables()["TARGET_"].append("lib" + project->first("TARGET") + ".a"); 946 project->variables()["TARGET_"].append("lib" + project->first("TARGET") + ".a");
946 if(project->isActiveConfig("lib_version_first")) { 947 if(project->isActiveConfig("lib_version_first")) {
947 project->variables()["TARGET_x"].append("lib" + project->first("TARGET") + "." + 948 project->variables()["TARGET_x"].append("lib" + project->first("TARGET") + "." +
948 project->first("VER_MAJ") + "." + 949 project->first("VER_MAJ") + "." +
949 project->first("QMAKE_EXTENSION_SHLIB")); 950 project->first("QMAKE_EXTENSION_SHLIB"));
950 project->variables()["TARGET_x.y"].append("lib" + project->first("TARGET") + "." + 951 project->variables()["TARGET_x.y"].append("lib" + project->first("TARGET") + "." +
951 project->first("VER_MAJ") + 952 project->first("VER_MAJ") +
952 "." + project->first("VER_MIN") + "." + 953 "." + project->first("VER_MIN") + "." +
953 project->first("QMAKE_EXTENSION_SHLIB")); 954 project->first("QMAKE_EXTENSION_SHLIB"));
954 project->variables()["TARGET_x.y.z"].append("lib" + project->first("TARGET") + "." + 955 project->variables()["TARGET_x.y.z"].append("lib" + project->first("TARGET") + "." +
955 project->first("VER_MAJ") + "." + 956 project->first("VER_MAJ") + "." +
956 project->first("VER_MIN") + "." + 957 project->first("VER_MIN") + "." +
957 project->first("VER_PAT") + "." + 958 project->first("VER_PAT") + "." +
958 project->first("QMAKE_EXTENSION_SHLIB")); 959 project->first("QMAKE_EXTENSION_SHLIB"));
959 } else { 960 } else {
960 project->variables()["TARGET_x"].append("lib" + project->first("TARGET") + "." + 961 project->variables()["TARGET_x"].append("lib" + project->first("TARGET") + "." +
961 project->first("QMAKE_EXTENSION_SHLIB") + 962 project->first("QMAKE_EXTENSION_SHLIB") +
962 "." + project->first("VER_MAJ")); 963 "." + project->first("VER_MAJ"));
963 project->variables()["TARGET_x.y"].append("lib" + project->first("TARGET") + "." + 964 project->variables()["TARGET_x.y"].append("lib" + project->first("TARGET") + "." +
964 project->first("QMAKE_EXTENSION_SHLIB") + 965 project->first("QMAKE_EXTENSION_SHLIB") +
965 "." + project->first("VER_MAJ") + 966 "." + project->first("VER_MAJ") +
966 "." + project->first("VER_MIN")); 967 "." + project->first("VER_MIN"));
967 project->variables()["TARGET_x.y.z"].append("lib" + project->first("TARGET") + "." + 968 project->variables()["TARGET_x.y.z"].append("lib" + project->first("TARGET") + "." +
968 project->first("QMAKE_EXTENSION_SHLIB") + "." + 969 project->first("QMAKE_EXTENSION_SHLIB") + "." +
969 project->first("VER_MAJ") + "." + 970 project->first("VER_MAJ") + "." +
970 project->first("VER_MIN") + "." + 971 project->first("VER_MIN") + "." +
971 project->first("VER_PAT")); 972 project->first("VER_PAT"));
972 } 973 }
973 project->variables()["TARGET"] = project->variables()["TARGET_x.y.z"]; 974 project->variables()["TARGET"] = project->variables()["TARGET_x.y.z"];