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:
parent
a992a12bec
commit
44a7330d67
@ -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) $<
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
@ -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
|
@ -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);
|
||||
|
@ -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()
|
||||
|
@ -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);
|
||||
|
@ -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).
|
||||
|
@ -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 \
|
||||
|
Loading…
x
Reference in New Issue
Block a user