summaryrefslogtreecommitdiff
path: root/utils/vprojtomake/makefilecreator.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/vprojtomake/makefilecreator.h')
-rw-r--r--utils/vprojtomake/makefilecreator.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/utils/vprojtomake/makefilecreator.h b/utils/vprojtomake/makefilecreator.h
new file mode 100644
index 0000000..4604fac
--- /dev/null
+++ b/utils/vprojtomake/makefilecreator.h
@@ -0,0 +1,63 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+#ifndef MAKEFILECREATOR_H
+#define MAKEFILECREATOR_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+
+#include "utlvector.h"
+#include "utlsymbol.h"
+#include "utldict.h"
+#include "utlmap.h"
+#include "vcprojconvert.h"
+#include "filesystem.h"
+
+class CMakefileCreator
+{
+public:
+
+ CMakefileCreator();
+ ~CMakefileCreator();
+
+ void CreateMakefiles( CVCProjConvert & proj );
+
+private:
+ void CleanupFileName( char *name );
+ void OutputDirs( FileHandle_t f );
+ void OutputBuildTarget( FileHandle_t f );
+ void OutputObjLists( CVCProjConvert::CConfiguration & config, FileHandle_t f );
+ void OutputIncludes( CVCProjConvert::CConfiguration & config, FileHandle_t f );
+ void OutputMainBuilder( FileHandle_t f );
+
+ void CreateBaseDirs( CVCProjConvert::CConfiguration & config );
+ void CreateMakefileName( const char *projectName, CVCProjConvert::CConfiguration & config );
+ void CreateDirectoryFriendlyName( const char *dirName, char *friendlyDirName, int friendlyDirNameSize );
+ void CreateObjDirectoryFriendlyName ( char *name );
+ void FileWrite( FileHandle_t f, PRINTF_FORMAT_STRING const char *fmt, ... );
+
+
+ CUtlDict<CUtlSymbol, int> m_BaseDirs;
+ CUtlMap<int, int> m_FileToBaseDirMapping;
+
+ struct OutputDirMapping_t
+ {
+ CUtlSymbol m_SrcDir;
+ CUtlSymbol m_ObjDir;
+ CUtlSymbol m_ObjName;
+ CUtlSymbol m_ObjOutputDir;
+ int m_iBaseDirIndex;
+ };
+
+ CUtlVector<struct OutputDirMapping_t> m_BuildDirectories;
+ CUtlSymbol m_MakefileName;
+ CUtlSymbol m_ProjName;
+ CUtlSymbol m_BaseDir;
+};
+
+#endif // MAKEFILECREATOR_H