mirror of
https://github.com/gwdevhub/gMod.git
synced 2026-07-15 15:09:30 +00:00
199383dacb
- Added a new way of dll injection. The game is started through OTM, thus OTM inject the dll directly.
117 lines
3.5 KiB
Plaintext
117 lines
3.5 KiB
Plaintext
ifdef NO_INJECTION
|
|
|
|
ifdef ALPHA
|
|
precompiler_flag = /D "ALPHA" /D "NO_INJECTION"
|
|
else
|
|
precompiler_flag = /D "NO_INJECTION"
|
|
endif
|
|
|
|
def_file = /DEF:"OTM_DX9_dll_NO_INJECTION.def"
|
|
obj_suff = NO_INJECTION.obj
|
|
dll = d3d9.dll
|
|
|
|
else
|
|
|
|
ifdef DIRECT_INJECTION
|
|
ifdef ALPHA
|
|
precompiler_flag = /D "ALPHA" /D "DIRECT_INJECTION"
|
|
else
|
|
precompiler_flag = /D "DIRECT_INJECTION"
|
|
endif
|
|
|
|
def_file = /DEF:"OTM_DX9_dll_DIRECT_INJECTION.def"
|
|
obj_suff = DI.obj
|
|
dll = OTM_d3d9_DI.dll
|
|
|
|
else
|
|
|
|
ifdef ALPHA
|
|
precompiler_flag = /D "ALPHA" /D "HOOK_INJECTION"
|
|
else
|
|
precompiler_flag = /D "HOOK_INJECTION"
|
|
endif
|
|
|
|
def_file = /DEF:"OTM_DX9_dll_HOOK_INJECTION.def"
|
|
obj_suff = HOOK.obj
|
|
dll = OTM_d3d9_Hook.dll
|
|
endif
|
|
endif
|
|
|
|
|
|
CXX = cl
|
|
CLINK = link.exe
|
|
DEFINES = /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_WINDLL" /D "_MBCS"
|
|
CFLAGS = /I "C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include" /nologo /W3 /WX- /O2 ${DEFINES} ${precompiler_flag} /Gm- /EHsc /MT /GS /fp:precise /Zc:wchar_t
|
|
LFLAGS = /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86" /DLL "Winmm.lib" "d3dx9.lib" "dxguid.lib" "user32.lib" "Kernel32.lib" ${def_file} /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /TLBID:1 /DYNAMICBASE:NO /NXCOMPAT:NO /MACHINE:X86
|
|
|
|
obj = obj
|
|
bin = bin
|
|
|
|
objects = ${obj}\OTM_DX9_dll.${obj_suff} \
|
|
${obj}\OTM_IDirect3D9.${obj_suff} \
|
|
${obj}\OTM_IDirect3D9Ex.${obj_suff} \
|
|
${obj}\OTM_IDirect3DDevice9.${obj_suff} \
|
|
${obj}\OTM_IDirect3DDevice9Ex.${obj_suff} \
|
|
${obj}\OTM_TextureFunction.${obj_suff} \
|
|
${obj}\OTM_IDirect3DTexture9.${obj_suff} \
|
|
${obj}\OTM_IDirect3DVolumeTexture9.${obj_suff} \
|
|
${obj}\OTM_IDirect3DCubeTexture9.${obj_suff} \
|
|
${obj}\OTM_ArrayHandler.${obj_suff} \
|
|
${obj}\OTM_TextureClient.${obj_suff} \
|
|
${obj}\OTM_TextureServer.${obj_suff}
|
|
|
|
headers = OTM_Main.h \
|
|
OTM_Defines.h \
|
|
OTM_DX9_dll.h \
|
|
OTM_IDirect3D9.h \
|
|
OTM_IDirect3DDevice9.h \
|
|
OTM_TextureFunction.h \
|
|
OTM_IDirect3DTexture9.h \
|
|
OTM_IDirect3DVolumeTexture9.h \
|
|
OTM_IDirect3DCubeTexture9.h \
|
|
OTM_ArrayHandler.h \
|
|
OTM_TextureClient.h \
|
|
OTM_TextureServer.h
|
|
|
|
${bin}\d3d9.dll: ${objects}
|
|
${CLINK} ${LFLAGS} ${objects} /OUT:${bin}\${dll}
|
|
copy ${bin}\${dll} ..\OTM_GUI\bin\${dll}
|
|
|
|
${obj}\OTM_DX9_dll.${obj_suff}: OTM_DX9_dll.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
${obj}\OTM_IDirect3D9.${obj_suff}: OTM_IDirect3D9.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
${obj}\OTM_IDirect3D9Ex.${obj_suff}: OTM_IDirect3D9Ex.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
${obj}\OTM_IDirect3DDevice9.${obj_suff}: OTM_IDirect3DDevice9.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
${obj}\OTM_IDirect3DDevice9Ex.${obj_suff}: OTM_IDirect3DDevice9Ex.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
${obj}\OTM_TextureFunction.${obj_suff}: OTM_TextureFunction.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
${obj}\OTM_IDirect3DTexture9.${obj_suff}: OTM_IDirect3DTexture9.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
${obj}\OTM_IDirect3DVolumeTexture9.${obj_suff}: OTM_IDirect3DVolumeTexture9.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
${obj}\OTM_IDirect3DCubeTexture9.${obj_suff}: OTM_IDirect3DCubeTexture9.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
${obj}\OTM_ArrayHandler.${obj_suff}: OTM_ArrayHandler.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
${obj}\OTM_TextureClient.${obj_suff}: OTM_TextureClient.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
${obj}\OTM_TextureServer.${obj_suff}: OTM_TextureServer.cpp ${headers}
|
|
${CXX} ${CFLAGS} /c $< /Fo$@
|
|
|
|
clean:
|
|
del ${objects} ${bin}\${dll} |