Eneboo - Documentación para desarrolladores
|
00001 /**************************************************************************** 00002 ** $Id: qt/unixmake.h 3.3.8 edited Jan 11 14:37 $ 00003 ** 00004 ** Definition of UnixMakefileGenerator class. 00005 ** 00006 ** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved. 00007 ** 00008 ** This file is part of qmake. 00009 ** 00010 ** This file may be distributed under the terms of the Q Public License 00011 ** as defined by Trolltech ASA of Norway and appearing in the file 00012 ** LICENSE.QPL included in the packaging of this file. 00013 ** 00014 ** This file may be distributed and/or modified under the terms of the 00015 ** GNU General Public License version 2 as published by the Free Software 00016 ** Foundation and appearing in the file LICENSE.GPL included in the 00017 ** packaging of this file. 00018 ** 00019 ** Licensees holding valid Qt Enterprise Edition licenses may use this 00020 ** file in accordance with the Qt Commercial License Agreement provided 00021 ** with the Software. 00022 ** 00023 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00024 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00025 ** 00026 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 00027 ** information about Qt Commercial License Agreements. 00028 ** See http://www.trolltech.com/qpl/ for QPL licensing information. 00029 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00030 ** 00031 ** Contact info@trolltech.com if any conditions of this licensing are 00032 ** not clear to you. 00033 ** 00034 **********************************************************************/ 00035 00036 #ifndef __UNIXMAKE_H__ 00037 #define __UNIXMAKE_H__ 00038 00039 #include "makefile.h" 00040 00041 class UnixMakefileGenerator : public MakefileGenerator 00042 { 00043 bool init_flag, include_deps; 00044 bool writeMakefile(QTextStream &); 00045 void writeExtraVariables(QTextStream &); 00046 QString libtoolFileName(); 00047 void writeLibtoolFile(); // for libtool 00048 QString pkgConfigPrefix() const; 00049 QString pkgConfigFileName(); 00050 QString pkgConfigFixPath(QString) const; 00051 void writePkgConfigFile(); // for pkg-config 00052 QStringList combineSetLFlags(const QStringList &list1, const QStringList &list2); 00053 void writePrlFile(QTextStream &); 00054 00055 public: 00056 UnixMakefileGenerator(QMakeProject *p); 00057 ~UnixMakefileGenerator(); 00058 00059 protected: 00060 virtual bool doPrecompiledHeaders() const { return project->isActiveConfig("precompile_header"); } 00061 virtual bool doDepends() const { return !include_deps && MakefileGenerator::doDepends(); } 00062 virtual QString defaultInstall(const QString &); 00063 virtual void processPrlVariable(const QString &, const QStringList &); 00064 virtual void processPrlFiles(); 00065 00066 virtual bool findLibraries(); 00067 virtual QString findDependency(const QString &); 00068 virtual QStringList &findDependencies(const QString &); 00069 virtual void init(); 00070 00071 void writeMakeParts(QTextStream &); 00072 void writeSubdirs(QTextStream &, bool=TRUE); 00073 00074 private: 00075 void init2(); 00076 }; 00077 00078 inline UnixMakefileGenerator::~UnixMakefileGenerator() 00079 { } 00080 00081 00082 #endif /* __UNIXMAKE_H__ */