Remove references to Borland and bmake

Remove references to an old compiler that has not been
supported for a long time.  Also remove Borland specific
configuration flags which have no meaning elsewhere.

Change-Id: I3634a52b78f737ea972073e14c2b6669dcd0ae63
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This commit is contained in:
Andy Shaw 2012-04-25 17:12:53 +02:00 committed by Qt by Nokia
parent a992a12bec
commit 44a7330d67
14 changed files with 49 additions and 380 deletions

View File

@ -12,7 +12,7 @@ QMKSRC = $(SOURCE_PATH)/qmake
OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o \
mingw_make.o option.o winmakefile.o projectgenerator.o \
meta.o makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o \
borland_bmake.o msvc_vcproj.o msvc_vcxproj.o msvc_nmake.o msvc_objectmodel.o msbuild_objectmodel.o \
msvc_vcproj.o msvc_vcxproj.o msvc_nmake.o msvc_objectmodel.o msbuild_objectmodel.o \
gbuild.o cesdkhandler.o
#qt code
@ -35,7 +35,7 @@ DEPEND_SRC=project.cpp property.cpp meta.cpp main.cpp generators/makefile.cpp ge
generators/unix/unixmake.cpp generators/win32/winmakefile.cpp generators/projectgenerator.cpp \
generators/mac/pbuilder_pbx.cpp generators/mac/xmloutput.cpp generators/metamakefile.cpp \
generators/makefiledeps.cpp option.cpp generators/win32/mingw_make.cpp generators/makefile.cpp \
generators/win32/msvc_vcproj.cpp generators/win32/msvc_vcxproj.cpp generators/win32/msvc_objectmodel.cpp generators/win32/msbuild_objectmodel.cpp generators/win32/msbuild_objectmodel.cpp generators/win32/msvc_nmake.cpp generators/win32/borland_bmake.cpp \
generators/win32/msvc_vcproj.cpp generators/win32/msvc_vcxproj.cpp generators/win32/msvc_objectmodel.cpp generators/win32/msbuild_objectmodel.cpp generators/win32/msbuild_objectmodel.cpp generators/win32/msvc_nmake.cpp \
generators/integrity/gbuild.cpp generators/win32/cesdkhandler.cpp \
$(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp \
$(SOURCE_PATH)/src/corelib/tools/qstring.cpp $(SOURCE_PATH)/src/corelib/io/qfile.cpp \
@ -139,9 +139,6 @@ unixmake2.o: $(QMKSRC)/generators/unix/unixmake2.cpp
winmakefile.o: $(QMKSRC)/generators/win32/winmakefile.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $<
borland_bmake.o: $(QMKSRC)/generators/win32/borland_bmake.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $<
mingw_make.o: $(QMKSRC)/generators/win32/mingw_make.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $<

View File

@ -59,7 +59,7 @@ ADDCLEAN = vc60.pdb vc70.pdb qmake.pdb qmake.ilk
OBJS = project.obj main.obj makefile.obj unixmake.obj unixmake2.obj mingw_make.obj \
option.obj winmakefile.obj projectgenerator.obj property.obj meta.obj \
makefiledeps.obj metamakefile.obj xmloutput.obj pbuilder_pbx.obj \
borland_bmake.obj msvc_nmake.obj msvc_vcproj.obj msvc_vcxproj.obj \
msvc_nmake.obj msvc_vcproj.obj msvc_vcxproj.obj \
msvc_objectmodel.obj msbuild_objectmodel.obj registry.obj \
gbuild.obj cesdkhandler.obj

View File

@ -63,7 +63,7 @@ ADDCLEAN =
OBJS = project.o main.o makefile.o unixmake.o unixmake2.o mingw_make.o \
option.o winmakefile.o projectgenerator.o property.o meta.o \
makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o \
borland_bmake.o msvc_nmake.o msvc_vcproj.o msvc_vcxproj.o \
msvc_nmake.o msvc_vcproj.o msvc_vcxproj.o \
msvc_objectmodel.o msbuild_objectmodel.o registry.o gbuild.o \
cesdkhandler.o

View File

@ -1337,9 +1337,7 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n
t << " " << escapeDependencyPath(targ);
}
}
if(project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
t << "\n\t";
t << " FORCE\n\t";
const QStringList &dirs = project->values(pvar);
for(QStringList::ConstIterator pit = dirs.begin(); pit != dirs.end(); ++pit) {
QString tmp_dst = fileFixify((*pit), FileFixifyAbsolute, false);
@ -1349,12 +1347,8 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n
}
t << target << endl << endl;
if(!uninst.isEmpty()) {
t << "uninstall_" << (*it) << ": ";
if(project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
t << "\n\t"
<< uninst.join(" ") << "\n\t"
<< "-$(DEL_DIR) " << filePrefixRoot(root, dst) << " " << endl << endl;
t << "uninstall_" << (*it) << ": FORCE\n\t" << uninst.join(" ")
<< "\n\t-$(DEL_DIR) " << filePrefixRoot(root, dst) << " " << endl << endl;
}
t << endl;
@ -1367,14 +1361,9 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n
debug_msg(1, "no definition for install %s: install target not created",(*it).toLatin1().constData());
}
}
t << "install: " << var("INSTALLDEPS") << " " << all_installs;
if(project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
t << "\n\n";
t << "uninstall: " << all_uninstalls << " " << var("UNINSTALLDEPS");
if(project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
t << "\n\n";
t << "install: " << var("INSTALLDEPS") << " " << all_installs
<< " FORCE\n\nuninstall: " << all_uninstalls << " " << var("UNINSTALLDEPS")
<< " FORCE\n\n";
}
QString
@ -1743,9 +1732,8 @@ MakefileGenerator::writeExtraTargets(QTextStream &t)
}
if(project->values((*it) + ".CONFIG").indexOf("fix_target") != -1)
targ = fileFixify(targ, Option::output_dir, Option::output_dir);
if(project->isEmpty("QMAKE_NOFORCE") &&
project->values((*it) + ".CONFIG").indexOf("phony") != -1)
deps += QString(" ") + "FORCE";
if (project->values((*it) + ".CONFIG").indexOf("phony") != -1)
deps += QLatin1String(" FORCE");
t << escapeDependencyPath(targ) << ":" << deps;
if(!cmd.isEmpty())
t << "\n\t" << cmd;
@ -2115,8 +2103,7 @@ MakefileGenerator::writeStubMakefile(QTextStream &t)
t << "first all clean install distclean uninstall: " << "qmake" << endl
<< "qmake_all:" << endl;
writeMakeQmake(t);
if(project->isEmpty("QMAKE_NOFORCE"))
t << "FORCE:" << endl << endl;
t << "FORCE:" << endl << endl;
return true;
}
@ -2130,8 +2117,7 @@ MakefileGenerator::writeMakefile(QTextStream &t)
t << "####### Install" << endl << endl;
writeInstalls(t, "INSTALLS");
if(project->isEmpty("QMAKE_NOFORCE"))
t << "FORCE:" << endl << endl;
t << "FORCE:" << endl << endl;
return true;
}
@ -2338,17 +2324,15 @@ MakefileGenerator::writeSubDirs(QTextStream &t)
}
void MakefileGenerator::writeSubMakeCall(QTextStream &t, const QString &callPrefix,
const QString &makeArguments, const QString &callPostfix)
const QString &makeArguments)
{
t << callPrefix
<< "$(MAKE)" << makeArguments
<< callPostfix << endl;
t << callPrefix << "$(MAKE)" << makeArguments << endl;
}
void
MakefileGenerator::writeSubTargetCall(QTextStream &t,
const QString &in_directory, const QString &in, const QString &out_directory, const QString &out,
const QString &out_directory_cdin, const QString &makefilein, const QString &out_directory_cdout)
const QString &out_directory_cdin, const QString &makefilein)
{
QString pfx;
if (!in.isEmpty()) {
@ -2358,7 +2342,7 @@ MakefileGenerator::writeSubTargetCall(QTextStream &t,
+ "$(QMAKE) " + in + buildArgs(in_directory) + " -o " + out
+ " ) && ";
}
writeSubMakeCall(t, out_directory_cdin + pfx, makefilein, out_directory_cdout);
writeSubMakeCall(t, out_directory_cdin + pfx, makefilein);
}
void
@ -2419,30 +2403,8 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
if(!abs_source_path.isEmpty() && out_directory.startsWith(abs_source_path))
out_directory = Option::output_dir + out_directory.mid(abs_source_path.length());
#define MAKE_CD_IN_AND_OUT(directory) \
if(!directory.isEmpty()) { \
if(project->isActiveConfig("cd_change_global")) { \
directory ## _cdin = "\n\tcd " + directory + "\n\t"; \
QDir pwd(Option::output_dir); \
QStringList in = directory.split(Option::dir_sep), out; \
for(int i = 0; i < in.size(); i++) { \
if(in.at(i) == "..") \
out.prepend(fileInfo(pwd.path()).fileName()); \
else if(in.at(i) != ".") \
out.prepend(".."); \
pwd.cd(in.at(i)); \
} \
directory ## _cdout = "\n\t@cd " + out.join(Option::dir_sep); \
} else { \
directory ## _cdin = "\n\tcd " + directory + " && "; \
} \
} else { \
directory ## _cdin = "\n\t"; \
}
QString out_directory_cdin, out_directory_cdout;
MAKE_CD_IN_AND_OUT(out_directory);
QString out_directory_cdin = out_directory.isEmpty() ? "\n\t"
: "\n\tcd " + out_directory + " && ";
QString makefilein = " -f " + subtarget->makefile;
//qmake it
@ -2461,19 +2423,14 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
if (!subtarget->depends.isEmpty())
t << valGlue(subtarget->depends, QString(), "-qmake_all ", "-qmake_all");
}
if(project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
t << "\n\t";
t << " FORCE\n\t";
if(!in_directory.isEmpty()) {
t << mkdir_p_asstring(out_directory)
<< out_directory_cdin
<< "$(QMAKE) " << in << buildArgs(in_directory) << " -o " << out
<< out_directory_cdout;
} else {
t << "$(QMAKE) " << in << buildArgs(in_directory) << " -o " << out;
<< out_directory_cdin;
}
t << "$(QMAKE) " << in << buildArgs(in_directory) << " -o " << out;
if (!dont_recurse)
writeSubMakeCall(t, out_directory_cdin, makefilein + " qmake_all", out_directory_cdout);
writeSubMakeCall(t, out_directory_cdin, makefilein + " qmake_all");
else
t << endl;
}
@ -2482,10 +2439,9 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
t << subtarget->target << ":";
if(!subtarget->depends.isEmpty())
t << " " << valList(subtarget->depends);
if(project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
t << " FORCE";
writeSubTargetCall(t, in_directory, in, out_directory, out,
out_directory_cdin, makefilein, out_directory_cdout);
out_directory_cdin, makefilein);
}
for(int suffix = 0; suffix < targetSuffixes.size(); ++suffix) {
@ -2501,19 +2457,17 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
t << subtarget->target << "-" << targetSuffixes.at(suffix) << "-ordered:";
if(target)
t << " " << targets.at(target-1)->target << "-" << targetSuffixes.at(suffix) << "-ordered ";
if(project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
t << " FORCE";
writeSubTargetCall(t, in_directory, in, out_directory, out,
out_directory_cdin, makefilein + " " + s, out_directory_cdout);
out_directory_cdin, makefilein + " " + s);
}
t << subtarget->target << "-" << targetSuffixes.at(suffix) << ":";
if(!subtarget->depends.isEmpty())
t << " " << valGlue(subtarget->depends, QString(), "-" + targetSuffixes.at(suffix) + " ",
"-"+targetSuffixes.at(suffix));
if(project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
t << " FORCE";
writeSubTargetCall(t, in_directory, in, out_directory, out,
out_directory_cdin, makefilein + " " + s, out_directory_cdout);
out_directory_cdin, makefilein + " " + s);
}
}
t << endl;
@ -2528,11 +2482,7 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
t << " " << (*it)->target << "-" << "qmake_all";
}
}
if(project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
if(project->isActiveConfig("no_empty_targets"))
t << "\n\t" << "@cd .";
t << endl << endl;
t << " FORCE" << endl << endl;
}
for(int s = 0; s < targetSuffixes.size(); ++s) {
@ -2560,9 +2510,7 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
t << varGlue("ALL_DEPS"," "," ","");
if(suffix == "clean")
t << varGlue("CLEAN_DEPS"," "," ","");
if(project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
t << endl;
t << " FORCE" << endl;
if(suffix == "clean") {
t << fileVarGlue("QMAKE_CLEAN", "\t-$(DEL_FILE) ", "\n\t-$(DEL_FILE) ", "\n");
} else if(suffix == "distclean") {
@ -2570,8 +2518,6 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
if(!ofile.isEmpty())
t << "\t-$(DEL_FILE) " << ofile << endl;
t << fileVarGlue("QMAKE_DISTCLEAN", "\t-$(DEL_FILE) ", " ", "\n");
} else if(project->isActiveConfig("no_empty_targets")) {
t << "\t" << "@cd ." << endl;
}
}
@ -2613,9 +2559,8 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
if(!recurse.contains(subtarget->name))
continue;
QString out_directory_cdin, out_directory_cdout;
MAKE_CD_IN_AND_OUT(out_directory);
QString out_directory_cdin = out_directory.isEmpty() ? "\n\t"
: "\n\tcd " + out_directory + " && ";
QString makefilein = " -f " + subtarget->makefile;
QString out;
@ -2648,11 +2593,10 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
//write the commands
writeSubTargetCall(t, in_directory, in, out_directory, out,
out_directory_cdin, makefilein + " " + sub_targ, out_directory_cdout);
out_directory_cdin, makefilein + " " + sub_targ);
}
}
if(project->isEmpty("QMAKE_NOFORCE") &&
project->values((*qut_it) + ".CONFIG").indexOf("phony") != -1)
if (project->values((*qut_it) + ".CONFIG").indexOf("phony") != -1)
deps += " FORCE";
t << targ << ":" << deps << "\n";
if(!cmd.isEmpty())
@ -2664,9 +2608,7 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
project->values("UNINSTALLDEPS") += "uninstall_subtargets";
writeInstalls(t, "INSTALLS", true);
}
if(project->isEmpty("QMAKE_NOFORCE"))
t << "FORCE:" << endl << endl;
t << "FORCE:" << endl << endl;
}
void
@ -2704,18 +2646,9 @@ MakefileGenerator::writeMakeQmake(QTextStream &t, bool noDummyQmakeAll)
}
}
if(project->first("QMAKE_ORIG_TARGET") != "qmake") {
t << "qmake:";
if(project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
t << "\n\t" << "@" << qmake << endl << endl;
if (!noDummyQmakeAll) {
t << "qmake_all:";
if (project->isEmpty("QMAKE_NOFORCE"))
t << " FORCE";
if (project->isActiveConfig("no_empty_targets"))
t << "\n\t" << "@cd .";
t << endl << endl;
}
t << "qmake: FORCE\n\t@" << qmake << endl << endl;
if (!noDummyQmakeAll)
t << "qmake_all: FORCE" << endl << endl;
}
}
}

View File

@ -132,9 +132,9 @@ protected:
QList<MakefileGenerator::SubTarget*> findSubDirsSubTargets() const;
void writeSubTargetCall(QTextStream &t,
const QString &in_directory, const QString &in, const QString &out_directory, const QString &out,
const QString &out_directory_cdin, const QString &makefilein, const QString &out_directory_cdout);
const QString &out_directory_cdin, const QString &makefilein);
virtual void writeSubMakeCall(QTextStream &t, const QString &outDirectory_cdin,
const QString &makeFileIn, const QString &outDirectory_cdout);
const QString &makeFileIn);
void writeSubTargets(QTextStream &t, QList<SubTarget*> subtargets, int flags);
//extra compiler interface

View File

@ -422,7 +422,6 @@ QT_BEGIN_INCLUDE_NAMESPACE
#include "projectgenerator.h"
#include "pbuilder_pbx.h"
#include "msvc_nmake.h"
#include "borland_bmake.h"
#include "msvc_vcproj.h"
#include "msvc_vcxproj.h"
#include "gbuild.h"
@ -461,8 +460,6 @@ MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)
mkfile = new VcxprojGenerator;
else
mkfile = new NmakeMakefileGenerator;
} else if(gen == "BMAKE") {
mkfile = new BorlandMakefileGenerator;
} else if(gen == "GBUILD") {
mkfile = new GBuildMakefileGenerator;
} else {
@ -496,5 +493,4 @@ MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &na
#endif // QT_QMAKE_PARSER_ONLY
QT_END_NAMESPACE

View File

@ -90,8 +90,7 @@ UnixMakefileGenerator::writeMakefile(QTextStream &t)
<< var("QMAKE_FAILED_REQUIREMENTS") << ") are not available.\"" << "\n\t"
<< "@echo \"Skipped.\"" << endl << endl;
writeMakeQmake(t);
if(project->isEmpty("QMAKE_NOFORCE"))
t << "FORCE:" << endl << endl;
t << "FORCE:" << endl << endl;
return true;
}

View File

@ -1,182 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/
**
** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include "borland_bmake.h"
#include "option.h"
#include <qdir.h>
#include <qregexp.h>
#include <time.h>
QT_BEGIN_NAMESPACE
BorlandMakefileGenerator::BorlandMakefileGenerator() : Win32MakefileGenerator(), init_flag(false)
{
}
bool
BorlandMakefileGenerator::writeMakefile(QTextStream &t)
{
writeHeader(t);
if(!project->values("QMAKE_FAILED_REQUIREMENTS").isEmpty()) {
const QStringList &qut = project->values("QMAKE_EXTRA_TARGETS");
for(QStringList::ConstIterator it = qut.begin(); it != qut.end(); ++it)
t << *it << " ";
t << "all first clean:" << "\n\t"
<< "@echo \"Some of the required modules ("
<< var("QMAKE_FAILED_REQUIREMENTS") << ") are not available.\"" << "\n\t"
<< "@echo \"Skipped.\"" << endl << endl;
return true;
}
if(project->first("TEMPLATE") == "app" ||
project->first("TEMPLATE") == "lib" ||
project->first("TEMPLATE") == "aux") {
writeBorlandParts(t);
return MakefileGenerator::writeMakefile(t);
}
else if(project->first("TEMPLATE") == "subdirs") {
writeSubDirs(t);
return true;
}
return false;
}
void
BorlandMakefileGenerator::writeBorlandParts(QTextStream &t)
{
t << "!if !$d(BCB)" << endl;
t << "BCB = $(MAKEDIR)\\.." << endl;
t << "!endif" << endl << endl;
writeStandardParts(t);
}
void
BorlandMakefileGenerator::init()
{
if(init_flag)
return;
init_flag = true;
/* this should probably not be here, but I'm using it to wrap the .t files */
if (project->first("TEMPLATE") == "app") {
project->values("QMAKE_APP_FLAG").append("1");
} else if(project->first("TEMPLATE") == "lib"){
project->values("QMAKE_LIB_FLAG").append("1");
} else if(project->first("TEMPLATE") == "subdirs") {
MakefileGenerator::init();
if(project->isEmpty("QMAKE_COPY_FILE"))
project->values("QMAKE_COPY_FILE").append("$(COPY)");
if(project->isEmpty("QMAKE_COPY_DIR"))
project->values("QMAKE_COPY_DIR").append("xcopy /s /q /y /i");
if(project->isEmpty("QMAKE_INSTALL_FILE"))
project->values("QMAKE_INSTALL_FILE").append("$(COPY_FILE)");
if(project->isEmpty("QMAKE_INSTALL_PROGRAM"))
project->values("QMAKE_INSTALL_PROGRAM").append("$(COPY_FILE)");
if(project->isEmpty("QMAKE_INSTALL_DIR"))
project->values("QMAKE_INSTALL_DIR").append("$(COPY_DIR)");
if(project->values("MAKEFILE").isEmpty())
project->values("MAKEFILE").append("Makefile");
return;
}
processVars();
project->values("QMAKE_LIBS") += project->values("LIBS");
MakefileGenerator::init();
if (project->isActiveConfig("dll") || !project->values("QMAKE_APP_FLAG").isEmpty()) {
// bcc does not generate a .tds file for static libs
QString tdsPostfix;
if (!project->values("VERSION").isEmpty())
tdsPostfix = project->first("TARGET_VERSION_EXT");
tdsPostfix += ".tds";
project->values("QMAKE_CLEAN").append(project->first("DESTDIR") + project->first("TARGET") + tdsPostfix);
}
}
void BorlandMakefileGenerator::writeBuildRulesPart(QTextStream &t)
{
if (project->first("TEMPLATE") == "aux") {
t << "first:" << endl;
t << "all:" << endl;
return;
}
t << "first: all" << endl;
t << "all: " << fileFixify(Option::output.fileName()) << " " << varGlue("ALL_DEPS"," "," "," ") << " $(DESTDIR_TARGET)" << endl << endl;
t << "$(DESTDIR_TARGET): " << var("PRE_TARGETDEPS") << " $(OBJECTS) " << var("POST_TARGETDEPS");
if(!project->isEmpty("QMAKE_PRE_LINK"))
t << "\n\t" <<var("QMAKE_PRE_LINK");
if(project->isActiveConfig("staticlib")) {
t << "\n\t-$(DEL_FILE) $(DESTDIR_TARGET)"
<< "\n\t" << "$(LIB) $(DESTDIR_TARGET) @&&|" << " \n+"
<< project->values("OBJECTS").join(" \\\n+") << " \\\n+"
<< project->values("OBJMOC").join(" \\\n+");
} else {
t << "\n\t" << "$(LINK) @&&|" << "\n\t"
<< "$(LFLAGS) $(OBJECTS) $(OBJMOC),$(DESTDIR_TARGET),,$(LIBS),$(DEF_FILE),$(RES_FILE)";
}
t << endl << "|";
if(!project->isEmpty("QMAKE_POST_LINK"))
t << "\n\t" <<var("QMAKE_POST_LINK");
t << endl;
}
void BorlandMakefileGenerator::writeCleanParts(QTextStream &t)
{
t << "clean: "
<< varGlue("OBJECTS","\n\t-$(DEL_FILE) ","\n\t-$(DEL_FILE) ","")
<< varGlue("QMAKE_CLEAN","\n\t-$(DEL_FILE) ","\n\t-$(DEL_FILE) ","\n")
<< varGlue("CLEAN_FILES","\n\t-$(DEL_FILE) ","\n\t-$(DEL_FILE) ","\n");
if(!project->isEmpty("IMAGES"))
t << varGlue("QMAKE_IMAGE_COLLECTION", "\n\t-$(DEL_FILE) ", "\n\t-$(DEL_FILE) ", "");
t << endl;
t << "distclean: clean"
<< "\n\t-$(DEL_FILE) $(DESTDIR_TARGET)"
<< endl << endl;
}
QT_END_NAMESPACE

View File

@ -1,68 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/
**
** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef BORLAND_BMAKE_H
#define BORLAND_BMAKE_H
#include "winmakefile.h"
QT_BEGIN_NAMESPACE
class BorlandMakefileGenerator : public Win32MakefileGenerator
{
bool init_flag;
void writeBorlandParts(QTextStream &);
void writeBuildRulesPart(QTextStream &t);
void writeCleanParts(QTextStream &t);
bool writeMakefile(QTextStream &);
void init();
public:
BorlandMakefileGenerator();
~BorlandMakefileGenerator();
};
inline BorlandMakefileGenerator::~BorlandMakefileGenerator()
{ }
QT_END_NAMESPACE
#endif // BORLAND_BMAKE_H

View File

@ -135,8 +135,7 @@ bool MingwMakefileGenerator::writeMakefile(QTextStream &t)
t << "first all clean install distclean uninstall: qmake" << endl
<< "qmake_all:" << endl;
writeMakeQmake(t);
if(project->isEmpty("QMAKE_NOFORCE"))
t << "FORCE:" << endl << endl;
t << "FORCE:" << endl << endl;
return true;
}
writeMingwParts(t);

View File

@ -110,12 +110,12 @@ NmakeMakefileGenerator::writeMakefile(QTextStream &t)
}
void NmakeMakefileGenerator::writeSubMakeCall(QTextStream &t, const QString &callPrefix,
const QString &makeArguments, const QString &callPostfix)
const QString &makeArguments)
{
// Pass MAKEFLAGS as environment variable to sub-make calls.
// Unlike other make tools nmake doesn't do this automatically.
t << "\n\t@set MAKEFLAGS=$(MAKEFLAGS)";
Win32MakefileGenerator::writeSubMakeCall(t, callPrefix, makeArguments, callPostfix);
Win32MakefileGenerator::writeSubMakeCall(t, callPrefix, makeArguments);
}
QString NmakeMakefileGenerator::getPdbTarget()

View File

@ -57,7 +57,7 @@ class NmakeMakefileGenerator : public Win32MakefileGenerator
protected:
virtual void writeSubMakeCall(QTextStream &t, const QString &callPrefix,
const QString &makeArguments, const QString &callPostfix);
const QString &makeArguments);
virtual QString getPdbTarget();
virtual QString defaultInstall(const QString &t);
virtual QStringList &findDependencies(const QString &file);

View File

@ -57,11 +57,6 @@
QT_BEGIN_NAMESPACE
// for Borland, main is defined to qMain which breaks qmake
#undef main
#ifdef Q_OS_MAC
#endif
/* This is to work around lame implementation on Darwin. It has been noted that the getpwd(3) function
is much too slow, and called much too often inside of Qt (every fileFixify). With this we use a locally
cached copy because I can control all the times it is set (because Qt never sets the pwd under me).

View File

@ -9,7 +9,7 @@ SOURCES += project.cpp property.cpp main.cpp generators/makefile.cpp \
generators/unix/unixmake2.cpp generators/unix/unixmake.cpp meta.cpp \
option.cpp generators/win32/winmakefile.cpp generators/win32/mingw_make.cpp \
generators/makefiledeps.cpp generators/metamakefile.cpp generators/mac/pbuilder_pbx.cpp \
generators/xmloutput.cpp generators/win32/borland_bmake.cpp \
generators/xmloutput.cpp \
generators/win32/msvc_nmake.cpp generators/projectgenerator.cpp \
generators/win32/msvc_vcproj.cpp \
generators/win32/msvc_vcxproj.cpp \
@ -21,7 +21,7 @@ HEADERS += project.h property.h generators/makefile.h \
generators/unix/unixmake.h meta.h option.h cachekeys.h \
generators/win32/winmakefile.h generators/win32/mingw_make.h generators/projectgenerator.h \
generators/makefiledeps.h generators/metamakefile.h generators/mac/pbuilder_pbx.h \
generators/xmloutput.h generators/win32/borland_bmake.h generators/win32/msvc_nmake.h \
generators/xmloutput.h generators/win32/msvc_nmake.h \
generators/win32/msvc_vcproj.h \
generators/win32/msvc_vcxproj.h \
generators/win32/msvc_objectmodel.h generators/win32/msbuild_objectmodel.h \