#include "helper.h" #include "c.h" #include "ld.h" #include "tier1/utlstring.h" #include "tier1/commandline.h" CUtlVector tier0_CompiledFiles = { "tier0/lib.cpp", "tier0/mem.cpp", "tier0/platform.cpp", "tier0/network.cpp", }; DECLARE_BUILD_STAGE(tier0) { CProject_t compileProject = {}; LinkProject_t ldProject = {}; CUtlString szOutputProject = ""; compileProject.m_szName = "tier0"; compileProject.files = tier0_CompiledFiles; compileProject.includeDirectories = all_IncludeDirectories; compileProject.bFPIC = true; ldProject = ccompiler->Compile(&compileProject); if (bStaticBuild) { ldProject.linkType = ELINK_STATIC_LIBRARY; szOutputProject = linker->Link(&ldProject); tier0_lib = szOutputProject; } else { ldProject.linkType = ELINK_DYNAMIC_LIBRARY; szOutputProject = linker->Link(&ldProject); filesystem2->MakeDirectory(CUtlString("%s/bin",szOutputDir.GetString())); filesystem2->CopyFile(CUtlString("%s/bin", szOutputDir.GetString()), szOutputProject); ldProject.linkType = ELINK_STATIC_LIBRARY; szOutputProject = linker->Link(&ldProject); tier0_lib = szOutputProject; } return 0; };