Eneboo - Documentación para desarrolladores
src/qt/qmake/generators/unix/unixmake.h
Ir a la documentación de este archivo.
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__ */
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'