source: trunk/qmake/generators/unix/unixmake.h

Last change on this file was 2, checked in by dmik, 20 years ago

Imported xplatform parts of the official release 3.3.1 from Trolltech

  • Property svn:keywords set to Id
File size: 2.9 KB
Line 
1/****************************************************************************
2** $Id: unixmake.h 2 2005-11-16 15:49:26Z dmik $
3**
4** Definition of UnixMakefileGenerator class.
5**
6** Copyright (C) 1992-2003 Trolltech AS. All rights reserved.
7**
8** This file is part of qmake.
9**
10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file.
13**
14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file.
18**
19** Licensees holding valid Qt Enterprise Edition licenses may use this
20** file in accordance with the Qt Commercial License Agreement provided
21** with the Software.
22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30**
31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you.
33**
34**********************************************************************/
35
36#ifndef __UNIXMAKE_H__
37#define __UNIXMAKE_H__
38
39#include "makefile.h"
40
41class UnixMakefileGenerator : public MakefileGenerator
42{
43 bool init_flag, include_deps;
44 bool writeMakefile(QTextStream &);
45 void writeExtraVariables(QTextStream &);
46 QString libtoolFileName();
47 void writeLibtoolFile(); // for libtool
48 QString pkgConfigPrefix() const;
49 QString pkgConfigFileName();
50 QString pkgConfigFixPath(QString) const;
51 void writePkgConfigFile(); // for pkg-config
52 QStringList combineSetLFlags(const QStringList &list1, const QStringList &list2);
53 void writePrlFile(QTextStream &);
54
55public:
56 UnixMakefileGenerator(QMakeProject *p);
57 ~UnixMakefileGenerator();
58
59protected:
60 virtual bool doPrecompiledHeaders() const { return project->isActiveConfig("precompile_header"); }
61 virtual bool doDepends() const { return !include_deps && MakefileGenerator::doDepends(); }
62 virtual QString defaultInstall(const QString &);
63 virtual void processPrlVariable(const QString &, const QStringList &);
64 virtual void processPrlFiles();
65
66 virtual bool findLibraries();
67 virtual QString findDependency(const QString &);
68 virtual QStringList &findDependencies(const QString &);
69 virtual void init();
70
71 void writeMakeParts(QTextStream &);
72 void writeSubdirs(QTextStream &, bool=TRUE);
73
74private:
75 void init2();
76};
77
78inline UnixMakefileGenerator::~UnixMakefileGenerator()
79{ }
80
81
82#endif /* __UNIXMAKE_H__ */
Note: See TracBrowser for help on using the repository browser.