diff options
Diffstat (limited to 'utils/depcheck/depcheck.cpp')
| -rw-r--r-- | utils/depcheck/depcheck.cpp | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/utils/depcheck/depcheck.cpp b/utils/depcheck/depcheck.cpp new file mode 100644 index 0000000..9711ee5 --- /dev/null +++ b/utils/depcheck/depcheck.cpp @@ -0,0 +1,122 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// +#include <stdio.h> +#include <windows.h> +#include "depcheck_util.h" +#include "icodeprocessor.h" +#include "tier1/strtools.h" + +char *va(char *format, ...) +{ + va_list argptr; + static char string[1024]; + + va_start (argptr, format); + Q_vsnprintf( string, 1024, format, argptr ); + va_end (argptr); + + return string; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void printusage( void ) +{ + vprint( 0, "usage: depcheck -q -l <root source directory> <game: hl2 | tf2>\n\ + \t-q = quiet\n\ + \t-l = log to file log.txt\n" ); + + // Exit app + exit( 1 ); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *sourcetreebase - +// *subdir - +// *baseentityclass - +//----------------------------------------------------------------------------- +void ProcessDirectory( const char *game, const char *sourcetreebase, const char *subdir, const char *dsp, const char *config ) +{ + char rootdirectory[ 256 ]; + sprintf( rootdirectory, "%s\\%s", sourcetreebase, subdir ); + + // check for existence + if ( COM_DirectoryExists( rootdirectory ) ) + { + processor->Process( game, rootdirectory, dsp, config ); + } + else + { + vprint( 0, "Couldn't find directory %s, check path %s\n", rootdirectory, sourcetreebase ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CheckLogFile( void ) +{ + if ( processor->GetLogFile() ) + { + _unlink( "log.txt" ); + vprint( 0, " Outputting to log.txt\n" ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : argc - +// argv[] - +// Output : int +//----------------------------------------------------------------------------- +int main( int argc, char* argv[] ) +{ + vprint( 0, "Valve Software - depcheck.exe (%s)\n", __DATE__ ); + vprint( 0, "--- Game Code Simple Build Dependency Analyzer ---\n" ); + + int i=1; + for ( i ; i<argc ; i++) + { + if ( argv[ i ][ 0 ] == '-' ) + { + switch( argv[ i ][ 1 ] ) + { + case 'q': + processor->SetQuiet( true ); + break; + case 'l': + processor->SetLogFile( true ); + break; + default: + printusage(); + break; + } + } + } + + if ( argc < 3 || ( i != argc ) ) + { + printusage(); + } + + CheckLogFile(); + + vprint( 0, " Looking for unneeded header includes...\n" ); + + char sourcetreebase[ 256 ]; + strcpy( sourcetreebase, argv[i-2] ); + + Q_StripTrailingSlash( sourcetreebase ); + +// ProcessDirectory( argv[ i-1 ], sourcetreebase, "engine", "engdll.dsp", "quiver - Win32 GL Debug" ); +// ProcessDirectory( argv[ i-1 ], sourcetreebase, "dlls", "hl.dsp", va( "hl - Win32 %s Debug", argv[ i - 1 ] ) ); + ProcessDirectory( argv[ i-1 ], sourcetreebase, "cl_dll", "client.dsp", va( "client - Win32 Debug %s", argv[ i - 1 ] ) ); + + return 0; +} |