#include "helper.h" #include "c.h" #include "ld.h" #include "tier1/utlstring.h" CUtlVector engine_CompiledFiles = { "engine/engine.cpp", "engine/cvar.cpp", "engine/filesystem_pak.cpp", "engine/gamewindow_sdl.cpp", "engine/sv_dll.cpp", "engine/cl_dll.cpp", }; CUtlVector engine_Libraries = { "c", "SDL3", }; DECLARE_BUILD_STAGE(engine) { CProject_t compileProject = {}; LinkProject_t ldProject = {}; compileProject.m_szName = "engine"; compileProject.files = engine_CompiledFiles; compileProject.includeDirectories = {"public"}; compileProject.bFPIC = true; ldProject = ccompiler->Compile(&compileProject); /* if (bStaticBuild) ldProject.linkType = ELINK_STATIC_LIBRARY; else { ldProject.objects.AppendTail((Object_t){tier1_lib}); ldProject.objects.AppendTail((Object_t){tier2_lib}); ldProject.objects.AppendTail((Object_t){rapier_lib}); ldProject.objects.AppendTail((Object_t){material_lib}); if (bSteam) ldProject.objects.AppendTail((Object_t){steam_lib}); } */ ldProject.linkType = ELINK_DYNAMIC_LIBRARY; ldProject.libraries = engine_Libraries; CUtlString szOutputDir = linker->Link(&ldProject); /* if (!bStaticBuild) { */ filesystem2->MakeDirectory(CUtlString("%s/bin",szOutputDir.GetString())); filesystem2->CopyFile(CUtlString("%s/bin", szOutputDir.GetString()), szOutputDir); /* } else { engine_lib = outputProject; } */ return 0; };