1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef UNIXMAKE_H
5#define UNIXMAKE_H
6
7#include "makefile.h"
8
9QT_BEGIN_NAMESPACE
10
11class UnixMakefileGenerator : public MakefileGenerator
12{
13 bool include_deps = false;
14 QString libtoolFileName(bool fixify=true);
15 void writeLibtoolFile(); // for libtool
16 void writePrlFile(QTextStream &) override;
17
18protected:
19 virtual bool doPrecompiledHeaders() const { return project->isActiveConfig(config: "precompile_header"); }
20#ifdef Q_OS_WIN // MinGW x-compiling for QNX
21 QString installRoot() const override;
22#endif
23 QString defaultInstall(const QString &) override;
24 ProString fixLibFlag(const ProString &lib) override;
25
26 bool findLibraries(bool linkPrl, bool mergeLflags) override;
27 QString escapeFilePath(const QString &path) const override;
28 using MakefileGenerator::escapeFilePath;
29 QStringList &findDependencies(const QString &) override;
30 void init() override;
31
32 void writeDefaultVariables(QTextStream &t) override;
33 void writeSubTargets(QTextStream &t, QList<SubTarget*> subtargets, int flags) override;
34 void writeMakeParts(QTextStream &);
35 bool writeMakefile(QTextStream &) override;
36 bool writeObjectsPart(QTextStream &, bool do_incremental);
37private:
38 void init2();
39 ProStringList libdirToFlags(const ProKey &key);
40};
41
42QT_END_NAMESPACE
43
44#endif // UNIXMAKE_H
45

source code of qtbase/qmake/generators/unix/unixmake.h